我有托管在免费增值站点具有最大储存库大小的SVN库。当我接近这个能力,我知道我已经在我知道我可以永久删除以释放磁盘空间,检查文件。我如何告诉SVN,一个文件不仅可以删除,但它的历史呢?

有帮助吗?

解决方案

我不认为这是在颠覆一种方法来告诉不要版本的特定文件或至少忘掉一个文件被删除时。因为它违背了版本控制系统的目的。你将能够通过一些调整来实现这一点,如果你有一个本地仓库。然而不为任何仓库管理员访问权限,它的将是不可能做到这一点。

如果有帮助, rsvndump 是采取远程仓库的转储的工具。有了这个,你就可以得到的资料库转储到本地系统。要删除不需要的文件,你可以使用这个命令“猫XXX-SVN转储|过滤流排除$文件>新SVN转储”。尽管这样,你可以减少库的大小,你将无法与此内容更新原单库。

其他提示

看这样的:

http://subversion.apache.org/faq.html#removal 表示:

  

有特殊的情况下,你   可能要销毁所有证据   文件或提交。 (也许有人   小心提交了一个秘密   文件),这是不那么容易,因为   颠覆是故意设计成   从来没有丢失信息。修订版本   不可改变的树,建立在一个   另一个。除去修订   历史会引起多米诺骨牌效应,   在所有后续乱军   修订和可能无效   所有的工作拷贝。

在该SO答案可能的解决方法:

从SVN记录

删除文件内容>

您也可以修剪你的历史。假设你有100个版本,你可以保持最新的历史,说50个版本。这也可以减少你的Subversion版本库的大小。

svnadmin dump /path/to/current/repo -r50:100 > newsvn.dump
# you can delete the old repo and then
svnadmin create /path/to/new/repo
svnadmin load /path/to/new/repo < newsvn.dump

如果你能活着没有你的提交历史,你可以检出的代码,删除当前存储库,创建一个新的回购协议,然后提交代码到一个新的存储库。

scroll top