为什么 hg 不能正确克隆存储库?

Why hg does not clones correctly the repository?

我有一个要克隆的存储库。 我转到存储库目录并键入以下命令以获取分支。

hg branches

结果我得到了

blank                          0:4d82003d3fc7

我还使用

获取存储库的大小
du -sh ./

它打印

312M    ./

此存储库包含以下内容。

ls -a
.  ..  dummy  .hg  .hglf

现在,当我使用此命令克隆它时

hg clone /path/libname -r blank

我得到了新的存储库,它的大小只有 52 kbts,并且包含

.  ..  dummy  .hg  .hglf

我也克隆了它,没有 -r blank 选项

hg clone /path/libname

并得到相同的结果。我想如果存储库有 312M 大小,克隆的存储库也应该有一个可比较的大小。哪里有问题?

原始存储库有一个“.hglf”文件。这表明(很可能)它使用 'largefiles'。大文件存储在服务器上,并且只有在更新到特定修订版时才会下载该修订版。有几种可能性:

  1. 您没有使用大文件的修订版本。更新到一个可以的,你会看到更大的尺寸。

  2. 您没有启用 'largefiles extension'。启用它并尝试再次克隆,您应该会看到不同之处。要启用大文件,请添加到您的 .hgrc:

    [extensions] largefiles =

从 Mercurial 3.4(撰写本文时尚未发布)开始,在克隆带有大文件的存储库时将自动启用大文件扩展。