复制.hg文件夹和使用克隆有什么区别?

Mda*_*daG 4 mercurial

假设我需要创建可以从中央存储库推送和提取的x存储库.克隆所有这些存储库与将.hg文件夹从中央存储库复制x次到空文件夹之间是否存在实际区别?

Von*_*onC 7

我能想到的一个区别是副本不是原子操作:
你不能确定你正在复制的repo没有被修改.


编辑:hg clone手册页实际提到:

在某些情况下,您可以使用完整的硬链接克隆存储库和工作目录

$ cp -al REPO REPOCLONE
Run Code Online (Sandbox Code Playgroud)

这是克隆的最快方法,但并不总是安全的.

  • 操作不是原子的(确保REPO在操作期间不会被修改取决于你)
  • 你必须确保你的编辑器打破硬链接(Emacs和大多数Linux内核工具都这样做).
  • 此外,这与将元数据放在.hg目录下的某些扩展不兼容,例如mq.