<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Mar 6, 2019 at 8:10 PM Pierre-Yves David <<a href="mailto:pierre-yves.david@ens-lyon.org">pierre-yves.david@ens-lyon.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"># HG changeset patch<br>
# User Pierre-Yves David <<a href="mailto:pierre-yves.david@octobus.net" target="_blank">pierre-yves.david@octobus.net</a>><br>
# Date 1551881213 -3600<br>
#      Wed Mar 06 15:06:53 2019 +0100<br>
# Node ID 1e978412397a4fe629dfa9420b1a7773dc936b19<br>
# Parent  92091b3de1503bf562fe5bf2b544781f92702738<br>
# EXP-Topic verify<br>
# Available At <a href="https://bitbucket.org/octobus/mercurial-devel/" rel="noreferrer" target="_blank">https://bitbucket.org/octobus/mercurial-devel/</a><br>
#              hg pull <a href="https://bitbucket.org/octobus/mercurial-devel/" rel="noreferrer" target="_blank">https://bitbucket.org/octobus/mercurial-devel/</a> -r 1e978412397a<br>
verify: also check full manifest validity during verify runs [RFC]<br>
<br>
Before this changes, `hg verify` only checked if a manifest revision existed and<br>
referenced the proper files. However it never checked the manifest revision<br>
content itself.<br>
<br>
Mercurial is expecting manifest entries to be sorted and will crash otherwise.<br>
Since `hg verify` did not tried a full restoration of manifest entry, it could<br>
ignore this kind of corruption.<br>
<br>
This new check significantly increases the cost of a `hg verify` run. This<br>
especially affects large repository not using `sparse-revlog`. We might want to<br>
put it behind a new flag like `--full`. Another way to look at this would be to<br>
offer a `--quick` flag that disable it. In particular, since `hg recover` runs<br>
verify, this could impact users.<br></blockquote><div><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">A slow `hg recover` is already painful for us whenever we run it. So we decided whatever happen, we will never Ctrl+C a hg process.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">That said, what are the cases which can lead to unsorted manifest revisions? It will be worth putting them in commit message.</div></div></div>