我正在尝试使用 mercurial 的 subrepo 功能,使用 mercurial eclipse 插件\tortoiseHG。
这些是我采取的步骤:
- 创建了一个空目录
/root
- 克隆了我想成为此文件夹(
/root/sub1
,/root/sub2
)中的子存储库的所有存储库 .hgsub
在根仓库中创建并添加文件,/root/.hgsub
并将子仓库的所有映射放入其中- 使用 tortoiseHG,右键单击
/root
并选择create repository here
- 再次使用乌龟,选择里面的所有文件
/root
并将它们添加到根仓库 - 提交根仓库
- 将本地根仓库推入我在窑上设置的空仓库
然后,我使用 import->mercurial 在 Eclipse 中提取了根 repo。
现在我看到所有的子存储库看起来好像它们是未版本化的(在 eclipse 文件资源管理器中相应的文件夹旁边没有“橙色圆柱体”图标)。
此外,当我右键单击其中一个子存储库时,我没有像往常一样在“团队”菜单中获得所有 hg 命令,使用根项目 - 没有“拉”、“推”等。
此外,当我对子存储库中的文件进行更改,然后“提交”根项目时,它告诉我没有找到任何更改。
我在 tortoiseHG 中也看到了相同的行为 - 当我在 下浏览文件时/root
,直接属于根存储库的文件上有一个小图标(V 符号),标记它们是受版本控制的,而子存储库的文件夹没有标记像这样。
是什么让我怀疑这是我这边的一些错误,是 1. 乌龟和 eclipse 都做同样的事情,所以不太可能成为任何一个中的错误 2. 他们所做的看起来相当复杂,所以不太可能发生一个错误 - 他们都忽略了 .hgsub 中的所有文件夹。如果发生相反的情况(所有子存储库都被视为主存储库的常规文件夹,而不是被视为未版本化),我会认为这是由于不处理子存储库引起的错误。但显然这两个应用程序都承认 .hgsub 文件
我做错了什么,还是一个错误?