Mercurial pull创造(无用?)束

时间:2013-07-31 10:42:51

标签: mercurial tortoisehg

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

似乎TortoiseHG在hg-bundle-r3e6uf.hg10un目录下创建了.hg之类的文件。这些文件的大小通常都是1-2MB,所以不会太大,但它们共同创造了很多,并且在进行备份时可能会很烦人。

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

这些捆绑包文件似乎没用,因为在克隆存储库B时不会复制它们。 如果没有它们,克隆的repo几乎要小一半,因此这些文件中的数据也不会被移动到其他文件中。

是否可以:

  • A)避免在拉动时创建这些束。 (仅当我有权访问两个回购时才推送选项)
  • B)使用一些命令清理.hg目录。 (克隆不是很优雅)

编辑:

当我选择'Incoming'时,会创建第一个包:

% 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]

如果直接使用'Pull',则不会创建额外的包:

% 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]

1 个答案:

答案 0 :(得分:1)

看来这是TortoiseHg的具体问题。解决方案是使用push或直接从命令行使用pull来避免额外的bundle。只有(安全)清理方法似乎是存储库克隆。