为什么mercurial Subrepo在eclipse和torotoiseHG中表现为未版本文件
我正在尝试使用mercurial的subrepo特性,使用mercurial eclipse插件\tortoiseHG 以下是我采取的步骤:为什么mercurial Subrepo在eclipse和torotoiseHG中表现为未版本文件,eclipse,mercurial,tortoisehg,subrepos,Eclipse,Mercurial,Tortoisehg,Subrepos,我正在尝试使用mercurial的subrepo特性,使用mercurial eclipse插件\tortoiseHG 以下是我采取的步骤: 创建了一个空目录/root 已克隆此文件夹中我希望成为子repo的所有repo(/root/sub1,/root/sub2) 在根repo/root/.hgsub中创建并添加.hgsub文件,并将子repo的所有映射放在其中 使用tortoiseHG,右键单击/root,然后选择在此处创建存储库 再次使用tortoise,选择/root中的所有文件,并将它
/root
/root/sub1
,/root/sub2
)/root/.hgsub
中创建并添加.hgsub
文件,并将子repo的所有映射放在其中/root
,然后选择在此处创建存储库
/root
中的所有文件,并将它们添加到根repo/root
下浏览文件时,直接属于根repo的文件上有一个小图标(V符号),标记它们是版本控制的,而子repo的文件夹则没有这样标记
是什么让我怀疑这是我的错误 1.乌龟和月食都做同样的事情,所以它们都不太可能是虫子 2.他们所做的看起来相当复杂,因此不太可能由bug发生-他们都忽略了.hgsub中的所有文件夹。如果发生了相反的情况(所有子回购都被视为主回购的常规文件夹,而不是被视为未版本),我会认为这是由于不处理子回购而导致的错误。但很明显,这两款应用都承认.hgsub文件
我做错了什么,还是一个bug?在您的第一步中,您是否在根repo中实际嵌套了Mercurial repo?
如果
.hgsub
只是主repo的子目录(本身没有任何.hg
),那么将.hgsub
与“subdir=subdir
”指令放在一起并不足以使subdir
成为子repo
如文件所述:
请注意,嵌套的存储库必须实际存在,.hgsub中的行才能执行任何操作例如,如果不创建本地嵌套存储库,而是尝试链接到预先存在的远程存储库,则还必须克隆该存储库: 如果有疑问,请始终尝试在命令行中重复您所做的操作(直到推送),以查看Hg CLI(命令行界面)会话可以向您展示什么。
您可以在当前回购协议的克隆上进行实验,看看哪里出了问题 现在,如果您确实有嵌套的Hg repos,那么仍然有可能插件“”还不支持子repos。
它在发行说明中根本没有提到次级回购。
而乌龟只在它的名字里提到它们 在状态/提交工具中支持子回购
这是一个已知的错误:感谢您的编辑和精确性。我已经完成了我的回答,但最可靠的调试方法是通过CLI(shell中的hg命令)进行调试。让我怀疑这是我自己的错误,是1。乌龟和月食都做同样的事情,所以它不太可能是任何一个2的错误。他们所做的看起来相当复杂,因此不太可能由bug发生-他们都忽略了.hgsub中的所有文件夹。如果发生了相反的情况(所有子回购都被视为主回购的常规文件夹,而不是被视为未版本),我会认为这是由于不处理子回购而导致的错误。但很明显,这两款应用都承认.hgsub文件是一个很好的陷阱+1为什么乌龟似乎也有同样的问题?
$ echo nested = https://example.com/nested/repo/path > .hgsub
$ hg add .hgsub
$ hg clone https://example.com/nested/repo/path nested