在 Mercurial 中进行合并时忽略空格

2024-03-01

在 Mercurial 中进行合并时,我们遇到了一个问题,其中空白更改会导致合并冲突,从而掩盖了我们可能遇到的任何“真实”冲突,并使合并成为一场噩梦。我们最近遵循了一种格式样式,该样式更改了某些分支中文件的缩进,并且从那时起合并几乎变得不可能。

举个例子,尝试:

hg init testrepo
cd testrepo/

echo "This is text." > newfile.txt
hg add newfile.txt
hg commit -m "Created a file."
hg branch newbranch
echo "This is some more text." > newfile.txt
hg commit -m "Changed text in the file."
hg update default
echo "   This is text." > newfile.txt
hg commit -m "Added indentation whitespace."

这会产生两个分支,一个分支包含空格更改,另一个分支包含文本更改:

@  2     "   This is text".
|    
|
| o  1   "This is some more text."
|/     
|
o  0     "This is text."

当尝试一个hg merge对此我遇到了合并冲突。如果我们在每一条线上都存在冲突,那么解决“真正的”冲突就会变得困难且耗时。我更希望合并过程认为“好吧,变更集 2 第 1 行与父级仅在空白方面有所不同,因此请考虑它不变。选择变更集 1 第 1 行作为合并结果。”


是否忽略空格是合并工具所做的选择。您可以配置所有方式的合并工具以与 Mercurial 一起使用,如下所示:合并工具配置 https://www.mercurial-scm.org/wiki/MergeToolConfiguration

Mercurial 的内部预合并不会/不能忽略空格,但如果您的外部合并工具忽略空格并且它只发现空格更改,它将立即退出,如果它发现其他空格更改,它可以隐藏空格更改。加载。

例如,与流行的kdiff3 合并工具 http://kdiff3.sourceforge.net/您可以启用“空白 2/3 文件合并”设置并告诉它是选择左侧还是右侧。

