我和一位朋友正在讨论一个项目。我们在bitbucket上设置了repo set,使用带有mercurial的SourceTree客户端来更新更改。
我们这种方式已经工作了一年多,没有任何问题。
我们想要将存储库的访问权限授予其他朋友。他下载了SourceTree,授予他对bitbucket项目的许可,并开始克隆过程。
在所有下载的文件之后,他收到了这条消息:
updating to branch default
abort: file name, directory name or volume label syntax is incorrect
Completed with errors, see above.
他拥有所有文件,但它们都标记为未跟踪,并且在尝试更改分支时,它说:
abort: untracked files in working directory differ from files in requested revision
如果他继续删除所有未跟踪的文件,不留下任何文件,并尝试更改分支,无论他尝试更改哪个分支,他都会:
abort: file name, directory name or volume label syntax is incorrect
我一直在网上看,我在网上找到的唯一解释是关于某些文件名包含不受支持的字符。我们仔细检查过,情况并非如此。我的两个朋友都在运行Windows 10,但是一个没有发布的工作,另一个每次都会收到此错误。
我也在使用一个带有一个可疑名称的文件夹的路径,但这不是问题。
有没有人知道这里发生了什么?
谢谢,
答案 0 :(得分:0)
错误来自Python,并在Mercurial中作为中止传递。见stackoverflow question。来自Python的错误通常被mercurial捕获并作为abort
抛出,这是您在输出中看到的。
由于中止Mercurials不会更新它用于跟踪跟踪内容和不跟踪内容的“dirstate”。这导致事物显示为非跟踪。从该存储库中的命令行尝试hg --traceback update --clean tip
。
很难说出现了什么问题,但我认为他试图克隆的目录包含非ascii字符。
尝试克隆到一个简单的目录,例如:"C:\myproject"
从命令行尝试:hg clone YOUR-BITBUCKET-URL
如果仍然崩溃,请使用hg --traceback clone YOUR-BITBUCKET-URL
。您将看到错误的来源,您可以将其作为错误提交给Mercurial错误跟踪器:https://bz.mercurial-scm.org/