Подтвердить что ты не робот

SVN объединяет отдельные версии файлов из ветки в магистраль

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

TY, Фред

4b9b3361

Ответ 1

Я не уверен точно, что вы спрашиваете, так как название говорит о слиянии отдельных файлов, но в тексте вопроса говорится об отдельных версиях. В случае слияния отдельных ревизий вам необходимо: (объединить изменения, совершенные в версиях 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

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

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