У меня есть папка «документы» в хранилище Subversion с именем «проект». Я пришел к выводу, что он действительно должен храниться в отдельном хранилище Subversion с именем "project_docs".
Я хотел бы переместить папку "docs" ( и все ее ревизии ) в репозиторий "project_docs". Есть ли способ сделать это?
svn
repository
directory
move
leftend
источник
источник
"C:\Program Files (x86)\VisualSVN Server\bin\svnadmin" dump c:\Repositories\MyRepository > c:\Temp\MyReository.dump
У svndumpfilter есть серьезный недостаток - если файл или путь были скопированы с пути, который вы фильтруете, на путь, по которому вы фильтруете, svndumpfilter не сможет заполнить историю, и задание не будет выполнено.
Вы можете использовать svndumpfilter2, если у вас возникла эта проблема.
источник
Это обсуждается в документации SVN. Ознакомьтесь с разделом « Обслуживание репозитория » на
svndumpfilter
... В нем конкретно описывается, как выгружать проекты из центрального репозитория и перемещать их в новые отдельные репозитории.источник
Я не верю, что вы можете сделать это удаленно (т.е. без локальной копии). Но это должно сработать:
svn export
папка с исходного сервера, затем папка сsvn add
новым репо.Подобно:
Редактировать: D'Oh, это отбрасывает историю. Используйте,
svnadmin
как описывает Самуил .источник
Для дальнейшего использования:
Документация SVN четко сообщает:
Если вы планируете вручную редактировать файл дампа, чтобы удалить каталог верхнего уровня, убедитесь, что ваш редактор не настроен на автоматическое преобразование символов конца строки в собственный формат (например, \ r \ n в \ n), в связи с этим содержание не будет согласовываться с метаданными. Это сделает файл дампа бесполезным.
Используйте sed или Vim для замены каталога верхнего уровня, но это имя каталога также содержалось в файле проекта !!!! Это вызывает ошибку контрольной суммы загрузки SVN.
Поэтому, когда вы выполняете эту операцию, не делайте подстановок строк с помощью sed только с именем пути.
Замените «Node-path: old_path» на «Node-path: new_path». См. Главу 5 книги SVN «Администрирование хранилища» для более подробной информации.
источник
Я пытался использовать принятый ответ, но у меня был огромный репозиторий, и я хотел экспортировать небольшой каталог, и я не мог позволить себе сбросить весь репозиторий.
Поэтому я экспортировал только те ревизии, в которых изменился мой каталог (это может не сработать, если каталог, который вы хотите экспортировать, содержит ссылки на другие места в вашем репо).
Вы должны заменить свой URL репо (
URL_to_docs
), расположение в сервере (/svn/old_repo
) и путь к документации в репозитории (path/to/docs
)Вы можете легко отредактировать свой,
docs_only.dump
если вы хотите изменить местоположение вашего каталога документов в вашем новом хранилище.источник