evovle: remove redundancy in evolve output
Copying the discription of this redundancy issue given by Pierre Yves David:
When running `hg evolve` to stabilize orphan changeset output about the
currently stabilized changeset is issued. For example:
$ hg evolve
move:[3] a3
atop:[4] a2
working directory is now at 7c5649f73d11
This output can become quite repetitive when orphan are stabilized atop
each other. For example:
$ hg evolve --all
move:[8] dansk 2!
atop:[10] dansk!
merging main-file-1
move:[9] dansk 3!
atop:[11] dansk 2!
In this case it would be smoother to issue:
$ hg evolve --all
move:[8] dansk 2!
atop:[10] dansk!
merging main-file-1
move:[9] dansk 3!
Since we are moving "dansk 3!" atop the changeset we just stabilized.
When adding this be careful that we still want to issue the "atop" message
in various cases:
1. first changesets in a stack
2. when the orphan is not stabilized atop previous one
3. when using hg evolve --continue to resume an evolution
So, I have made the changes which also respect above listed three points.
And changes in tests/test-evovle*.t reflecting the changed behavior.
$ . ${TESTDIR}/testlib/pythonpath.sh
$ cat >> $HGRCPATH <<EOF
> [defaults]
> amend=-d "0 0"
> [web]
> push_ssl = false
> allow_push = *
> [phases]
> publish = False
> [experimental]
> bundle2-exp=False # < Mercurial-4.0
> [devel]
> legacy.exchange=bundle1
> [extensions]
> EOF
$ mkcommit() {
> echo "$1" > "$1"
> hg add "$1"
> hg ci -m "add $1"
> }
$ hg init server
Try the multiple ways to setup the extension
$ hg -R server log --config 'extensions.evolve.serveronly='
$ hg -R server log --config "extensions.evolve.serveronly=${SRCDIR}/hgext3rd/evolve/serveronly.py"
$ PYTHONPATH=$HGTEST_ORIG_PYTHONPATH hg -R server log --config "extensions.evolve.serveronly=${SRCDIR}/hgext3rd/evolve/serveronly.py"
setup repo
$ echo "[extensions]" >> ./server/.hg/hgrc
$ echo "evolve.serveronly=" >> ./server/.hg/hgrc
$ hg serve -R server -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log --traceback
$ cat hg.pid >> $DAEMON_PIDS
$ hg clone http://localhost:$HGPORT/ client
no changes found
updating to branch default
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cat ./errors.log
$ echo "[extensions]" >> ./client/.hg/hgrc
$ echo "evolve=" >> ./client/.hg/hgrc
$ cp -r client other
Smoke testing
===============
$ cd client
$ mkcommit 0
$ mkcommit a
$ hg push
pushing to http://localhost:$HGPORT/
searching for changes
abort: remote error:
incompatible Mercurial client; bundle2 required
(see https://www.mercurial-scm.org/wiki/IncompatibleClient)
[255]
$ cat ../errors.log