Mercurial > hg
view tests/test-rebase-detach @ 10505:b3311e26f94f stable
merge: fix --preview to show all nodes that will be merged (issue2043).
Formerly, it omitted nodes that were not descendants of the least
common ancestor of the two merge parents, even though those nodes
contribute to the merge. The new algorithm uses revlog.findmissing()
instead of ancestor() + nodesbetween().
author | Greg Ward <greg-hg@gerg.ca> |
---|---|
date | Mon, 15 Feb 2010 15:25:29 -0500 |
parents | 66d954e76ffb |
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 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 2>&1 | sed 's/\(saving bundle to \).*/\1/' 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 2>&1 | sed 's/\(saving bundle to \).*/\1/' 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 2>&1 | sed 's/\(saving bundle to \).*/\1/' 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 2>&1 | sed 's/\(saving bundle to \).*/\1/' hg glog --template '{rev}: {desc}\n' echo "Expected A, C, D, E" hg manifest exit 0