首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >svn存储库由于构建而失控。

svn存储库由于构建而失控。
EN

Stack Overflow用户
提问于 2012-12-04 08:52:12
回答 2查看 357关注 0票数 2

我对我的存储库大小有问题,我的存储库已经失控了,因为我们的项目组曾经决定将构建保留在svn中,每个二进制文件大约是30 MB,回购程序的每日备份在几百次签入后需要4-5 GB。很难对回购文件进行备份,并将其复制到每天备份的网络位置。

  • 对每个构建保持备份的最佳实践是什么?
  • 我可以创建一个svn提交触发器来压缩和复制构建,而不是把它放到svn上吗?
  • 我怎么才能缩小我的回购码?
  • 我能用svn命令摆脱一些旧的二进制文件吗?
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-04 09:04:23

对每个构建保持备份的最佳实践是什么?

别这么做。SVN (以及所有/大多数其他版本控制系统(VCS))是通过使用/存储差异来有效地存储文本文档(源代码)的。这不适用于二进制文件。

我可以创建一个svn提交触发器来压缩和复制构建,而不是把它放到svn上吗?

有可能,但这是一次重大的黑客攻击,需要在每台具有结帐pf存储库的计算机上完成。如果您想在签出存储库时再次检索这些zip,则会变得更加麻烦。

我怎么才能缩小我的回购码? 我能用svn命令摆脱一些旧的二进制文件吗?

一旦您向SVN (和大多数其他VCS)提交了一些东西,它就不会被保留,您就不能修改历史记录。也就是说,您可以创建一个新的存储库,可以将所有的更改复制到它(有一些工具可以用来保存提交消息)。也许有可能重新启用所有内容(没有构建),并从那时起使用该存储库。(确保所有项目合作伙伴签出新的存储库以防止出现问题)

正如您注意到的,在VCS中存储所有派生文件(构建)并不是一件好事。为了重现性,您可以存储构建信息,比如使用过的工具的版本号。因此,如果需要的话,总是可以重建特定的构建。

使用一个只包含最新版本的共享位置,这样所有项目合作伙伴都能够看到/尝试这个最新版本。

但是,不要再把它存储在VCS中了!

票数 3
EN

Stack Overflow用户

发布于 2012-12-04 17:54:07

对每个构建保持备份的最佳实践是什么?

为每项任务使用正确的工具。源代码管理可以管理构建的工件,但只有很差。此作业使用工件管理器

我可以创建一个svn提交触发器来压缩和复制构建,而不是把它放到svn上吗?

是的,从理论上讲,钩子中的您可以做任何事情(构建、存档、部署),但是(同样)特殊的工具可以对最终用户更容易和更顺利地完成(读"Jenkins","Maven")。

我怎么才能缩小我的回购码?

创建转储,删除转储中不必要的修订,恢复抛光转储

我能用svn命令摆脱一些旧的二进制文件吗?

你不能用客户端工具来做这件事,只能用svnadmin-\dumpfilter-hacking转储。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13699074

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档