当我使用repo B从repo A中提取更改时,我注意到mercurial存储库扩展了大小。
似乎TortoiseHG在hg-bundle-r3e6uf.hg10un
目录下创建了.hg
之类的文件。这些文件的大小通常都是1-2MB,所以不会太大,但它们共同创造了很多,并且在进行备份时可能会很烦人。
如果我在不查看更改的情况下立即提取更改,或者如果我使用repo A将更改推送到B,则似乎不会发生这种情况。
这些捆绑包文件似乎没用,因为在克隆存储库B时不会复制它们。 如果没有它们,克隆的repo几乎要小一半,因此这些文件中的数据也不会被移动到其他文件中。
是否可以:
编辑:
当我选择'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]
答案 0 :(得分:1)
看来这是TortoiseHg的具体问题。解决方案是使用push或直接从命令行使用pull来避免额外的bundle。只有(安全)清理方法似乎是存储库克隆。