tests/test-bookmarks-rebase
author Edouard Gomez <ed.gomez@free.fr>
Sun, 04 Jan 2009 02:36:48 +0100
changeset 7583 77fec2d270ae
parent 7317 98408cb74137
child 8167 6c82beaaa11a
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 "rebase=" >> $HGRCPATH
echo "bookmarks=" >> $HGRCPATH

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

echo % initialize repository
hg init

echo 'a' > a
hg ci -A -d '0 0' -u test -m "0"

echo 'b' > b
hg ci -A -d '0 0' -u test -m "1"

hg up 0
echo 'c' > c
hg ci -A -d '0 0' -u test -m "2"

echo 'd' > d
hg ci -A -d '0 0' -u test -m "3"

hg bookmark -r 1 one
hg bookmark -r 3 two

echo % bookmark list
hg bookmark

echo % rebase
hg rebase -s two -d one 2>&1 | cleanoutput

hg log