[PATCH 2 of 3 stable V2] ancestor.deepest: decrement ninteresting correctly (issue3984)
Siddharth Agarwal
sid0 at fb.com
Thu Jul 25 17:50:03 CDT 2013
# HG changeset patch
# User Wei, Elson <elson.wei at gmail.com>
# Date 1374744953 -28800
# Thu Jul 25 17:35:53 2013 +0800
# Branch stable
# Node ID e2b3ff5b507ac825fa646e49c61696e8d3ca3bcc
# Parent acd8063547ca3cb47f65140be7930b60fefd9cdc
ancestor.deepest: decrement ninteresting correctly (issue3984)
The invariant this code tries to hold is that ninteresting is the number of
non-zero elements in the interesting array. interesting[nsp] will be
incremented soon, so if it was previously 0, it shouldn't be decremented.
diff --git a/mercurial/parsers.c b/mercurial/parsers.c
--- a/mercurial/parsers.c
+++ b/mercurial/parsers.c
@@ -1362,10 +1362,10 @@
if (nsp == sp)
continue;
seen[p] = nsp;
+ interesting[sp] -= 1;
+ if (interesting[sp] == 0 && interesting[nsp] > 0)
+ ninteresting -= 1;
interesting[nsp] += 1;
- interesting[sp] -= 1;
- if (interesting[sp] == 0)
- ninteresting -= 1;
}
}
interesting[sv] -= 1;
More information about the Mercurial-devel
mailing list