【问题标题】:Mercurial, can't clone on Windows 7, "abort: No usable temporary filename found"Mercurial,无法在 Windows 7 上克隆,“中止:未找到可用的临时文件名”
【发布时间】:2011-04-04 19:24:40
【问题描述】:

我正在尝试克隆一个 repo,但它在 Windows 7 上失败了。看起来像这样:

C:\nodropwork>hg clone repoalias examplerepo
requesting all changes
adding changesets
adding manifests
adding file changes
added 1244 changesets with 9087 changes to 4816 files (+2 heads)
updating to branch default
abort: No usable temporary filename found
C:\nodropwork>cd examplerepo
C:\nodropwork\examplerepo>hg up
abort: No usable temporary filename found

然后文件系统包含源的前几个目录(前 3 个,总共大约 10 个)。

当我在 WinXP 上尝试这个时,克隆可以工作,尽管我在特定文件上收到错误消息:

updating to branch default
[partial xml console output removed]
abort: The system cannot find the file specified:
C:\nodropwork\examplerepo\collateral/con.xml

当拥有 repo 的人在他的 Ubuntu 系统上进行测试克隆时,它运行良好,完全没有错误或警告。

谷歌搜索“找不到可用的临时文件名”我看到 Mercurial 源代码具有 rename() 和 unlink() 等函数,尤其是在 windows.py 中。不过不确定如何处理这些信息。

我猜在 repo 中有一些东西是 WinXP 可以容忍的,但 Win 7 却被扼杀了。我们尝试从 repo 中删除 con.xml,但这并没有解决。即将放弃使用WinXP。

有人见过这个吗?知道修复吗?排除故障的好主意?

【问题讨论】:

  • 另外,你可以执行这个命令:hg manifest tip 并显示输出吗?
  • 使用版本 1.8.1,与 Python 2.6 for Windows 集成的版本,x86 版本(虽然它是 x64 机器)。我确实从一个不同的版本(x64 版本)开始并得到了同样的错误(这就是这一切开始的地方)。
  • hg manifest tip 显示了一个包含 2151 个文件的完整源代码树。
  • 我的意思是,给我们看看。听起来像是文件名问题。
  • 好的。我不确定我的客户是否希望我分享他的源代码树。也许以后。我确实查看了清单,并没有注意到任何非常糟糕的文件名。我还有一件事要调查,但我现在没时间了。如果您仍在观看,我可能会在明天再次发表评论——感谢您迄今为止的反馈。

标签: windows-7 mercurial clone


【解决方案1】:

这已解决,问题出在 repo 中的“con.xml”文件(显然它仍然隐藏在某个地方,即使我们认为我们已删除)。

您不能将文件命名为“con”-Windows 上的任何名称,“con”是一个禁止名称。

我们重命名了 con.xml 文件,并且 repo 现在可以在 Win 7 上正确克隆和更新。

【讨论】:

    猜你喜欢
    • 2011-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-05
    • 1970-01-01
    相关资源
    最近更新 更多