重新克隆没有generaldelta的mercurial存储库

时间:2017-12-07 06:57:52

标签: mercurial

我试图在面向Internet的计算机上执行hg clone,以便以后在离线构建计算机上使用。不幸的是,mercurial在互联网机器上是3.9.1,在离线机器上是1.4。

我收到错误abort: requirement 'generaldelta' not supported!以及abort: requirement 'dotencode' not supported!

我发现这是因为在1.9中添加了generaldelta功能,在1.7中添加了dotencode。我已使用MissingRequirement wiki page中的说明使用以下内容降级此回购。

hg clone -U --config format.generaldelta=0 --config format.dotencode=0 --pull /tmp/foo /tmp/bar

然而/tmp/bar的新回购仍使用generaldelta,但dotencode要求已经消失。即。

cat /tmp/bar/.hg/requires 

fncache
generaldelta  <=== still there
revlogv1
store

store

如何在禁用generaldelta和dotencode的情况下重写repo?

1 个答案:

答案 0 :(得分:2)

配置选项应为format.usegeneraldelta而不是format.generaldelta。即。

hg clone -U --config format.usegeneraldelta=0 --config format.dotencode=0 --pull /tmp/foo /tmp/bar

注意配置。除了config.use<feature-name> config.dotencode之外,所有选项都是PagedList.filter()。请注意,没有任何错误检查。