Подтвердить что ты не робот

Реинтегрируйте ветку и объедините ряд изменений

В подрывной работе я сделал ветку, теперь я хочу объединить ее обратно в багажник. Какой вариант использовать?

Реинтегрируйте ветвь

или

объединить диапазон версий

Я использовал Merge ряд изменений, но я получал всевозможные ошибки конфликтов деревьев. Любая идея, какая разница между этими двумя?

4b9b3361

Ответ 1

При работе с веткой вы должны периодически объединять диапазоны ревизий от магистрали в ветку до синхронизировать ветвь. если вы не передадите номера версий в svn merge и ваша версия сервера svn равна 1,5 или новее, она будет отслеживать ранее выполненные слияния и автоматически слить только новые версии.

Когда ветка закончена, вы должны объединить изменения в нее в последний раз, затем снова включить ее обратно в соединительную линию.

Ответ 2

Вот шаги, которые я обычно выполняю для слияния.

1.

svn log -v --stop-on-copy http://mysvnrepo/mybranch

Это даст вам ревизию репо, когда вы впервые создали ветвь. Скажем, это AAAA.

2.

svn log -v -rAAAA: HEAD http://myrepo/trunk

Это даст вам изменения, сделанные в багажнике после того, как вы извлекли ветку. Это не существенно, но я использую это, чтобы понять, что я должен ожидать в настоящее время.

3.

В случае step2. сообщите об изменениях соединительных линий, перейдите в рабочую область ветки и запустите

svn merge --dry-run -rAAAA: HEAD http://myrepo/trunk.

Это сообщит обо всех изменениях, сделанных в trunk с тех пор, как вы разветвляетесь в mybranch - просмотрите и запустите команду без опции -dry-run для выполнения фактического слияния.

4.

Зафиксировать рабочее пространство ветвления после слияния с соответствующим комментарием. (например, "Объединенные изменения от версии транка с AAAA до XXXX" - где XXXX - текущая версия HEAD). Это вызывает HEAD, чтобы сказать версию YYYY.

5.

Далее в рабочей области соединительной линии введите

svn merge --dry-run -rAAAA: HEAD http://myrepo/branch.

Это должно сообщать об изменениях, произошедших в филиале после его создания до сих пор. Просмотрите отчет, чтобы проверить, что происходит слиянием/конфликтом и т.д., А затем выполните команду без опции -dry-run, чтобы фактически выполнить слияние.

6.

Разрешить конфликты, если они есть, вручную, запустить svn, чтобы сообщить репо, что все конфликты все разрешены, а затем выполнить коммит с соответствующим сообщением, например "Слияние с mybranch to trunk - изменения, включенные в ревизию AAAA через YYYY". Это помогает при следующем запуске журнала, а затем вы можете просто выполнить следующее слияние с YYYY на HEAD в этот момент.