我对 mercurial 很陌生,我已经阅读了很多关于这个主题的内容,但我一直无法找到明确的答案。
反复无常的指南说:“为了提高效率,只要源和目标位于同一文件系统上,就使用硬链接进行克隆(请注意,这仅适用于存储库数据,不适用于工作目录)。”
存储库wiki 页面说:“与存储库根目录中的 .hg 目录共存的所有文件和目录都被认为存在于工作目录中”。
现在,要在主仓库中“链接”一个子仓库,我会这样做:
hg init main
cd main
echo subrepo = ../subrepo > .hgsub
hg clone ../subrepo subrepo # (1)
hg add
hg ci -m "initial rev of the main repo"
上面的定义是否意味着我实际上是在执行 (1) 时创建一个副本??subrepo
还是我只是创建一个符号链接../subrepo
?根据 的输出ls
,它是一个实际的副本。但这对我来说听起来很奇怪......如果有人可以对这个主题有所了解,我将不胜感激。