Перемещение каталогов с историей - PullRequest
61 голосов
/ 20 сентября 2008

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

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

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

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

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

Ответы [ 9 ]

55 голосов
/ 20 сентября 2008
svn help rename

Перемещение / переименование в Subversion сохраняет историю без изменений.

40 голосов
/ 20 сентября 2008
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 сохранит вашу историю.

11 голосов
/ 04 июля 2016

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

Примечание. В Tortoise SVN есть замечательная фигура под названием «Восстановить перемещение» - с помощью этой функции вы можете переименовать файл / каталог при его перемещении. (Подробнее см. Документация )

5 голосов
/ 20 марта 2012

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

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

4 голосов
/ 20 сентября 2008

Вы можете использовать команду svn copy. Он хранит вашу историю. Вам просто нужно отменить выбор «Остановить при копировании / переименовании» при отображении журнала (пример для черепахи).

Посмотрите на Subversion-Book svn copy

3 голосов
/ 29 июля 2009

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

2 голосов
/ 20 сентября 2008

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

2 голосов
/ 20 сентября 2008

Перемещение каталогов в Subversion не разрушает историю, AFAIK.

0 голосов
/ 20 сентября 2008

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...