1

当我使用 repo B 从 repo A 中提取更改时,我注意到 mercurial 存储库的大小会扩大。

似乎 TortoiseHGhg-bundle-r3e6uf.hg10un.hg目录下创建文件。这些文件通常每个大小为 1-2MB,因此不会太大,但它们一起创建了很多文件,并且在进行备份时可能会很烦人。

如果我在没有审查的情况下立即拉取更改,或者如果我使用 repo A 将更改推送到 B,这似乎不会发生。

这些捆绑文件似乎没用,因为它们在克隆存储库 B 时没有被复制。此外,没有它们,克隆的存储库几乎小了一半,所以就像这些文件中的数据也没有移动到其他文件一样。

是否有可能:

  • A) 避免在拉取时创建这些捆绑包。(仅当我可以访问两个存储库时才可以选择推送)
  • B)使用一些命令来清理 .hg 目录。(克隆不是很优雅)

编辑:

当我选择“传入”时,将创建第一个包:

% hg --repository C:\temp\hg\testB incoming --quiet --bundle c:\docume~1\username\locals~1\temp\thg.hlngus\CtemphgtestA_iavzew.hg C:\temp\hg\testA

1:d806c8cb0355
2:e0e3b20d5cb2
3:4e803a7ecefc
[command completed successfully Fri Aug 02 09:59:12 2013]

然后“接受”,创建第二个包:

% hg --repository C:\temp\hg\testB pull --verbose c:\docume~1\username\locals~1\temp\thg.hlngus\CtemphgtestA_iavzew.hg

pulling from c:\docume~1\username\locals~1\temp\thg.hlngus\CtemphgtestA_iavzew.hg
searching for changes
all local heads known remotely
3 changesets found
adding changesets
adding manifests
adding file changes
added 3 changesets with 3 changes to 1 files
(run 'hg update' to get a working copy)
[command completed successfully Fri Aug 02 10:00:10 2013]

在直接使用“拉”的情况下,不会创建额外的捆绑包:

% hg --repository C:\temp\hg\testB pull --verbose C:\temp\hg\testA

pulling from C:\temp\hg\testA
searching for changes
all local heads known remotely
3 changesets found
adding changesets
adding manifests
adding file changes
added 3 changesets with 3 changes to 1 files
(run 'hg update' to get a working copy)
[command completed successfully Fri Aug 02 10:01:52 2013]
4

1 回答 1

1

看来这是 TortoiseHg 特定的问题。解决方案是使用 push 或直接从命令行使用 pull 以避免额外的捆绑。唯一(安全)的清理方法似乎是存储库克隆。

于 2013-08-12T07:32:35.800 回答