2010-09-03 3 views
0

Я использую SVN в качестве хранилища. Мы имеем структуруОбновленные ветви после слияния одного филиала

Trunk 
    Branch 1 
    Branch 2 
    ..... 

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

Теперь Branch 1 имеет определенные особенности, которые будут необходимы Branch 2 и наоборот .. Итак, что мы будем делать это, объединить эти ветви. Say для слияния Branch 2 -> Branch 1 например ..

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

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

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

ответ

0

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

1

ИТАК branch1 и branch2 дети ствола (разветвленным но hopefuly не проживающие внутри каталога ствола, как ваша диаграмма показывает?)

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

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

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

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

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

См. Undoing specific revisions in Subversion например

Смежные вопросы