git - 处理 DVC 中的空地文件

标签 git mercurial dvcs bazaar glade

我有三个分支(为了论证,让我们使用 git):master、功能 A 和功能 B。我在 master 中有一个空地文件。功能 A 和 B 中的空地文件均已更新。现在,两者都正在 merge 到开发中:存在 merge 问题...

大多数时候,glade 文件会被重写,因此差异毫无意义,导致必须打开所有三个 Glade 文件并在它们之间进行复制和粘贴。

有人有更优雅的林地文件 merge 解决方案吗?

最佳答案

glade早在当前的 DVCS 之前就已存在。
第一个版本可以追溯到 1998 年。甚至 Glade 3 也是在 2006 年发布的(当时 Git/Mercurial 只存在了一年)。

This cannot be a problem only I suffer from

DVCS 存储库上可能没有足够的 Glade 项目来突出该问题。
甚至是Glade user mailing list doesn't mention "merge" that often .

主要的解决方法是将 xml 文件拆分为尽可能多的文件,并将这些文件包含在程序源文件中(包含许多 builder.add_from_file("mygladeFile.xml"))。< br/> 如果您的 glade.xml 文件足够小, merge 冲突的风险就会非常低。


merge 2 个 XML 文件将 require a custom merge driver ,但是它isn't a trivial problem ,甚至 with xslt (如 this page )。
也许是像 DiffDog 这样的外部 merge 工具(虽然不是免费的)可以提供帮助。

关于git - 处理 DVC 中的空地文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19137545/

相关文章:

mercurial - 如何获取分支中的 Mercurial 提交序列号

version-control - 为存储库绘制任意数据

javascript - nodegit 获取所有暂存文件的差异

git - 仅当链中的第一个是从默认分支构建时,是否可以触发依赖构建?

mercurial - 如何使用 mercurial 和 Google Code 管理开源项目?

Mercurial 存储库未推送到 Web 服务器

version-control - Emacs VCS 界面只提交一个文件

version-control - 如何退出 Mercurial 中的 merge ,然后与该分支重新 merge ?

linux - Git - 文件夹区分大小写的问题

xcode - Git GUI 崩溃信号 6