如何使用 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、svn:executable 等。旧版本和日志记录可以,但您通常希望保留它们 :)

您通常可以通过将 ./conf 和 ./hooks 目录从旧存储库复制到新存储库来复制可能的 auth/access/hook/other 配置。只要其中没有硬编码路径,这些配置应该可以立即生效。复制这些目录后,请比较新旧存储库的文件权限。

使用 svn-server 上的 svnadmin bin,您无法使用 svn 客户端执行此操作。

相关内容