Mercurial > hg
view tests/test-rebase-collapse @ 7305:c21d236ca897
hgweb: descend empty directories in web view
When a manifest has a series of directories with nothing in them but a single
directory, displaying the entire chain of empty directories allows for
navigation down to the first non-empty directory with a single click.
Because Java links package hierarchy to directory hierarchy, and because Java
conventions include at least three empty directories at the top of this
hierarchy, descending down empty directories is very common in Java web tools.
author | Ry4an Brase <ry4an-hg@ry4an.org> |
---|---|
date | Mon, 03 Nov 2008 10:20:28 +0100 |
parents | 45495d784ad6 |
children | 8766fee6f225 |
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" -u test -m $1 } commit () { hg commit -d "${2} 0" -u test -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 hg update -C 0 addcommit "F" 5 hg merge -r 4 commit "G" 6 hg update -C 5 addcommit "H" 7 } createrepo > /dev/null 2>&1 hg glog --template '{rev}: {desc}\n' echo '% Rebasing B onto H' hg up -C 3 hg rebase --collapse 2>&1 | sed 's/\(saving bundle to \).*/\1/' hg glog --template '{rev}: {desc}\n' echo "Expected A, B, C, D, F, H" hg manifest createrepo > /dev/null 2>&1 echo echo '% Rebasing G onto H' hg rebase --base 6 --collapse 2>&1 | sed 's/\(saving bundle to \).*/\1/' hg glog --template '{rev}: {desc}\n' echo "Expected A, E, F, H" hg manifest createrepocomplex () { cd $BASE rm -rf a hg init a cd a addcommit "A" 0 addcommit "B" 1 hg up 0 addcommit "C" 2 hg merge commit "D" 3 hg up 1 addcommit "E" 4 addcommit "F" 5 hg merge commit "G" 6 hg up 0 addcommit "H" 7 } echo createrepocomplex > /dev/null 2>&1 hg glog --template '{rev}: {desc}\n' echo echo '% Rebase and collapse - more than one external (fail)' hg rebase -s 2 --collapse echo echo '% Rebase and collapse - E onto H' hg rebase -s 4 --collapse 2>&1 | sed 's/\(saving bundle to \).*/\1/' hg glog --template '{rev}: {desc}\n' echo "Expected A, B, C, E, F, H" hg manifest createrepocomplex () { cd $BASE rm -rf a hg init a cd a addcommit "A" 0 addcommit "B" 1 hg up 0 addcommit "C" 2 hg merge commit "D" 3 hg up 1 addcommit "E" 4 echo "F" > E commit "F" 5 addcommit "G" 6 hg merge commit "H" 7 hg up 0 addcommit "I" 8 } echo createrepocomplex > /dev/null 2>&1 hg glog --template '{rev}: {desc}\n' echo echo '% Rebase and collapse - E onto I' hg rebase -s 4 --collapse echo '% Fix conflict and continue' echo 'Resolved merge' > E hg resolve -m E hg rebase -c 2>&1 | sed 's/\(saving bundle to \).*/\1/' hg glog --template '{rev}: {desc}\n' echo "Expected A, B, C, E, G, I" hg manifest echo 'Cat E:' cat E createrepocomplex () { cd $BASE rm -rf a hg init a cd a addcommit "A" 0 addcommit "B" 1 addcommit "C" 2 hg up 1 addcommit "D" 3 hg merge commit "E" 4 hg up 0 addcommit "F" 5 } echo createrepocomplex > /dev/null 2>&1 hg glog --template '{rev}: {desc}\n' echo echo '% Rebase and collapse - B onto F' hg rebase -s 1 --collapse 2>&1 | sed 's/\(saving bundle to \).*/\1/' hg glog --template '{rev}: {desc}\n' echo "Expected A, B, C, D, F" hg manifest exit 0