我想清除所有以前的版本,只保留当前版本。
有没有办法做到这一点?
我没有find一个可能的命令来做到这一点:
[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
UPDATE
似乎唯一的解决办法是导出然后导入,但是当我们运行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 / otherconfiguration通常可以通过将./conf&./hooks目录从旧版本库复制到新版本来进行复制。 只要没有硬编码的path,它们应该立即工作。 复制这些目录之后,请比较新老回购的文件。
使用svn-server上的svnadmin bin,你不能用svn客户端来做到这一点。