evolve: mark new hash-salting extras keys as uninteresting for effect flag
The user doesn't care if the
`evolve_source_local`/`evolve_source_other` values in the extras
changed, so this patch adds them to the blacklist that already exists
for that purpose.
This should also fix the flakiness we've seen in some tests. The
flakiness seemed to stem from `mercurial.obsutil.geteffectflag()` not
sorting extras keys. That means we ran into it relatively often for
the `evolve_source_local`/`evolve_source_other` keys because there
were two of them. That sorting bug should be fixed upstream.
$ . $TESTDIR/testlib/pythonpath.sh
$ cat >> $HGRCPATH << EOF
> [extensions]
> evolve=
> [experimental]
> evolution.allowdivergence = True
> EOF
This test file tests the case of content-divergence resolution of changesets
that have the null revision as the parent.
$ hg init issue6201
$ cd issue6201
$ touch test
$ hg add test
$ hg commit -m test
$ hg log -T '{node|short}\n'
be090ea66256
$ echo a >> test
$ hg amend -m div1
$ hg log -T '{node|short}\n'
79fa0eb22d65
$ hg up be090ea66256 --hidden --quiet
updated to hidden changeset be090ea66256
(hidden revision 'be090ea66256' was rewritten as: 79fa0eb22d65)
working directory parent is obsolete! (be090ea66256)
$ echo a >> test
$ echo b >> test
$ hg amend -m div2
2 new content-divergent changesets
$ hg log -T '{node|short}\n'
4b2524b7508e
79fa0eb22d65
$ hg evolve --content-divergent --tool :other
merge:[1] div1
with: [2] div2
base: [0] test
0 files updated, 1 files merged, 0 files removed, 0 files unresolved
working directory is now at 3b448ec6f793
$ hg evolve --list