реинтегрировать рабочий процесс - PullRequest
3 голосов
/ 05 января 2011

Привет экспертов,

Простой вопрос от меня, старого новичка в черепахе SVN.

Я работаю над веткой и теперь хочу объединить изменения в моей ветке (после коммита) с транком. Однако я не уверен в правильности рабочего процесса. Должен ли я сначала объединить транк с моей рабочей копией, после разрешения всех возможных конфликтов, а затем реинтегрировать мою ветку в транк? Поскольку большинство моих коллег все еще в отпуске, я не могу получить никаких советов по таким основам в моей команде.

Заранее большое спасибо,

Джон в Мюнхене

Ответы [ 3 ]

2 голосов
/ 05 января 2011

Да.

Не уверен, что еще добавить, учитывая, что вы все это сказали:)

Стоит отметить, что функция реинтеграции делает вашу ветку бесполезной для дальнейшего развития, поэтому она должна бытьпоследний шаг в истории, непосредственно перед удалением ветки, поэтому старайтесь избегать, пока не будете полностью уверены, что код готов к работе.Если вы не уверены, вы можете сделать регулярное слияние от ветви к стволу.Почему эта функция вообще существует, я никогда не мог понять;Я предполагаю, что это побочный эффект плохого отслеживания слияний в Subversion.

Я также предлагаю вам не выполнять все слияния сразу, а вместо этого попытаться разделить их на меньшие наборы и зафиксировать свою работу между слияниями.Если вы получаете конфликт слияния, вы не можете легко исправить, что вы хотите иметь возможность вернуться.

Обновление: Официальные Управление версиями с Subversion книги говорит это:

В Subversion 1.5 после выполнения слияния --reintegrate от ветви к стволу ветвь больше не используется для дальнейшей работы.Он не способен правильно поглощать новые изменения в багажнике и не может быть должным образом реинтегрирован в багажник снова.По этой причине, если вы хотите продолжить работу над веткой функций, мы рекомендуем удалить ее, а затем заново создать из ствола

http://svnbook.red -bean.com / nightly /ан / svn.branchmerge.basicmerging.html # svn.branchemerge.basicmerging.reintegrate

0 голосов
/ 05 января 2011

Да, это путь.

Поскольку у вас, вероятно, есть ветвь функций, то, что вам нужно сделать, описано в SVN redbook .

Перефразировать:

  1. Слияние trunk в вашу ветку
  2. Слияние вашей ветви в trunk с использованием параметра reintegrate
0 голосов
/ 05 января 2011

Сначала зафиксируйте изменения, которые вы внесли в вашу ветку, в svn.

Затем используйте функцию слияния (с конкретным номером ревизии) svn для слияния из вашей ветки в другую ветку (или основную / магистральную).Как только у вас есть объединенные изменения (все конфликты разрешены) в вашей локальной копии «другой ветви (main / trunk)», передайте эти изменения обратно в svn, и все готово.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...