克隆到 Mercurial Hg

Cloning into Mercurial Hg

我已经开始将存储库克隆到我的本地计算机。该存储库包含 2 个子存储库。首先,这 2 个子存储库将其他存储库引用到同一个 mercurial(.hgsub 文件包含路径)。后来(正如我在文件修订历史中看到的那样)另一位程序员修改了 .hgsub 文件,使用另一条路径指向同名存储库,该存储库托管在另一台服务器上,我无权访问。后来他将这些子存储库引用回我们服务器上的主存储库。所以最新的存储库包含仅来自我们服务器的代码。

所以我开始克隆存储库。 Mercurial 显然应用了从一开始所做的所有修订。当涉及到更改子存储库路径的修订时,它会要求授权进入其他服务器 Mercurial。我无权访问该服务器。因此,克隆过程在此处停止,状态为“失败”。我已经分别克隆了这两个子存储库,并将它们复制粘贴到本地存储库的适当位置。打开主解决方案并尝试构建它,但由于某些项目对库的引用已过时而出现错误。我删除了它们并再次引用。尝试重新构建,但有些库不包含某些方法。而且我无法将它们更新到最新版本,因为克隆没有成功。我不知所措。有人遇到过类似情况吗?

尝试在不更新工作目录的情况下克隆主仓库,这应该允许您在不拉取子仓库的情况下拉取主仓库。如果这不起作用,则跳过此步骤。

然后尝试将 [subpaths] 部分添加到存储库的 hgrc 文件或您的 mercurial.ini 文件(在您的 C:\users\username\ 文件夹下)。

子路径部分允许您重新映射部分文件路径,非常适合子存储库的完整路径位于 .hgsub 但存储库已移动的情况。

每行的格式是

original path = new path

而且它绝对支持常规的本地文件路径、UNC 路径、http(s) 和 ssh。

以下是一些示例子路径行:

[subpaths]
https://code.server.com/originalrepo = ssh://other.server.com/movedrepo
https://code.server.com/originalrepo = https://other.server.com/movedrepo
C:\Projects\originalrepo\ = \server\projects\movedrepo\

请注意 = 左侧的路径必须正确转义反斜杠,右侧的路径则不需要。