Назад | Перейти на главную страницу

Как удалить предыдущие ревизии с помощью svn?

Я хочу удалить все предыдущие версии и оставить только текущую.

Есть ли способ сделать это?

Я не нахожу возможной команды для этого:

[secret@vps303 ~]# svnadmin --help
general usage: svnadmin SUBCOMMAND REPOS_PATH  [ARGS & OPTIONS ...]
Type 'svnadmin help <subcommand>' for help on a specific subcommand.
Type 'svnadmin --version' to see the program version and FS modules.

Available subcommands:
   crashtest
   create
   deltify
   dump
   help (?, h)
   hotcopy
   list-dblogs
   list-unused-dblogs
   load
   lslocks
   lstxns
   pack
   recover
   rmlocks
   rmtxns
   setlog
   setrevprop
   setuuid
   upgrade
   verify

ОБНОВИТЬ

Кажется, единственное решение - экспортировать, а затем импортировать, но будут ли экспортированы настройки прав доступа, когда мы запустим svn export ?

Ответ действительно на

svnadmin dump -r<revisionnumber> /old/repo/path > repo.dmp
svnadmin create /new/repo/path
svnadmin load  /new/repo/path <  repo.dmp

Делать не использовать svn export, вы можете потерять несколько удобных svn: externals, svn: ignore's, svn: executable и тому подобное. Старые версии и ведение журнала в порядке, но те, которые вы обычно хотите оставить :)

Возможную конфигурацию auth / access / hook / other вы обычно можете скопировать, скопировав каталоги ./conf и ./hooks из старого репозитория в новый. Пока в нем нет жестко заданных путей, они должны работать мгновенно. После копирования этих каталогов сравните права доступа к файлам вашего старого и нового репо.

Используйте bin svnadmin на svn-сервере, вы не можете сделать это с svn-клиентом.