Mercurial > hg
view tests/test-rebase-detach @ 11223:0d09f2244805
rename: make --after work if source is already in R state
I routinely want to use `hg addrem` and then fix up missed renames
manually using `hg mv -A`. This patch allows me to record such
renames from a source in state R to a target in state A.
author | Peter Arrenbrecht <peter.arrenbrecht@gmail.com> |
---|---|
date | Wed, 26 May 2010 16:16:47 +0200 |
parents | 2313dc4d9817 |
children |
line wrap: on
line source
#!/bin/sh . $TESTDIR/helpers.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 addcommit "C" 2 addcommit "D" 3 hg update -C 0 addcommit "E" 4 } createrepo > /dev/null 2>&1 hg glog --template '{rev}: {desc}\n' echo '% Rebasing D onto E detaching from C' hg rebase --detach -s 3 -d 4 | hidebackup hg glog --template '{rev}: {desc}\n' echo "Expected A, D, E" hg manifest echo createrepo > /dev/null 2>&1 hg glog --template '{rev}: {desc}\n' echo '% Rebasing C onto E detaching from B' hg rebase --detach -s 2 -d 4 | hidebackup hg glog --template '{rev}: {desc}\n' echo "Expected A, C, D, E" hg manifest echo createrepo > /dev/null 2>&1 hg glog --template '{rev}: {desc}\n' echo '% Rebasing B onto E using detach (same as not using it)' hg rebase --detach -s 1 -d 4 | hidebackup hg glog --template '{rev}: {desc}\n' echo "Expected A, B, C, D, E" hg manifest echo createrepo > /dev/null 2>&1 hg glog --template '{rev}: {desc}\n' echo '% Rebasing C onto E detaching from B and collapsing' hg rebase --detach --collapse -s 2 -d 4 | hidebackup hg glog --template '{rev}: {desc}\n' echo "Expected A, C, D, E" hg manifest exit 0