2013-05-20 3 views
1

У меня есть что-то вроде этого:Как скопировать файлы из одной ветви в другую ветку?

 
/repo/branch-a/foo/apples 
/repo/branch-a/foo/oranges 
/repo/branch-a/bar/broccoli 
/repo/branch-a/bar/potato 
/repo/branch-b/snazz 
/repo/branch-b/jazz 

теперь я хочу, чтобы переместить папку snazz в третью подпапку ответвлением Ь «barfoo»

например, после этого, как он будет выглядеть:

 
/repo/branch-a/foo/apples 
/repo/branch-a/foo/oranges 
/repo/branch-a/bar/broccoli 
/repo/branch-a/bar/potato 
/repo/branch-a/barfoo/snazz 
/repo/branch-b/barfoo/jazz 
/repo/branch-b/snazz 
/repo/branch-b/jazz 

То, как я изначально пытался это сделать, это проверить ветку-a и проверить ветвь -b. Создайте папку barfoo в ветке-a, а затем скопируйте снуарные и джазовые папки в папку barfoo.

Проблема с этим заключается в том, что копия копирует все папки .svn, поэтому при попытке фиксации файлы в этих папках все еще указывают на ретрансляцию branch-b.

Я мог бы пройти и удалить все папки .svn, но если есть много подпапок, то это довольно много времени, а не хорошее решение.

+0

Если вы обновляетесь до новой версии SVN (1.6+?), Вы обнаружите, что она создает только одну папку .svn в корне. Это гораздо удобнее. – Kromster

ответ

2

Если вы работаете с Windows/Tortoise SVN:

Я бы проверка репо, а затем перейти snazz и jazz правой кнопкой мыши из branch-a в branch-b и выберите «SVN перемещение версированных здесь». Таким образом, вы сохраните историю SVN.

+0

+1 Это абсолютно правильный способ. (Не знаю, как это сделать с помощью мыши, но это 'svn cp repo:/src repo:/dest; svn rm repo:/src') – tripleee

+0

@triplee: Вы можете добавить это к моему ответу или опубликовать новое. Я бы добавил +1) – Kromster

0

вместо копирования, экспорта. если вы экспортируете, он собирается копировать только файлы, а не файлы .svn. tortoisesvn имеет этот параметр, вы можете перетаскивать его правой кнопкой мыши и выбирать экспортировать все.

+0

Да, это все. Благодарю. – dwjohnston

+0

Нет проблем, рад, что помог. – AliBZ

+1

-1 Экспортирование и реимпортция теряет историческую запись и игнорирует механизм, который SVN обеспечивает именно для такого сценария. – tripleee

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