В моей локальной рабочей копии Subversion у меня есть копия соединительной линии и ветви кода. Я внес изменения в багажник и хочу скопировать эти изменения в мою (в настоящее время чистую) локальную копию ветки.Subversion объединяет локальные изменения в соединительной линии к ветке
Я знаю, что могу проверить код на магистраль, а затем использовать svn merge
, чтобы получить изменения на ветке, но есть ли способ сделать это без предварительной проверки изменений?
К сожалению, diff/patch не будет работать, так как есть изменения в коде, окружающем мои изменения между сундуком и веткой. Я знаю, что svn merge
может справиться с ними, но, как я уже сказал, лучше не сначала проверять свои изменения.
Edited добавить пример:
Ствол имеет файл, содержащий следующее:
File in trunk: File in branch:
apple apple
orange banana
pear pear
В багажнике, я добавляю dragon fruit
ниже pear
в файле ствола на моей рабочей копии. Если бы я проверил, что изменение и использование слияния для его копирования в ветви, Subversion правильно добавит dragon fruit
ниже pear
в ветке версии файла.
svn diff
на моей копии файла ствол производит нечто похожее на следующее:
Index: fruit.txt
===================================================================
--- fruit.txt (revision 56)
+++ fruit.txt (working copy)
@@ -1,3 +1,4 @@
apple
orange
pear
+dragon fruit
Очевидно, используя патч не будет работать, так как он замечает разницу между не изменились текстами.
То, что я хочу произойти, без того, чтобы проверить что-либо, чтобы иметь dragon fruit
перечислены после pear
в обоих файлах, но не иметь разницу orange
/banana
изменен на любой файл.
Но DO сначала сделайте резервную копию того, что на вашем диске. Переключатель SVN пытается изо всех сил, но никаких гарантий нет. –
svn switch выглядит как лучший вариант, который у меня есть на данный момент. Это далеко не идеальный, но это нужно сделать. –