使用 vimdiff 时无法解决 hg 合并冲突
Unable to resolve hg merge conflict when using vimdiff
我使用的是 mercurial 的默认版本,没有做太多修改。默认情况下,它使用 "vimdiff" 用于我不熟悉的目的。我要解释一下情况:
在默认分支上第一次提交后:
#include <stdio.h>
int main
在 xyz 分支上第一次提交后:
#include <stdio.h>
int main()
{
return 0;
}
在 默认 分支上第二次提交后:
#include <stdio.h>
#define MAX(x, y) (x > y ? x : y)
int main
将 xyz 分支合并到默认分支后的预期代码:
#include <stdio.h>
#define MAX(x, y) (x > y ? x : y)
int main()
{
return 0;
}
我应该 accept/discard hunks/diffs/parts 代码如何在 vimdiff 或 ediff 中获得预期的结果。如果有其他方法可以解决此问题,请分享。
Mercurial 有一组它将搜索的默认合并工具。如果它建议 vimdiff
,那是因为它没有找到任何其他工具,或者因为您已经在 $HOME/.hgrc
.
中指定了它
页面 https://www.mercurial-scm.org/wiki/MergeToolConfiguration 和 hg help mergetool
解释了用于指定 mergetool 的语法。我建议使用 KDiff3,它是一个跨平台的 GUI 合并工具。
然后你必须熟悉 KDiff3 的用法,但它是一个 GUI,所以你可以直接探索它。如果有人想使用它们,它还有许多键盘快捷键。
我使用的是 mercurial 的默认版本,没有做太多修改。默认情况下,它使用 "vimdiff" 用于我不熟悉的目的。我要解释一下情况:
在默认分支上第一次提交后:
#include <stdio.h>
int main
在 xyz 分支上第一次提交后:
#include <stdio.h>
int main()
{
return 0;
}
在 默认 分支上第二次提交后:
#include <stdio.h>
#define MAX(x, y) (x > y ? x : y)
int main
将 xyz 分支合并到默认分支后的预期代码:
#include <stdio.h>
#define MAX(x, y) (x > y ? x : y)
int main()
{
return 0;
}
我应该 accept/discard hunks/diffs/parts 代码如何在 vimdiff 或 ediff 中获得预期的结果。如果有其他方法可以解决此问题,请分享。
Mercurial 有一组它将搜索的默认合并工具。如果它建议 vimdiff
,那是因为它没有找到任何其他工具,或者因为您已经在 $HOME/.hgrc
.
页面 https://www.mercurial-scm.org/wiki/MergeToolConfiguration 和 hg help mergetool
解释了用于指定 mergetool 的语法。我建议使用 KDiff3,它是一个跨平台的 GUI 合并工具。
然后你必须熟悉 KDiff3 的用法,但它是一个 GUI,所以你可以直接探索它。如果有人想使用它们,它还有许多键盘快捷键。