subversion是否保存已删除的文件?

时间:2011-04-27 08:32:04

标签: svn version-control delete-file purge

我正在使用一个subversion存储库,它是由一个慷慨的网站免费提供给我的。这意味着我只有200MB可以用于存储库。不过,我并不是在抱怨,因为我确实认为这非常慷慨,而且足以满足我的源代码需求。

然而,我偶尔会使用subversion来处理更多存储量很大的文件类型,这只是因为系统有多强大,当我想“及时”去处理时。我是一个相当混乱的人,有一个像专用版本控制系统,以帮助我排序的东西真的很有帮助。

我想知道的是,我的云上的存储库是否会“保留”到我可能错误地添加到版本控制的大文件中。假设我在subversion存储库中添加了几个大文件(假设有大量的2MB jpeg)。我还可以在后续提交中略微编辑它们,并且还为日志提供一些不必要的详细提交消息注释。然后我意识到我不再需要这些jpeg,并删除它们。

由于我应该能够在任何先前的提交号码中检出存储库,当然包括我最初添加文件的那个,这是否意味着即使我稍后从回购中删除它们,实际的回购将会继续如果要确保结账能力,要永远坚持下去吗?

如果是这种情况,我想可以删除这些数据?如果我的repo变得臃肿了这种类型的“一次性”数据(例如我用完了200MB的配额,但仍然想为我的编程目的再使用我的repo),必须存在 some 我减肥的方法?

抱歉不提前研究这个话题。晚了。

4 个答案:

答案 0 :(得分:3)

是的,删除了'文件仍然在SVN仓库中。

答案 1 :(得分:3)

回购将肯定会保留数据。正确的技术术语是无效的。以下是link为什么Subversion上不存在此功能的原因。

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

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

答案 2 :(得分:2)

  

这是否意味着即使我稍后从回购中删除它们,如果要确保结帐能力,实际回购将继续永久保留它们?

  

如果是这种情况,我想可以删除这些数据?

不,没有。但是,您可以将存储库转储到文件中,切断您不想要的内容,对修订版本进行重新定位并将其重新加载到新的存储库中。但请注意......有一些filtering tooling可用于帮助您执行此任务。该命令名为svndumpfilter

答案 3 :(得分:2)

源代码管理系统付出了很多努力,确保您可以回到任何时间点,并且所有数据都可以像以前那样在特定的修订号中使用。

版本控制的全部意义在于确保永久不会删除或覆盖任何内容。因此,“删除”文件只会将其从当前视图中删除,而不会删除以前的视图;对于之前的观点,它仍将存在。

有一些方法可以手动删除不需要的项目,但它们往往远非用户友好。