我在免费增值网站上托管了一个SVN存储库,其存储库大小最大。当我接近这个容量时,我知道我检查过的文件,我知道我可以永久删除以释放磁盘空间。如何告诉SVN文件不仅可以删除,而且还有历史记录?
答案 0 :(得分:7)
我认为subversion中没有一种方法可以告诉您不要对特定文件进行版本控制,或者至少在删除时忘记文件。因为它打败了版本控制系统的目的。如果您有本地存储库,您将能够通过一些调整来实现这一目标。但是,如果没有对存储库的任何管理员访问权限,则无法执行此操作。
如果有帮助,rsvndump是一个转储远程存储库的工具。有了这个,您将能够将存储库转储到本地系统。要删除不需要的文件,可以使用此命令“cat xxx-svn-dump | svndumpfilter exclude $ file> new-svn-dump”。尽管如此,您可以减小存储库的大小,但您将无法使用此内容更新原始存储库。
答案 1 :(得分:6)
看看这个:
http://subversion.apache.org/faq.html#removal说:
您有特殊情况 可能想破坏所有的证据 文件或提交。 (也许有人 不小心承诺保密 文件。)这不是那么容易,因为 颠覆是故意设计的 从不丢失信息。修改是 不可改变的树,建立在一个 另一个。从中删除修订 历史将导致多米诺骨牌效应, 在随后的所有时间里制造混乱 修改和可能无效 所有工作副本。
这个SO答案的可能解决方案:
答案 2 :(得分:3)
你也可以修剪你的历史。假设您有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
答案 3 :(得分:1)
如果您可以在没有提交历史记录的情况下生存,则可以签出代码,删除当前存储库,创建新的存储库,然后将代码提交到新的存储库。