【问题标题】:Mercurial pull creates (useless?) bundlesMercurial pull 创建(没用?)捆绑
【发布时间】:2013-07-31 10:42:50
【问题描述】:

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

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

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

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

是否可以:

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

【问题讨论】:

  • 使用 Mercurial 多年后,我从未见过这些。但话又说回来,我从未使用过 TortoiseHg。

标签: mercurial tortoisehg


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2021-03-13
    • 2014-01-22
    • 2013-09-24
    • 1970-01-01
    • 2016-07-05
    • 1970-01-01
    • 2012-06-29
    • 2011-07-07
    • 1970-01-01
    相关资源
    最近更新 更多