Перемещение каталогов с историей



У меня есть структура SVN, как это:



/Projects
/Project1
/Project2
/someFolder
/Project3
/Project4


Я хотел бы переместить все проекты в папку /Projects, что означает, что я хочу переместить проекты 3 и 4 из /someFolder в папку / projects.



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



в Subversion 1.5, если это имеет значение.

567   9  
svn

9 ответов:

svn help rename

перемещение / переименование в subversion сохраняет историю нетронутой.

svn move SRC DST
$ svn move -m "Move a file" http://svn.red-bean.com/repos/foo.c http://svn.red-bean.com/repos/bar.c

svn move сохранит вашу историю.

Tortoise SVN поддерживает перемещение "правого клика". При перетаскивании исходного файла / каталога в пункт назначения с помощью "мыши правой кнопкой мыши" появится контекстное меню. Вы можете выбрать соответствующую опцию меню для копирования / перемещения / перемещения-переименования и т. д. Эта опция также сохранит историю.

Примечание: в Tortoise SVN есть хорошая фигура под названием "Repair Move" - с помощью этой функции вы можете переименовать файл/каталог при его перемещении. (См. документация дополнительные подробности)

Если вы переместите проект 3 в папку проекта с помощью команды svn move, история будет сохранена для папки проекта 3, но интересно, что папка проектов не будет показывать историю проекта 3, которая была создана до того, как проект 3 был перемещен в проекты.

Я нахожу это запутанным, я думал, что папка покажет всю историю ниже себя в иерархии, но похоже, что это не так (просто проверил это сам)

вы можете использовать команду SVN copy. Он хранит вашу историю. Вам просто нужно снять флажок "остановить при копировании / переименовании", показывая журнал (пример для Tortoise).

внимательнее посмотрите на подрывную деятельность-книги svn copy

перетащите его с помощью РЕПО-браузера и повторно привязать локальную папку к серверу SVN.

перемещение каталогов в Subversion не уничтожает историю, AFAIK.

для этого вам придется использовать специальные функции перемещения/переименования svn (например, проверьте справку TortoiseSVN, если вы используете это). Если вы переместите файлы на себя, а затем внести изменения я не уверен, что история будет сохраняться.

насколько я знаю, только базар позволяет вести историю по каталогам, особенно когда речь идет о перемещении каталогов. SVN позволяет сохранять историю при перемещении файлов, но не каталогов.

Comments

    Ничего не найдено.