view tests/test-rebase-check-restore @ 9110:561ff8d9e4f0

mq: qpop now tells which patches are popped When navigating through a patch series by qpushing and qpopping it was easy to get lost because qpop was silent. I found myself often running qnext after qpop to see which patch I just dropped - especially if I was about to qrm it. This patch makes qpop more symmetric to qpush by showing which patches are applied/"unapplied". I think it is a good change even though it changes output by adding a new line of output.
author Mads Kiilerich <mads@kiilerich.com>
date Thu, 09 Jul 2009 23:59:03 +0200
parents 8766fee6f225
children b345b1cc124f
line wrap: on
line source

#!/bin/sh

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

BASE=`pwd`

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

commit () {
    hg commit -d "${2} 0" -m $1
}

createrepo () {
    cd $BASE
    rm -rf a
    hg init a
    cd a
    addcommit "A" 0
    addcommit "B" 1
    echo "C" >> A
    commit "C" 2

    hg update -C 0
    echo "D" >> A
    commit "D" 3
    addcommit "E" 4

    hg update -C 0
    hg branch 'notdefault'
    echo "F" >> A
    commit "F" 5
}

echo
echo "% - Rebasing B onto E - check keep"
createrepo > /dev/null 2>&1
hg glog  --template '{rev}:{desc}:{branches}\n'
hg rebase -s 1 -d 4 --keep 2>&1 | sed 's/\(saving bundle to \).*/\1/'

echo
echo "% - Solve the conflict and go on"
echo 'conflict solved' > A
rm A.orig
hg resolve -m A
hg rebase --continue 2>&1 | sed 's/\(saving bundle to \).*/\1/'
hg glog  --template '{rev}:{desc}:{branches}\n'

echo
echo "% - Rebase F onto E - check keepbranches"
createrepo > /dev/null 2>&1
hg glog  --template '{rev}:{desc}:{branches}\n'
hg rebase -s 5 -d 4 --keepbranches 2>&1 | sed 's/\(saving bundle to \).*/\1/'

echo
echo "% - Solve the conflict and go on"
echo 'conflict solved' > A
rm A.orig
hg resolve -m A
hg rebase --continue 2>&1 | sed 's/\(saving bundle to \).*/\1/'
hg glog  --template '{rev}:{desc}:{branches}\n'

exit 0