Tl;Dr:在合并工具中打开此功能,而不是在 Mercurial 中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Mercurial 中进行合并时忽略空格 的相关文章

  • 合并多列上的两个 pandas 数据框

    我有两个数据框 gt gt gt df1 Output col1 col2 col3 col4 a abc 10 str1 b abc 20 str2 c def 20 str2 d abc 30 str2 gt gt gt df2 Out
  • Mercurial .hgrc 文件

    默认情况下 在 Windows XP 上 Mercurial 将 hgrc 文件存储在 好吧 就我而言 c Documents and Settings srooks 我如何更改该位置 并让它在其中查找 hgrc 文件 例如 c Confi
  • Java流合并或减少重复对象

    我需要通过将所有重复条目合并到一个对象中来从可以具有重复项的列表中生成一个唯一的朋友列表 Example 从不同的社交源中获取好友并放入 1 个大列表中1 朋友 姓名 约翰尼 德普 出生日期 1970 11 10 来源 FB fbAttri
  • .hgignore 语法仅忽略文件,而不忽略目录?

    我有一个我似乎无法理解的问题 我在 Windows 上使用 TortoiseHg 版本 0 7 5 但在 Linux 上我遇到了同样的问题 这里是 My hgignore file syntax regexp 我想要实现的是将 hg 存储库
  • 如何让 git 在 vi​​m 中显示更改,就像 hg 使用 hgeditor 脚本那样?

    Mercurial 的一个有趣的功能是能够查看将在 vim split 中提交的更改 请参阅VIM 中的 DiffsInCommitMessage https www mercurial scm org wiki DiffsInCommit
  • 基于一个公共密钥 Angular 2 合并 2 个数组

    我有2个arrays in Angular 2我想根据一个键值合并它们 数组1 columnId 1 type value 1 columnId 2 type value 2 数组2 columnId 1 field field 1 col
  • 如何 UPSERT(更新或插入表?)

    UPSERT 操作更新或插入表中的行 具体取决于表是否已有与数据匹配的行 if table t has a row exists that has key X update t set mystuff where mykey X else
  • 由于 poms 中的版本发生更改,合并来自 Maven 发布分支的更改会产生冲突

    按照标准实践 我有一个用于功能开发的 svn 主干 以及一个用于构建版本的分叉分支 该分支是使用 maven 发布插件创建的 该插件也用于创建发布 碰巧的是 偶尔的错误将在分支上修复 并且这些更改需要合并回主干 为了不错过任何更改 我希望能
  • 方案语言:合并两个数字

    如何将列表中的两个整数合并为一个 方案中 例子 11 223 gt 11223 假设列表恰好有两个元素 并且都是数字 define merge numbers lst let 1st number gt string first lst 2
  • 合并 Pandas Dataframe:如何添加列和替换值

    我有一个数据帧 df1 并想要合并其他 许多 数据帧 df2 以便 合并发生在匹配的 多 索引上 如果缺失 将创建新列 如果列已存在 则替换值 正确的 pandas 操作是什么以及使用什么参数 我查看了 concat join merge
  • hg Convert --authors errorUsers <-- 文件的格式是什么?

    Related here https stackoverflow com questions 732819 can i change the username on a mercurial changeset 757604 757604 指
  • Mercurial hook 的操作类似于“changegroup”,但仅在推送时?

    我们已经构建了一个变更集传播机制 但它依赖于捆绑和解除捆绑新变更集 如果我们要使用changegroup钩子 那么它会导致循环行为 因为钩子是运行的在拉 推或解绑期间 http mercurial selenic com wiki Hook
  • 2 个 Python 字典如何变成 1 个? [复制]

    这个问题在这里已经有答案了 可能的重复 Python 扩展 字典 https stackoverflow com questions 577234 python extend for a dictionary 我知道 Python 列表可以
  • PHP 按值合并数组以获得 2 个不同的数组值

    我尝试将两个不同的数组合并为一个数组 有人可以帮我吗 我有这样的数组 0 Array 2 rank 579 id 1 1 Array 4 rank 251 id 2 0 Array 2 size S rank 251 1 Array 15
  • 如何将 git 存储库转换为 Mercurial?

    我一直在使用 git 作为源代码存储库开发 java 应用程序 我想与其他 java 开发人员分享该项目 hg 似乎是他们最常用的 我的问题是如何将 git 存储库转换为 hg 如果我尝试谷歌搜索 将 git 转换为 hg 并且每次搜索命中
  • 连接两个 Git 存储库的历史记录?

    我有一个旧的 Git 存储库 请调用它app 然后 一年后 我想从头开始重建应用程序 所以我创建了一个新的存储库 称之为app 2 现在 我意识到我应该创建一个新分支或其他东西 而不是一个新的存储库 因为我想移动app 2在之上app然后摆
  • Python:合并嵌套列表

    初学者在这里 我有 2 个要合并的嵌套列表 list1 a b c d e f g h list2 p q r s t u v w 我正在寻找的输出是 list3 a p q b c r s d e t f g h u v w 这可以在没有
  • R模糊字符串匹配根据匹配的字符串返回特定列

    我有两个大型数据集 一个大约有 50 万条记录 另一个大约有 7 万条记录 这些数据集有地址 我想匹配较小数据集中的任何地址是否存在于大数据集中 正如您所想象的那样 地址可以用不同的方式和不同的情况 拼写等来书写 此外 如果只写到建筑物级别
  • 使用 string.whitespace 删除 Python 中的空格

    Python 的 string whitespace 很棒 gt gt gt string whitespace t n x0b x0c r 如何在不手动输入 t n 等正则表达式的情况下将其与字符串一起使用 例如 它应该能够转动 请不要伤
  • JPA更新一对多关系列表

    我有一个 Question 实体 其中包含另一个名为 Alternatives 的实体的列表 如下所示 public class Question OneToMany fetch FetchType LAZY mappedBy questi

随机推荐