Mercurial 中克隆和复制的区别

发布于 2024-08-28 01:34:25 字数 102 浏览 6 评论 0原文

将 .hg 目录复制到另一个目录与 Mercurial 中的克隆相同(使用 TortoiseHg,尽管我认为这无关紧要),还是 Mercurial 中的克隆命令在此过程中做了一些特殊的事情?

Is copying the .hg directory to another directory the same as cloning in Mercurial (using TortoiseHg although I think that's irrelevant) or does the cloning command in Mercurial do something special during that process?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

咿呀咿呀哟 2024-09-04 01:34:25

几乎是一样的。克隆做了一些不同的事情,这些都不是必需的,但其中一些很酷:

  • 克隆也获得一个工作目录(您可以使用 -U 来避免)
  • 克隆将源存储库设置为 . hg/hgrc 文件
  • 克隆只能获取原始文件的子集(clone -r X 仅获取修订版 X 和所有祖先)
  • 克隆在文件系统支持时使用硬链接

最后一个非常酷。这意味着,如果我有一个 200GB 的存储库,并且执行clone -U src dest,我将获得一个完全不使用磁盘空间的完整克隆!如果我跳过 -U ,我会得到一个占用空间的工作副本,并且当两个克隆开始分歧时,新的克隆开始占用空间,但基本的 clone -U code> 在现代文件系统上是即时的并且不占用磁盘空间。副本则不然(副本也能正常工作)。

It's almost the same. Cloning does a few things different, none of which are required, but some of which are cool:

  • clones get a working directory too (which you can avoid with -U)
  • clones get the source repo set as default for push/pull in the .hg/hgrc file
  • clones can get just a subset of the original (clone -r X gets revision X and all ancestors only)
  • clones use hardlinks when the file system supports it

That last one is pretty cool. It means that if I have a 200GB repo and I do a clone -U src dest I get a full clone that uses no diskspace at all! If I skip the -U I get a working copy that takes up space, and as the two clones start to diverge the new one starts taking up space, but a basic clone -U is instantaneous and disk-space-free on modern file systems. That's not true of a copy (which does work just fine too).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文