mergestate: replace `addmergedother()` with generic `addcommitinfo()` (API)
Storing that a file is resolved for the other parent while merging is just one
case of things we will like to store in the mergestate. There are more which we
will like to store.
This patch replaces `addmergedother()` with a much more generic
`addcommitinfo()`. Doing this, we also blinding stores the same key value pair
generated by the merge code instead of touching them.
Differential Revision: https://phab.mercurial-scm.org/D8923
#require no-pure
A script to generate nasty diff worst-case scenarios:
$ cat > s.py <<EOF
> import random
> for x in range(100000):
> print
> if random.randint(0, 100) >= 50:
> x += 1
> print(hex(x))
> EOF
$ hg init a
$ cd a
Check in a big file:
$ "$PYTHON" ../s.py > a
$ hg ci -qAm0
Modify it:
$ "$PYTHON" ../s.py > a
Time a check-in, should never take more than 10 seconds user time:
$ hg ci --time -m1 --config worker.enabled=no
time: real .* secs .user [0-9][.].* sys .* (re)