我试图在面向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?
答案 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()
。请注意,没有任何错误检查。