##// END OF EJS Templates
subrepo: change default path in hgrc of subrepo after cloning...
subrepo: change default path in hgrc of subrepo after cloning Previous behavior was to put in the cloned subrepos the path found in the original main repo. However it isn't valid for relative path and it seems more logical to reference instead the subrepos working copy path of the original main repo.

File last commit:

r9815:49efeed4 default
r10378:e1401c74 default
Show More
test-rebase-collapse
175 lines | 2.8 KiB | text/plain | TextLexer
/ tests / test-rebase-collapse
#!/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
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 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