Mercurial > hg
view tests/test-rebase-detach @ 10577:d5bd1beff794 stable
store: only add new entries to the fncache file
Newly added fncache entries were not added to the in-memory cache,
making it possible for 'hg convert' to cause duplicates in
.hg/store/fncache.
Duplicates in the fncache file are harmless, but excessive numbers
of duplicates from large converted repositories may slow down
execution speed considerably.
author | Adrian Buehlmann <adrian@cadifra.com> |
---|---|
date | Wed, 03 Mar 2010 14:50:35 +0100 |
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