view tests/test-rebase-abort @ 10826:717c35d55fb3

color: colorize based on output labels instead of parsing output By overriding ui.write(), ui.write_err(), ui.popbuffer(), and ui.label(), the color extension can avoid parsing command output and simply colorize output based on labels. As before, the color extension provides a list of default colors for core commands/labels. Other extensions can provide their own defaults by specifying a colortable dict (similar to cmdtable). In this process, --color is promoted to a global option and the deprecated --no-color option is removed.
author Brodie Rao <brodie@bitheap.org>
date Fri, 02 Apr 2010 15:22:17 -0500
parents 8766fee6f225
children b345b1cc124f
line wrap: on
line source

#!/bin/sh

echo "[extensions]" >> $HGRCPATH
echo "graphlog=" >> $HGRCPATH
echo "rebase=" >> $HGRCPATH

cleanoutput () {
    sed -e 's/\(Rebase status stored to\).*/\1/'  \
        -e 's/\(Rebase status restored from\).*/\1/' \
        -e 's/\(saving bundle to \).*/\1/'
}

hg init a
cd a
echo 'c1' >common
hg add common
hg commit -d '0 0' -m "C1"

echo 'c2' >>common
hg commit -d '1 0' -m "C2"

echo 'c3' >>common
hg commit -d '2 0' -m "C3"

hg update -C 1
echo 'l1' >>extra
hg add extra
hg commit -d '3 0' -m "L1"

sed -e 's/c2/l2/' common > common.new
mv common.new common
hg commit -d '4 0' -m "L2"

hg glog  --template '{rev}: {desc}\n'

echo
echo '% Conflicting rebase'
hg rebase -s 3 -d 2 2>&1 | cleanoutput

echo
echo '% Abort'
hg rebase --abort 2>&1 | cleanoutput

hg glog  --template '{rev}: {desc}\n'