具有子存储库和脱机克隆的Mercurial工作流程?

har*_*rpo 4 workflow mercurial offline subrepos

我离线了很多.

通常,我使用一个本地克隆作为功能,错误等的"中心".

hg clone local-hub bug-123
Run Code Online (Sandbox Code Playgroud)

离线工作.凉.

如果该项目包含远程子库,我可以使用类似的工作流程吗?

因为,如果.hgsub说

sub/shared = http://server/hg/shared
Run Code Online (Sandbox Code Playgroud)

hg克隆说

abort: error: getaddrinfo failed
Run Code Online (Sandbox Code Playgroud)

需要注意的是,一旦克隆创建(同时连接),push并且pull将使用路径在subrepo的hgrc(而不是用位置.hgsub).所以我可以指出这是一个本地克隆,一切都很酷.

clone.hgsub(正如它应该的那样).因此,如果服务器上存在"有福"的subrepo,我就无法离线创建新的克隆,即使我需要的文件就在那里.

这是一个问题,对吗?

Ry4*_*ase 6

理想情况下,设置项目的任何人都使用.hgsub文件中的相对URL,如下所示:

sub/shared = ../shared
Run Code Online (Sandbox Code Playgroud)

然后,当然,实际上共享主要回购的兄弟姐妹.然后只要你克隆了主要的回购和潜艇(作为兄弟姐妹),那么一切都会成功.

如果他们在.hgsub文件中使用了绝对URL,你可以使用.hgrc中的子路径部分解决它,如下所示:

[subpaths]
http://server/hg/shared = ../shared
Run Code Online (Sandbox Code Playgroud)

它在您的客户端提供翻译层.