滥用版本控制 [英] Abuse of version control

查看:21
本文介绍了滥用版本控制的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

版本控制是否适合内容本质上是二进制数据文件的项目?我正在考虑重量为 10 giga 的包,其中包含大量 BMP 和 TGA 文件.

Is version control suited for a project where content is essentially binary data files ? I am thinking about package that weight something like 10 giga, with a lot of BMP and TGA files.

Subversion 可以处理这样的事情吗?是否可以生成某种二进制补丁,允许用户只下载修改过的内容.Rsync 可能是一种选择,但没有回头路可走.我真的很希望能够轻松返回到早期版本.

Can subversion handle something like this ? Is it possible to generate some kind of binary patch that would allow users to download only what was modified. Rsync could be an option, but then there is no going back. I would really like to be able to go back to an earlier version easily.

我也看了这个问题,但对答案并不满意

I looked at this question too, but was not satisfied with the answer

推荐答案

您的问题是一个发布管理问题,其中包括:

You issue is a release management one which includes:

  • 构建:您如何以及以多快的速度重新生成部分或全部交付内容?
  • 包装:该交付中有多少文件?
    如果您的内容包含太多文件,那么在任何远程环境中部署(即复制或rsync)都将不容易,与其说是因为全局大小,不如说是因为事务数量需要.
  • 发布:您将交付的内容存储在何处以及如何将其链接到生成它的初始开发环境?
  • building: how and how fast are you able to regenerate some or all of the delivery content ?
  • packaging: how many files are present in that delivery ?
    if your content includes too many files, it will simply not be easy to deploy (i.e. copy or rsync) in any remote environment, not so much because of the global size, but because of the number of transactions needed.
  • publishing: where do you store your delivery and how to you link it to the initial development environment that produced it ?

我认为如此大规模的交付不是为了在 VCS 中发布,而是存储在基于文件系统的存储库中,并使用适当的名称(或 version.txt)来识别其版本和链接它返回到开发内容(在 subversion 中存储和标记).
Maven 就是此类存储库的一个示例.

I would argue that such a massive delivery is not made to be published in a VCS, but rather store in a filesystem-based repository, with a proper name (or version.txt) to be able to identify its version and link it back to the development content (stored and tagged in subversion).
Maven is an example of such a repo.

我还要指出,要交付的内容应该包括有限数量的文件,这意味着:

I would also point out a content made to be delivered should include a limited number of files, which means:

  • 将大量相关文件压缩成一个压缩文件
  • 运行一个不仅 rsynch 还解压缩这些文件的脚本

这篇关于滥用版本控制的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