带有“外部”二进制文件的版本控制工作流程

时间:2010-12-17 18:35:13

标签: version-control workflow

我正在使用嵌入式系统软件项目,我们在处理存储库中的一些预编译二进制文件时遇到了一些问题。

我们为项目的不同部分提供了多个存储库:一个用于应用程序本身,一个用于操作系统,一个用于引导加载程序和几个库。除了我们的应用程序之外,所有这些都与其他团队共享,用于其他项目。我们正在使用git(现在改变不是一个选项),但我认为我们对任何VCS都有同样的问题。

现在,我们为应用程序存储库中的每个组件提供了预编译的二进制文件。这个想法是为了加快构建时间,因为仅从操作系统开始构建大约需要20分钟,大多数人只能使用应用程序。

问题是,这些二进制文件(以及相关的应用程序代码)中有几个错误/功能可以随时集成,如您所知,差异化和合并二进制文件将无法正常工作。

那么,当你必须使用那些外部依赖项时,你们怎么做?

非常感谢=)

1 个答案:

答案 0 :(得分:0)

一个可行的解决方案是使用外部二进制存储库,例如 Nexus

  • 它没有链接到VCS,这意味着您可以轻松清理不再需要的旧版本的二进制文件
  • 它很轻(简单的HTTP客户端 - 服务器协议,无需克隆所有使用 all 版本化二进制文件的repo,就像使用DVCS一样) - git或mercurial - )