1

例如,我只想要某个分支或项目的 3 条记录。

非常感谢你!

更新:谢谢你们的回答。也许这不是一个好问题。我有一个框架回购和几个引用该框架的项目。我通常会继续做一个项目,有时我需要更新框架。但是,我不想因为我的框架更新而影响任何其他项目,尽管我可能没有时间在框架发生变化时更新每个项目。所以我考虑的解决方案是在每个项目中检查框架.dll,以便每个项目都可以缓存一个版本的dll并且它们不会中断。但是,我不希望我的 svn 保留很多 dll 签入,所以我提出了上述问题.....我只是想我应该在每个项目中保留一份框架源代码而不是 dll。一旦我决定使用更新的框架,我就可以对每个项目进行合并' s 框架副本。这听起来更好。

4

4 回答 4

1

不幸的是没有。SVN 被设计成一个信息堡垒。您不能将其限制x为修订数量。

这也是您不能完全或轻松从 SVN 中完全删除任何内容的原因。他们正在寻求推出obliterate命令来处理不必转储存储库以删除某些内容(如从存储库中完全删除),但它已经进行了相当长的一段时间。在这里查看更多信息

于 2010-04-21T05:50:54.623 回答
1

根据您的更新,您应该查看 svn:externals 以从它将使用框架(dll 或可能是源代码)的每个项目中引用框架区域。另一方面,您可以存储二进制文件,SVN 也将使用增量。所以应该不是空间问题。

于 2010-04-21T06:18:38.637 回答
0

SVN 没有任何内置的方法来做到这一点,但是如果你真的想(不知道你为什么会这样做)你可以定期运行以下命令(在这个例子中,我假设你的 HEAD 是修订版 200,因此之前的 3 是 197) :

svnadmin dump /path/to/repo -r196:200 > svn.dump
rm -rf /path/to/repo
svnadmin create /path/to/repo
svnadmin load /path/to/repo < svn.dump

这将执行整个存储库,您不能对单个项目执行此操作。

于 2010-04-21T05:50:31.853 回答
0

您可以使用svndumpfilter从存储库转储中删除特定项目。

于 2010-04-28T22:23:16.400 回答