Обновленные ветви после слияния одной ветви - PullRequest
0 голосов
/ 03 сентября 2010

Я использую SVN в качестве хранилища. У нас есть структура

Trunk
   Branch 1
   Branch 2
   .....

Раньше мы объединяли ветви в Trunk только после того, как функции реализованы и протестированы достаточно хорошо. Так что это будет стабильная рабочая реализация. Branch 1 имеет свои особенности и реализацию, так что Branch 2 ..

Теперь Branch 1 обладает определенными функциями, которые потребуются Branch 2 и наоборот. Итак, мы будем объединять эти ветви. Скажем, например, слияние Branch 2 -> Branch 1 ..

После разрешения конфликтов, теперь Branch 1 будет загружен всеми функциями Branch 2. Но для обновления Branch 2 теперь я копирую все объединенные файлы из Branch 1 и заменяю существующие файлы. Поскольку merge приведет к конфликтам, которые я уже разрешил для Branch 2 -> Branch 1 слияния ..

Является ли копирование единственным способом или существует какой-либо другой стандартный подход, доступный в самом SVN ??

Также привык к Tortoise SVN клиенту ..

Ответы [ 2 ]

1 голос
/ 06 октября 2010

Хорошо, так что branch1 и branch2 являются дочерними объектами транка (разветвленные, но, надеюсь, не находящиеся ВНУТРИ директории транка, как показано на диаграмме?)

Эти две ветви уникальны и отличаются друг от друга, потому что они не только имеют разные имена, но также и другой (новый) код / ​​изменения.

Теперь вы хотите, чтобы branch1 получил все изменения, которые получил branch2? И branch1 должен получить все изменения из branch2?

Вы должны решить: хотите ли вы продолжать отдельное развитие своих филиалов или вы хотите реинтегрировать проделанную работу? Вы не можете иметь и то и другое без вишни.

Если вы добьетесь успеха с тем, что вы попробовали, а также с тем, что в конце концов предложил khmarbaise, у вас будет несколько веток, которые имеют с одинаковым содержанием . Это то, что вы действительно хотите? Затем спуститесь в сундук и похороните свои ветви.

Если вам нужны только определенные функции из Branch1 и Branch2, вам следует их объединить (выберите ревизии, которые вы хотите вручную).

См. Отмена определенных ревизий в Subversion , например

0 голосов
/ 03 сентября 2010

Создайте новый IL ветви из транка, затем объедините ветвь-1 в IL, а затем объедините ветку-2 с IL и, наконец, объедините IL в транк ... Конфликты должны быть решены, и вы не должны копировать файлы, вызывать конфликтыПо шагам указывается, что есть некоторые части, которые должны быть согласованы.

...