Я хочу удалить все предыдущие версии и оставить только текущую.
Есть ли способ сделать это?
Я не нашел подходящей команды для этого:
[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 это сделать невозможно.