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

Как удалить предыдущие ревизии с помощью 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?

решение1

Ответ действительно заключается в том, чтобы

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 это сделать невозможно.

Связанный контент