2011-12-08 82 views
3

有很多关于移动版本历史的Subversion历史的文章,但我期待着做一些不同的事情。移动Subversion版本库没有历史

基本上我们有一个已经被用作概念验证的存储库,我们希望将其归档。然而,我们希望创建一个新版本的代码库,并且保存了作者histroy,但这是一个全新的开始,所以我们对保留版本历史记录不感兴趣。另外,我们试图保持存储库的大小,因为在过去存储的二进制文件导致存储库过大。

我还将同时删除一些我认为可以使用转储过滤器的文件夹?

由于我想保留用户信息检查和检查回新的地方不会是首选的选项。

+3

你自相矛盾。你想要作者的历史,但你不想要历史?澄清。 –

+0

我想他只想修改每个文件 –

+0

@ChristofferHammarström我已澄清。基本上我想要最近的作者,但没有版本历史。猜猜这有点奇怪,但我不希望每个文件都说我最后检查了它们。也许我正在寻找解决二进制文件存储在那里的问题的解决方案。 – Firedragon

回答

3

要使用他们的作者,提交日期和提交消息获得最新版本的文件,您必须使用svnadmin dump从存储库创建转储文件并将svndumpfilter过滤掉您不想保留的修订。

与过滤流的工作是在一般一个非常令人沮丧的工作,你可能需要依靠衍生的(和经常生病保持的)程序,如svnfiltereddumpsvndumpsanitizersvndumpfilter2svndumpfilter3

最后,你应该问自己这个问题,如果在历史上的清理是真的值得的努力。

+0

不幸的是,这个版本库超过了600MB,我知道这个版本并不是那么大,但是它只适用于几个主要源代码的应用程序,所以它应该小得多。然而,这是因为二进制文件在过去被提交,这扩大了存储库的大小,似乎没有简单的方法可以在没有提及的托管的情况下删除这些文件。 – Firedragon

+0

您可以创建转储并从转储文件中删除二进制文件的base64字符串。 (这是一个纯文本文件。) –

3

你可以简单地做一个svn export你想要继续有的项目,并在新的知识库上做一个svn import。在导入之前,只需删除不想导入的文件。

相关问题