Mercurial 中的合并失败并显示“不支持操作”
我已经按照 https://www.mercurial-scm 设置了我的 ~/.hgrc。 org/wiki/MergingWithVim 使用 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
知道为什么要这样做吗?
I've set up my ~/.hgrc as per https://www.mercurial-scm.org/wiki/MergingWithVim to use vimdiff.
[ui]
merge = vimdiff
[merge-tools]
vimdiff.executable = vim
vimdiff.args = -d $base $local $output $other +close +close
However, when I try to run the actual merge, it just fails out not very helpfully with the following:
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
Any idea why it's doing this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我已经弄清楚了。
事实证明,如果您在类似 BSD 的系统上使用 NFS 挂载,Python2.6 的 Shutil 库中会出现一个非常具体的错误。更多信息和修复方法,请访问 http://bugs.python.org/issue7512。
I've figured it out.
It turns out there's a very specific bug in Python2.6's shutil library that occurs if you're working with NFS mounts on a BSD-like system. More information, and the fix, can be found at http://bugs.python.org/issue7512.
根据您的安装方式,Mercurial 通常附带预先配置用于合并的 vimdiff。在我的机器上,它位于
/etc/mercurial/hgrc.d/mergetools.rc
中,但我想它在您的 OSX 盒子中是不同的。如果您从
.hgrc
中删除所有内容,您可能需要检查它是否尚未使用 vimdiff 进行合并。您可以使用命令
hg showconfig --debug
查看所有有效的每用户、每存储库和系统范围的配置项。如果您在添加的行被删除后看到 vimdiff ,那么您可能就可以开始了。Depending on how you installed it Mercurial usually comes with vimdiff pre-configured for merging. On my machine that's in
/etc/mercurial/hgrc.d/mergetools.rc
but I imagine it's different in your OSX box.You might want to check to see if it doesn't already use vimdiff for merging if you remove all of that from your
.hgrc
.You can use the command
hg showconfig --debug
to see all the per-user, per-repo, and system-wide configuration items that are in effect. If you see vimdiff in there after the lines you've added are removed then you might be good to go.