Использование (Ankh) SVN для создания двух одинаковых файлов в разных филиалах

К сожалению, мне не совсем понятно, как работает SVN...

У меня есть ствол для моего основного решения Visual Studio C# и ветвь для работы в разработке. Время от времени что-то должно быть изменено в обоих, чтобы код был идентичен. Я взглянул на мастера слияния, но он, похоже, не описывает эту проблему. Кажется, это позволяет мне объединять конкретные номера ревизий, которые могут содержать изменения в других файлах, вместо того, чтобы рассматривать слияние для каждого отдельного файла.

Как мне это сделать?

2 ответа

Решение

Для файла можно запустить команду "Слияние". Необходимо убедиться, что значение "Объединить с" указывает на файл в правой ветви (т. Е. На файл, в котором есть изменения, которые вы хотите получить). Вы заметите, что мастер слияния перечислит все ревизии для этого файла. Теперь вы можете безопасно выбирать ревизию (и) (которая может содержать изменения в других файлах), поскольку только изменения вашего файла будут объединены с вашей рабочей копией.

Не забудьте собрать / протестировать вашу рабочую копию после слияния, а затем зафиксировать изменения обратно в хранилище.

Вы также можете воспользоваться функцией " Отслеживание слияний" (доступной в SVN 1.5+), выбрав "все приемлемые ревизии".

Я рекомендую настроить AnkhSVN для использования внешнего инструмента слияния (через Сервис> Параметры> Управление исходным кодом> Инструменты пользователя Subversion в Visual Studio).

Лучший способ сделать это - внести изменения в транк и слиться с транком в вашу ветку разработки.

Более сложная версия (которая сохраняет ваш ствол в безопасности при написании этого кода) заключается в создании еще одной ветки из ствола для представления общих "изменений" (ветвь пакета обновления). Внесите изменения и протестируйте их в ветке пакета обновления, затем объедините обратно в транк. Затем слейте из ствола в вашу ветку разработки.

Другие вопросы по тегам