next: solve the issue of `next` get confused by split
This patch solve a problem of next command which get confused by split.
Let me describe how it was getting confused:
Initial state of repo:
A---B---C
After splitting B to (B1,B2):
@
A---B1---B2
\
---B---C
X *
(note: C is orphan; checkedout to B1)
Lets make an amend on B1:
@
B1'
/
A---B1---B2
\ X *
\
---B---C
X *
Now, if run `hg next` (--evolve is True by default now):
$ it would give you choice to choose from B2 and C thinking that C could also
be a possbile children for B1, instead of stablizing B2 on B1.
I fixed this problem by filtering those aspiring children which can be
stablized on one of the aspiring children itself.
Changes made in test-prev-next.t shows the changed expected behaviour.
#!/bin/bash
. $TESTDIR/testlib/pythonpath.sh
mkcommit() {
echo "$1" > "$1"
hg add "$1"
hg ci -m "$1"
}
getid() {
hg log --hidden --template '{node}\n' --rev "$1"
}
cat >> $HGRCPATH <<EOF
[alias]
debugobsolete=debugobsolete -d '0 0'
EOF
html_output() {
filepath="$1"
touch "$filepath"
shift
python $TESTDIR/testlib/arguments_printer.py 'hg' "$@" > "$filepath"
hg "$@" --color=always 2>&1 | aha -n | tee -a "$filepath"
}
html_raw_output() {
filepath="$1"
touch "$filepath"
shift
# python $TESTDIR/testlib/arguments_printer.py "$@" > "$filepath"
echo "" > "$filepath"
"$@" | tee -a "$filepath"
}
graph() {
hg docgraph --rankdir LR --arrowhead=true --obsarrowhead=true --sphinx-directive --dot-output "$@"
}