tests/test-rebase-issue-noparam-single-rev
author Edouard Gomez <ed.gomez@free.fr>
Sun, 04 Jan 2009 02:36:48 +0100
changeset 7583 77fec2d270ae
parent 6910 93609576244e
child 8168 8766fee6f225
permissions -rwxr-xr-x
convert/gnuarch: parse continuation-of revisions in gnuarch source In GNU Arch, continuation-of was often used for: - tagging revisions - continue working on a project in a new archive, because arch was scaling poorly in revision numbers (cat-logs were slow to be parsed and scanned through) - very similar to the previous point, fork his own branch of a project. Parsing this header information will allow to 'follow' new history because it often hints at older/forked/personal revision trees. This patch however just implements the parsing of the continuation-of header. A followup patch will implement the proper use of this new information.

#!/bin/sh

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

addcommit () {
    echo $1 > $1
    hg add $1
    hg commit -d "${2} 0" -u test -m $1
}

hg init a
cd a
addcommit "c1" 0
addcommit "c2" 1

addcommit "l1" 2

hg update -C 1
addcommit "r1" 3
addcommit "r2" 4
hg glog --template '{rev}:{desc}\n'

echo
echo '% Rebase with no arguments - single revision in source branch'
hg update -C 2
hg rebase 2>&1 | sed 's/\(saving bundle to \).*/\1/'
hg glog --template '{rev}:{desc}\n'

cd ..
rm -rf a
hg init a
cd a
addcommit "c1" 0
addcommit "c2" 1

addcommit "l1" 2
addcommit "l2" 3

hg update -C 1
addcommit "r1" 4
hg glog --template '{rev}:{desc}\n'

echo
echo '% Rebase with no arguments - single revision in target branch'
hg update -C 3
hg rebase 2>&1 | sed 's/\(saving bundle to \).*/\1/'
hg glog --template '{rev}:{desc}\n'