我有一个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服务器,所以我不需要担心历史。
如果不可能,是否有其他版本控制软件可以根据需要进行操作?