有很多关于使用版本历史移动 Subversion 历史的帖子,但我想做一些不同的事情。
基本上,我们有一个已用作概念证明的存储库,我们希望将其存档。然而,我们想用一些代码的最新版本创建一个新的存储库,但保存了作者历史,但这是一个新的开始,所以我们对保留版本历史不感兴趣。另外,我们正在尝试减小存储库的大小,因为过去保存的二进制文件会导致存储库太大。
同时我还想删除一些我认为可以使用转储过滤器的文件夹?
因为我想保持用户信息签出并重新签入新位置,所以不是首选选项。
有很多关于使用版本历史移动 Subversion 历史的帖子,但我想做一些不同的事情。
基本上,我们有一个已用作概念证明的存储库,我们希望将其存档。然而,我们想用一些代码的最新版本创建一个新的存储库,但保存了作者历史,但这是一个新的开始,所以我们对保留版本历史不感兴趣。另外,我们正在尝试减小存储库的大小,因为过去保存的二进制文件会导致存储库太大。
同时我还想删除一些我认为可以使用转储过滤器的文件夹?
因为我想保持用户信息签出并重新签入新位置,所以不是首选选项。
要获得最新版本的文件及其作者、提交日期和提交消息,您必须使用svnadmin dump从存储库创建转储文件,并使用svndumpfilter过滤掉您不想保留的修订。
使用 svndumpfilter 通常是一个非常令人沮丧的练习,您可能需要依赖派生的(并且通常维护不善的)程序,例如svnfiltereddump、svndumpsanitizer、svndumpfilter2或svndumpfilter3。
最后,您应该问自己一个问题,历史上的清理是否真的值得付出努力。
你可以简单地做一个svn export
你想继续拥有的项目,然后在新的存储库上做一个svn import
. 在导入之前,只需删除您不想导入的文件。