我想清除所有以前的修订并只保留当前修订。
有没有办法做到这一点?
我找不到可以执行此操作的命令:
[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、svn:executable 等。旧版本和日志记录可以,但您通常希望保留它们 :)
您通常可以通过将 ./conf 和 ./hooks 目录从旧存储库复制到新存储库来复制可能的 auth/access/hook/other 配置。只要其中没有硬编码路径,这些配置应该可以立即生效。复制这些目录后,请比较新旧存储库的文件权限。
使用 svn-server 上的 svnadmin bin,您无法使用 svn 客户端执行此操作。