我正在尝试使用mercurial的子存储库功能,使用mercurial eclipse插件\tortoiseHG。
这些是我采取的步骤:
- 创建了一个空目录
/root
- 克隆了我想要成为此文件夹内子存储库的所有存储库(
/root/sub1
、/root/sub2
) - 在根存储库
/root/.hgsub
中创建并添加.hgsub
文件,并将子存储库的所有映射放入其中 - 使用 tortoiseHG,右键单击
/root
并选择在此处创建存储库
- 再次使用 tortoise,选择
/root
中的所有文件并将它们添加到根存储库 - 提交了根存储库
- 将本地根存储库推送到我在 kiln 上设置的空存储库
然后,我使用 import->mercurial 在 eclipse 中提取了根存储库。
现在我看到所有子存储库都显示为未版本化(在 Eclipse 文件资源管理器中相应文件夹旁边没有“橙色圆柱体”图标)。
此外,当我右键单击其中一个子存储库时,我没有像通常那样在根项目中获得“团队”菜单中的所有 hg 命令 - 没有“拉”、“推”等。
此外,当我对子存储库中的文件进行更改,然后“提交”根项目时,它告诉我没有发现任何更改。
我在 tortoiseHG 中也看到了同样的行为 - 当我浏览 /root
下的文件时,直接属于根存储库的文件上有一个小图标(V 形符号),标记它们是版本控制,而子存储库的文件夹没有这样标记。
是什么让我怀疑这是我这边的错误,是这样的 1. tortoise 和 eclipse 都做同样的事情,所以两者中出现 bug 的可能性较小 2. 他们所做的看起来相当复杂,所以不太可能发生错误 - 他们都忽略 .hgsub 中的所有文件夹。如果发生相反的情况(所有子存储库都被视为主存储库的常规文件夹,而不是被视为未版本化),我会认为这是由于不处理子存储库而导致的错误。但显然两个应用程序都承认 .hgsub 文件
我做错了什么,还是一个错误?
最佳答案
这是一个已知错误:http://www.javaforge.com/issue/11871
关于eclipse - 为什么 Mercurial 子存储库在 Eclipse 和 torotoiseHG 中表现为未版本控制的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2887107/