我按照https://www.mercurial-scm.org/wiki/MergingWithVim设置我的〜/ .hgrc以使用vimdiff。
[ui]
merge = vimdiff
[merge-tools]
vimdiff.executable = vim
vimdiff.args = -d $base $local $output $other +close +close
但是,当我尝试运行实际的合并时,它对以下内容的帮助不大:
bash-3.2$ hg --debug merge
searching for copies back to rev 7
resolving manifests
overwrite None partial False
ancestor 88aaf3a2e10f local 311bb03b96cd+ remote 29bec6ac5dd3
junk: versions differ -> m
preserving junk for resolve of junk
updating: junk 1/1 files (100.00%)
picked tool 'vimdiff' for junk (binary False symlink False)
abort: Operation not supported: /Accounts/rainest/mtest/junk.orig
知道为什么会这样做吗?
答案 0 :(得分:2)
我已经明白了。
事实证明,如果您在类似BSD的系统上使用NFS挂载,那么Python2.6的shutil库中会出现一个非常具体的错误。更多信息和修复可以在http://bugs.python.org/issue7512找到。
答案 1 :(得分:1)
根据您的安装方式,Mercurial通常附带vimdiff预先配置用于合并。在/etc/mercurial/hgrc.d/mergetools.rc
的我的机器上,但我想在你的OSX盒子里它有所不同。
如果您从.hgrc
删除所有内容,可能需要查看它是否尚未使用vimdiff进行合并。
您可以使用命令hg showconfig --debug
查看有效的所有每用户,每个repo和系统范围的配置项。如果你在添加的行被删除之后看到vimdiff,那么你可能会很高兴。