【发布时间】:2017-06-24 16:59:31
【问题描述】:
使用:Windows、TortoiseHg 4.4
我刚刚开始将 Mercurial 视为版本控制的途径,而不是我们(不是那么)出色的 TFS 2010 系统。我们的想法是允许使用我们当前的项目架构进行更灵活的分支并使合并更容易。
我创建了一个类似于以下的子回购结构:
+Main
++SharedProjects
++Country1
++Country2
(+=repo, ++=subrepo)
这在 Main 中创建了 .hgsub,其中包含:
SharedProjects = SharedProjects
Country1 = Country1
Country2 = Country2
查看 hg Workbench,我可以看到 Main 下项目文件夹的正确层次结构。
问题:
当我将文件添加到 Country1 文件夹并提交 Main 文件夹时,没有提交任何内容。但是如果我提交 Country1 (sub) repo 它提交就好了。
显然这会导致子存储库下存在多个子存储库的问题,并且会非常冒险地提交更改将被错过。
不确定我是否在尝试做我不应该做的事情,或者它是否不起作用并且有一个技巧?已经搜索并发现了很多旧问题,但这些修复都没有奏效:
我试过了:
- 在每个 .hgsub 路径的前面添加 ./
- 确保在提交对话框中选中“递归”
- 将“recurserepos=true”添加到 mercurial.ini
- 如果我直接提交子仓库,请确保文件确实提交
- 来自 Main 'hg commit -S -m "test cmd line commit"' 的命令行提交得到结果 '没有改变'
【问题讨论】:
-
更多关于命令行测试的信息。我已经使用 HG 文档 (mercurial.aragost.com/kick-start/en/subrepositories) 中的演练创建了一个 mainrepo 和 subrepo (of mainrepo),但仍然无法提交在子级别上发生的更改。看起来 .hgsubstate 文件是使用所有 00000000 而不是 guid 创建的,但我尝试设置不同的相对路径(./subrepo,../subrepo)无济于事。所以看起来好像这就是问题所在,但目前我很难找到解决方案。
标签: mercurial commit tortoisehg mercurial-subrepos