2009-07-14 4 views
0

Возможно ли (или даже практично) скопировать каталог из одного места хранилища SVN в другой, сохранив старый и сохранив историю для каждого отдельного файла в обоих местах? Пока я вижу импорт SVN, который копирует каталог, но теряет историю или перемещение SVN, которое перемещает каталог. Вот краткий пример:Каталог репликации SVN

  • COPY SVN_ROOT/проекты/филиалы/release1.0/MYPROJ К SVN_ROOT/рад/багажник/MYPROJ
  • Сохранить историю в обоих местах

ответ

4

Будет ли использовать svn copy?

+0

Мне интересно это. Кажется, что он работает с файлами, поэтому я не знаю, сохранена ли история. – Bostone

+0

Да, история сохранена: http://svn.haxx.se/users/archive-2005-01/1857.shtml –

0
  • Вы правильно : svn import не совершенен, как описано в SVN FAQ и в SVN Issue 1328.
  • Вы также можете найти svn move.

  • Также см. this thread (связанный с подобными предложениями вопрос).

+0

SVN двигаться, насколько я могу сказать, удалю исходное местоположение – Bostone

+0

Doh! Тогда я согласен с Джейсоном ниже, поскольку «svn move» = 'svn copy' + 'svn delete' –

3

Вы ищете эквивалент ссылки Unix, где файлы обновляются одновременно? Или вы хотите скопировать их и позволить им расходиться? Я думаю, что svndump и svnfilter (или редактирование вручную), вероятно, могли бы сделать последнее.

Однако я бы предложил подумать о том, почему вы это делаете, поскольку мне кажется, что это приводит к головным болям обслуживания. Если вы пытаетесь сохранить два файла, которые обновляются одновременно, лучшим решением является извлечение их в новый модуль, который связан с кодом, который его использует. Если вы пытаетесь позволить им расходиться ... ну, честно говоря, история не имеет большого смысла там и может дать ложное представление о том, как репозиторий смотрел на определенный момент времени.

+0

Согласен. Весь смысл репозитория кода заключается в поддержании единственного источника правды для вашего проекта. –

+0

Старая ветка останется там для наследства. Поверьте мне, я не тот, кто придумывает это требование :) Я, с другой стороны, интересуюсь историей файлов, которые я наследую – Bostone

1

Я думаю, что обычная старая копия SVN делает это, а затем позволяет вам расходиться. Это то же самое, что разветвление/тегирование.

Если вы хотите что-то вроде ссылки без расходящихся код, смотрите в использовании Externals определения, как описано в книге SVN:

http://svnbook.red-bean.com/en/1.5/svn.advanced.externals.html

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