带有“外部"二进制文件的版本控制工作流 [英] Version control workflow with 'external' binary files

查看:33
本文介绍了带有“外部"二进制文件的版本控制工作流的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I'm working with an embedded system software project right now, and we're facing some problems dealing with some precompiled binaries living inside our repository.

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

We have several repositories for different parts of our project: One for the application itself, one for the OS, one for the bootloader and several libraries. All of them, except the one for our application, are shared with other teams, for other projects. We are using git (and changing is not an option right now), but I think we'd have the same problem with any VCS.

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

Right now, we have a precompiled binary for each of those components living inside our application repository. The idea was to speed up the build time, since the OS alone takes about 20 minutes to build from scratch and most guys work only with the application.

问题是,这些二进制文件(和相关的应用程序代码)中有几个错误/功能需要随时集成,如您所知,差异和合并二进制文件将不起作用.

Problem is, there are several bugs/features in those binaries (and related application code) to be integrated at any time and, as you know, diffing and merging binaries won't work.

那么,当您必须处理这些外部依赖项时,你们会怎么做?

So, how do you guys do when you have to work with those external dependencies?

非常感谢 =)

推荐答案

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

One viable solution is to use an external binary repository like Nexus.

  • 它未链接到 VCS,这意味着您可以轻松清理不再需要的旧版本二进制文件
  • 它是轻量级的(简单的 HTTP 客户端-服务器协议,无需像使用 DVCS 一样使用 all 版本化二进制文件克隆 all 存储库 --git 或 mercurial --)
  • It is not linked to a VCS, meaning you can easily clean up old versions of said binaries you don't need anymore
  • It is light-weight (simple HTTP client-server protocol, no need to clone all the repo with all the versioned binaries like you would with a DVCS -- git or mercurial --)

这篇关于带有“外部"二进制文件的版本控制工作流的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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