Як скинути лише певну частину сховища SVN?


12

Як перемістити частину сховища SVN в нове сховище?

Щоб перемістити вміст повного сховища SVN в новий сховище, потрібно спочатку скинути старе сховище:

svnadmin dump /path/to/repository > repository-name.dmp

а потім завантажте його в новий за допомогою svnadmin load.

Але я не впевнений, як просто перемістити частину. Мені все-таки доведеться скидати всю справу? Чи жалію я за ту частину, яку хочу?

Щоб просто скинути myproject, я спробував це, але не вийшло:

svnadmin dump /path/to/repository/myproject

1
Або це належить на serverfault.com?
dehmann

.. Я думаю, що ви, мабуть, знайдете відповідь на сервері за замовчуванням, але я думаю, що в наші дні є достатньо "живих користувачів", які використовують SVN на своїх локальних машинах, щоб варто було залишити тут. Він отримав голоси!
Зак Томпсон,

Відповіді:


10

Потрібно використовувати svndumpfilterтакі речі. Зокрема svndumpfilter include. Отже, для вашого випадку:

svndumpfilter include myproject < repository-name.dmp > myproject.dmp
svnadmin load /path/to/myproject-repo < myproject.dmp

http://svnbook.red-bean.com/nightly/en/svn.ref.svndumpfilter.commands.c.include.html

http://svnbook.red-bean.com/nightly/en/svn.reposadmin.maint.html#svn.reposadmin.maint.filtering


5

Якщо ваш сховище розміщено за URL-адресою, ви можете використовувати його svnrdumpдля скидання підпапки сховища:

svnrdump dump http://svn.example.com/repos/[.../]project

де repos - корінь сховища, а проект - це підпапка, яку потрібно скинути.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.