mercurial子存储库提交未在父存储库

时间:2017-06-03 03:08:35

标签: mercurial mercurial-subrepos

我有一个mercurial repo结构如下:

/parent
    /child1
    /child2

使用以下用于hg服务的webconfig文件:

[paths]
/ = ./*
/parent/child1 = ./parent/child1/*
/parent/child2 = ./parent/child2/*

[web]
allow_push = *
push_ssl = false

我希望能够克隆/ parent / child1或/ parent / child2并更新它们,然后克隆/父级并从子节点获得所有更改。最好还显示孩子们的承诺。

我也希望能够随时轻松地将/孙子添加到其中一个孩子中,并使其功能与孩子一样(可以克隆父子文件夹并获取所有更改)

当前设置将允许我根据需要克隆子项,但任何更改都不会反映在父存储库中。

我正在使用hg server --web-config来提供这些回购。

我相信我需要使用.hgsub来实现这些结果,但我不确定我用信息找到的大多数地方如何链接到旧的http://mercurial.selenic.com/网站,因此只返回未找到的服务器错误。 我发现的其他subrepo相关配置只是用于映射/ parent / child1到/ child1(我将有很多subrepos可能被命名为相似或相同,所以我不希望在基础中有每个可用的)或者将其他人的回购映射为依赖。

这是我希望能够做的一个例子(cmd示例):

hg clone http://server/parent/child1 child1
cd child1
echo changes >file1.txt
hg commit -m "changes to child1"
hg push

cd ..
hg clone http://server/parent parent
cd parent/child1
echo new changes >>file1.txt
hg commit -m "changes to child1 again"
hg push

cd ../../child1
hg pull -u
type file1.txt

应打印

changes
new changes

这可能与mercurial服务有关吗?如何通过Web配置实现我想要的功能?我还在设置我的mercurial服务器,所以我不需要担心历史。

如果不可能,是否有其他版本控制软件可以根据需要进行操作?

0 个答案:

没有答案