当我进入我的ubuntu VM,然后从bitbucket克隆一些东西 - 然后尝试在其上执行commit / export / etc时,我得到一个名称前缀为'hg-checklinks - '的文件夹。< / p>
在检查时,似乎将一个永无止境的符号链链接回到其父文件夹。这让我完全疯了,到目前为止,我已经失去了对善变的信念。
请注意,当我在本地文件夹上使用它时似乎工作正常。有没有人知道如何解决这个问题...或者更多关于它为什么会发生的信息?
干杯!
答案 0 :(得分:4)
DVCS的分散部分是关于在本地运行它 - 应该在本地系统以外的任何其他地方进行的唯一Mercurial操作是push
,pull
,和clone
。如果你从bitbucket克隆到你的Ubuntu VM上,你应该从你的Ubuntu VM克隆到你的mac并推送到Ubuntu VM。
也就是说,看起来你的网络FS没有正确删除文件。这是相关代码(在此处找到:https://www.mercurial-scm.org/repo/hg/file/a2dc8819bb0d/mercurial/util.py#l710):
name = tempfile.mktemp(dir=path, prefix='hg-checklink-')
try:
os.symlink(".", name)
os.unlink(name)
return True
except (OSError, AttributeError):
return False
因此,您的网络FS正在创建符号链接,但无论如何都会抛出异常,或者在要求删除(取消链接)符号链接时抛出异常。
答案 1 :(得分:1)
我使用Mac OS x Lion上此链接的解决方案修复此问题
http://blog.philippklaus.de/2011/07/sshfs-on-mac-os-x-10-6-8-with-fuse4x/
答案 2 :(得分:0)
这里的问题是sshfs非常特殊的“-o follow_symlinks”,它会愉快地创建符号链接,然后声称它无法创建它们,然后将它们显示为令人敬畏的递归不可移动目录。 Macfusion中的错误(https://code.google.com/p/macfusion/issues/detail?id=284)可能会自动打开此中断选项。所以如果有的话,你应该在sshfs和Macfusion中“失去信心”,而不是Mercurial。
这将在Mercurial 2.7中解决。在此期间,您应该能够在没有选项的情况下手动运行sshfs。
(对于更快的错误修复,请向Mercurial / sshfs / macfusion项目报告错误,而不是随机的互联网问题论坛。)