从SVN中永久删除修订 序言
我的SVN主机由第三方提供,这将我的使用限制为300MB。由于该项目规模不大,我从未想过这会成为一个问题。一旦应用程序投入生产,我意识到我需要某种备份机制。因此,我编写了一个shell脚本,用于导出数据库并压缩用户上传的文件。然后我将.sql和.zip文件提交给SVN(SVN服务器与应用程序不在同一台机器上运行) 然后今天我注意到我已经超过了限额。我很快意识到这一定是因为备份 最后……问题 因为.zip是一个二进制文件,我想每次提交时整个文件都会添加到存储库中(而对于文本文件,只添加了diff)?zip文件目前约为60MB,因此考虑到备份脚本每天运行,我只能在SVN中存储5天的备份 无论如何,我计划通过以下方式改善这种情况:从SVN中永久删除修订 序言,svn,backup,backup-strategies,Svn,Backup,Backup Strategies,我的SVN主机由第三方提供,这将我的使用限制为300MB。由于该项目规模不大,我从未想过这会成为一个问题。一旦应用程序投入生产,我意识到我需要某种备份机制。因此,我编写了一个shell脚本,用于导出数据库并压缩用户上传的文件。然后我将.sql和.zip文件提交给SVN(SVN服务器与应用程序不在同一台机器上运行) 然后今天我注意到我已经超过了限额。我很快意识到这一定是因为备份 最后……问题 因为.zip是一个二进制文件,我想每次提交时整个文件都会添加到存储库中(而对于文本文件,只添加了diff)
- 更改备份脚本,以便将.zip的大小与SVN中最新的.zip进行比较,并且仅在它们不同时提交。如果自上次备份运行以来没有用户上载文件,则这两个文件的大小将相同
- 从SVN中删除所有旧版本的.zip文件以释放一些配额。然而,我不知道这是否真的可能?我的理解是,即使我从工作副本中删除该文件并提交删除,该文件也将从存储库的头部删除,但所有以前提交的版本仍将存在(使用我宝贵的配额)
是否有某种方法可以永久删除.zip的所有旧版本,并使用上述更高效的备份策略重新开始。您应该执行以下操作来解决此问题:
- 如果有可能,请从存储库中删除所有提交的zip文件。参见SVN红皮书中的章节
- 以后,将zip文件保存到其他位置。将大型二进制文件添加到SVN repo中不是一个好主意,即使二进制文件的差异工作得很好