如何向Mercurial补丁中添加完整的二进制文件?

5
我想使用Mercurial来捕获我们使用的软件的原始安装版本所做的更改。每次升级软件时,我们需要手动编辑各种配置文件,并添加我们在当前软件版本中使用的第三方库。为配置文件更改创建补丁是可以的,但我该如何将第三方库(二进制文件)添加到Mercurial补丁中?这是否可行?

请记得给有帮助的答案点赞,并接受您最喜欢的答案。 - Martin Geisler
3个回答

6
如果您尝试获取第7个版本的补丁...
hg export --git -r 7 -o 7.patch

3
是的,mq扩展能够像文本数据一样处理二进制数据。它将使用Git扩展的补丁格式来保存二进制数据。当您更新包含修改二进制文件的补丁时,这会被自动透明地处理。但这是否是一个好主意则另当别论,VonC在他写的那篇文章中说这不是版本控制系统的常规用例。

1

即使可能,也不建议这样做!(对于Mercurial或任何其他版本控制系统)
版本控制系统不适合记录二进制文件(主要原因是会迅速膨胀,占用大量磁盘空间,并且存储在增量中没有有效的方式)

您应该记录每个标记版本所需的配置
可以是文本文件,也可以是 maven pom等。任何允许外部机制(如maven)下载和本地存储正确依赖项的方式。

这意味着您的补丁将包括对该文本文件(例如pom)以及其余代码修改的更改。


发现可以通过使用hg add,然后是hg qrefresh来实现,但我会考虑VonC的建议。也许我只需设置一个POM和Nexus来处理我的情况。感谢您的提示。 - David Corley

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接