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

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

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

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

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

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

Ответ 1

svn help rename

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

Ответ 2

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 сохранит вашу историю.

Ответ 3

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

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

Ответ 4

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

Присмотритесь к книге Subversion-Book svn copy

Ответ 5

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

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

Ответ 6

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

Ответ 7

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

Ответ 8

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

Ответ 9

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