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