Mercurial 路径错误,或者我做错了什么

Mercurial path bug, or am I doing something wrong

我正在尝试使用 subrepos,但当 pushing/pulling 更改服务器时,我一直遇到奇怪的问题。我觉得这是一个错误,但我不确定。

我确定在本地提交更改后,将更改提交到服务器的最佳方式是在服务器驱动器上使用 hg pull -u。我所做的是 cdc: 上我的 repo 的根目录, cdz: 上的服务器 repo 的根目录,然后使用命令 hg pull -u c: 来自 z:.

(我发现的原因是你不能将 -upush 一起使用,如果你不更新,那么当前版本最终会落后于最新版本(假设你推送的是 100,但它仍然是 99),然后当你提交更多更改时,你会遇到奇怪的合并问题,因为你处理了 99,现在必须合并回 100+。)

好的,但这不是错误。错误是,当我执行 hg pull -u c: 时,它似乎可以正常工作,但随后会出现如下错误:

Z:\>hg pull -u c:
pulling from c:
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
new changesets e8003f274ea0
abort: repository c:/SomeProject not found!

所以,这对我来说似乎是一个错误,因为路径 c:/SomeProject 是错误的,路径应该是 c:SomeProject。一旦发生这种情况,我必须手动更新错误的子仓库。

也许这与我设置子存储库的方式有关?我通过枚举项目目录中的文件夹并将 FolderName = FolderName 写入每个文件夹的文本文件来制作我的 .hgsub 文件。所以它看起来像:

SomeProject = SomeProject
SomeOtherProject = SomeOtherProject
etc.

也许它的格式应该不同?

我最近从版本 2.something 升级到版本 4.4.2 并且惊讶地发现这仍然发生。

我最终将其报告为错误,并在下一个版本中修复了。