2011-04-27 86 views
3

我使用的是一个慷慨的网站免费提供给我的Subversion版本库。这意味着我只有200MB的版本来处理版本库。但我并没有抱怨,因为我认为这非常慷慨,并且足以满足我的源代码需求。Subversion保存已删除的文件吗?

但是我一直在使用偶尔颠覆了更多的存储空间,重的文件类型,仅仅是因为该系统是多么强大,当我想去“时光倒流”工作的事情了。我是一个相当混乱的人,有一个像专门的版本控制系统来帮助我分类的东西真的很有帮助。

什么我不知道的话,是我对云贮存是否会“持有”来,我可能是弄错了才加入到版本控制一个大文件。假设我向一个Subversion版本库中添加了几个大文件(假设有大量的2MB jpeg)。除此之外,我还可以稍后在稍后的提交中稍微编辑它们,并且还为日志提供一些不必要的冗长的提交消息注释。然后我意识到我不再需要这些jpeg中的任何一个,并删除它们。

自从我应该能够在任何一次提交数签出库,当然也包括在我原来添加的文件之一,这是否意味着,即使我从回购后删除它们,实际回购会如果要确保结账的能力,他们会继续坚持下去吗?

如果是这样的话,我想有删除这些数据的规定?如果我的回购变得臃肿这种类型的“一次性”的数据(例如用完了我的200MB的配额,并仍想使用我的回购多一点点我的编程目的)必须存在一些办法为我修剪掉脂肪?

道歉不是研究的话题很多提前。晚了。

+0

正如你一定会从答案中发现的,源代码版本控制不是处理二进制文件的好选择。 – 2011-04-27 08:34:18

回答

3

回购肯定会持有的数据。正确的技术术语被抹杀。这是一个link为什么这个功能在Subversion上不存在。

它也不会在1.7/1.8版本中出现。 Subversion的路线图是here

由于您使用托管Subversion,请检查主机是否允许在服务器上远程执行svndumpfilter命令。

+0

+1为第一个好答案。唯一值得注意的是,svndumpfilter将允许您转储过滤列表,正如Jacco和jdehaan在他们的答案中注释的那样。 – 2011-04-27 15:57:14

+0

第一个链接现在似乎已被破坏。 – Troyen 2011-10-20 00:31:40

2

这是否意味着即使我以后将它们从回购库中删除,实际回购将继续保留给它们,如果它是为了确保结帐的能力?

如果是这样的话,我想有删除这些数据的规定?

没有没有。但是,您可以将存储库转储到文件中,切断不需要的东西,重新标记修订并将其重新加载到新的存储库中。但要小心......有一些filtering tooling可用于帮助执行此任务。该命令被称为svndumpfilter

3

是的,它'删除'的文件仍然在SVN回购。

2

源代码管理系统花费了大量精力确保您可以返回到任何时间点,并且所有数据都可以在以前用于您的特定修订版本号。

版本控制的重点是确保永久不会被删除或覆盖。所以,'删除'一个文件,只会从当前的视图中删除它,而不是先前的视图。对于之前的观点,它仍然存在。

有倾倒手动删除不需要的项目的方法,但他们往往是远离用户友好。