SVN объединяет отдельные ревизии файлов из ветви в транк - PullRequest
37 голосов
/ 07 октября 2010

У меня есть пара исправлений, которые я сделал для ветви, которую я хочу объединить обратно в ствол.Я не хочу объединять всю ветку в ствол, только несколько проверок ветвей, которые я сделал.Какой правильный синтаксис для этого?

TY, Фред

Ответы [ 2 ]

37 голосов
/ 07 октября 2010

Я не уверен, что именно вы спрашиваете, так как заголовок говорит об объединении отдельных файлов, но текст вопроса говорит об отдельных ревизиях. В случае объединения отдельных ревизий вам необходимо: (чтобы объединить изменения, внесенные в ревизии 100, 105, 115)

cd trunk
svn merge -c 100 -c 105 -c 115 http://..../branches/mybranch .

Если вы хотите объединить только часть ревизии 100, которая влияет на file.cpp:

cd trunk/path/to/file.cpp
svn merge -c 100 http://../branches/mybranch/path/to/file.cpp file.cpp
2 голосов
/ 09 июня 2011

Вы хотите объединить всю ветку.Начиная с версии 1.5, информация о слиянии хранится в репозитории - в свойстве svn:mergeinfo.Если вы объединяете отдельный файл, svn:mergeinfo будет установлен глубоко в дереве.Когда кто-то пытается выполнить слияние из верхней части проекта, svn:mergeinfo не будет существовать, и им придется принять это изменение.Если вы действительно не хотите, чтобы он был объединен, вам следует объединить его из верхней части проекта, а затем зафиксировать только каталог верхнего уровня (svn:mergeinfo будет единственным изменением) и нужный файл.

Намного больше, чем кто-либо хотел знать о mergeinfo

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