【发布时间】: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 个文件的完整源代码树。 -
我的意思是,给我们看看。听起来像是文件名问题。
-
好的。我不确定我的客户是否希望我分享他的源代码树。也许以后。我确实查看了清单,并没有注意到任何非常糟糕的文件名。我还有一件事要调查,但我现在没时间了。如果您仍在观看,我可能会在明天再次发表评论——感谢您迄今为止的反馈。