【问题标题】:Mercurial: Can't clone projectMercurial:无法克隆项目
【发布时间】:2016-09-26 10:00:07
【问题描述】:

我和一个朋友正在做一个项目。我们在 bitbucket 上设置了一个 repo,使用带有 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,但一个没有问题,另一个每次都出现这个错误。

我也认为他使用的路径带有一些带有可疑名称的文件夹,但这不是问题。

有人知道这里发生了什么吗?

谢谢,

【问题讨论】:

    标签: mercurial repository bitbucket atlassian-sourcetree sourcetree


    【解决方案1】:

    错误来自 Python,并在 Mercurial 中作为中止传递。见stackoverflow question。 Python 的错误通常会被 mercurial 捕获并作为 abort 抛出,这就是您在输出中看到的内容。

    由于中止,Mercurials 不会更新它用来跟踪哪些被跟踪和哪些未被跟踪的“dirstate”。这会导致事物显示为未跟踪。从该存储库中的命令行尝试hg --traceback update --clean tip

    很难说出了什么问题,但我假设他试图克隆到的目录包含非 ascii 字符。

    1. 尝试克隆到一个简单的目录,例如:"C:\myproject"

    2. 从命令行尝试:hg clone YOUR-BITBUCKET-URL

    3. 如果这仍然崩溃,请使用hg --traceback clone YOUR-BITBUCKET-URL。您将看到错误来自何处,您可以将其作为错误提交给 Mercurial bugtracker:https://bz.mercurial-scm.org/

    【讨论】:

    • 他尝试克隆到C:\test。仍然收到错误。当他回来时,我们会尝试你的答案。我会更新你。谢谢!
    • 仍然出现同样的错误。我们将尝试使用较旧的 mercurial 版本,看看它是否可以这样工作。
    • 即使使用相同的版本,错误仍然存​​在。 ://
    • 这是结果。底线是西班牙语中提到的错误:i.imgur.com/Vlo9Din.png
    • 我真的不知道,只能向 mercurial 提交错误报告。这很可能是一个错误。对不起,我帮不了你:/
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-27
    • 1970-01-01
    • 2020-06-30
    • 2012-06-05
    • 1970-01-01
    • 2021-10-12
    • 2021-09-09
    相关资源
    最近更新 更多