当前位置:  开发笔记 > 开发工具 > 正文

在svn存储库中Nuking巨大的文件

如何解决《在svn存储库中Nuking巨大的文件》经验,为你挑选了2个好方法。

作为本地subversion czar,我向每个人解释只保留存储库中的源代码和非大文本文件,而不是巨大的二进制数据文件.可能是较小的二进制文件,它们是测试的一部分.

不幸的是我与人类合作!有人可能有一天偶然会犯下一个800MB的二进制垃圾箱.这会降低存储库操作的速度.

上次我检查过,您无法从存储库中删除文件; 只是让它不是最新版本的一部分.如果有人想要回忆该日期或修订号的存储库状态,存储库会永久保留怪物.

有没有办法真正删除该怪物文件,最终得到一个像样的大小的存储库?我已经尝试过svnadmin dump/load的东西,但这很痛苦.



1> Veynom..:

要永久删除svn存储库中的怪物文件,除了使用svnadmin dump/load之外没有其他解决方案.(SVN Book:dump命令)

为了防止提交大文件,可以使用钩子脚本.举例来说,只要有人试图提交到存储库,就可以运行"预提交"的脚本.该脚本可能会检查filesize或filetype,如果它包含一个或多个文件太大或"禁止"类型,则拒绝提交.

钩子脚本的更典型用法是检查(预提交)提交包含日志消息,或(提交后)电子邮件提交的详细信息或使用新提交的文件更新网站.

钩子脚本是为响应对存储库事件的响应而运行的脚本(SVN Book:Create hooks).



2> Sander Rijke..:

有关此内容的一些额外信息可以在博客文章中找到:Subversion Obliterate,缺失的功能

一定要仔细阅读评论,卡尔福格尔将文章放在透视中:-)


链接页面现在是404.希望通过编辑来保持此答案的最新状态.
推荐阅读
wurtjq
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有