|
|
#!/bin/sh
|
|
|
|
|
|
. $TESTDIR/helpers.sh
|
|
|
|
|
|
echo "[extensions]" >> $HGRCPATH
|
|
|
echo "mq=" >> $HGRCPATH
|
|
|
echo "graphlog=" >> $HGRCPATH
|
|
|
|
|
|
restore() {
|
|
|
hg unbundle -q .hg/strip-backup/*
|
|
|
rm .hg/strip-backup/*
|
|
|
}
|
|
|
teststrip() {
|
|
|
hg up -C $1
|
|
|
echo % before update $1, strip $2
|
|
|
hg parents
|
|
|
hg --traceback strip $2 | hidebackup
|
|
|
echo % after update $1, strip $2
|
|
|
hg parents
|
|
|
restore
|
|
|
}
|
|
|
|
|
|
hg init test
|
|
|
cd test
|
|
|
|
|
|
echo foo > bar
|
|
|
hg ci -Ama
|
|
|
|
|
|
echo more >> bar
|
|
|
hg ci -Amb
|
|
|
|
|
|
echo blah >> bar
|
|
|
hg ci -Amc
|
|
|
|
|
|
hg up 1
|
|
|
echo blah >> bar
|
|
|
hg ci -Amd
|
|
|
|
|
|
echo final >> bar
|
|
|
hg ci -Ame
|
|
|
|
|
|
hg log
|
|
|
|
|
|
teststrip 4 4
|
|
|
teststrip 4 3
|
|
|
teststrip 1 4
|
|
|
teststrip 4 2
|
|
|
teststrip 4 1
|
|
|
teststrip null 4
|
|
|
|
|
|
hg log
|
|
|
|
|
|
hg up -C 2
|
|
|
hg merge 4
|
|
|
echo % before strip of merge parent
|
|
|
hg parents
|
|
|
hg strip 4 2>&1 | hidebackup
|
|
|
echo % after strip of merge parent
|
|
|
hg parents
|
|
|
restore
|
|
|
|
|
|
hg up
|
|
|
hg glog
|
|
|
echo % 2 is parent of 3, only one strip should happen
|
|
|
hg strip 2 3 | hidebackup
|
|
|
hg glog
|
|
|
restore
|
|
|
hg glog
|
|
|
echo % 2 different branches: 2 strips
|
|
|
hg strip 2 4 | hidebackup
|
|
|
hg glog
|
|
|
restore
|
|
|
echo % 2 different branches and a common ancestor: 1 strip
|
|
|
hg strip 1 2 4 | hidebackup
|
|
|
restore
|
|
|
|
|
|
# remove branchy history for qimport tests
|
|
|
hg strip 3 | hidebackup
|
|
|
|
|
|
#strip of applied mq should cleanup status file
|
|
|
hg up -C 3
|
|
|
echo fooagain >> bar
|
|
|
hg ci -mf
|
|
|
hg qimport -r tip:2
|
|
|
echo % applied patches before strip
|
|
|
hg qapplied
|
|
|
echo % stripping revision in queue
|
|
|
hg strip 3 | hidebackup
|
|
|
echo % applied patches after stripping rev in queue
|
|
|
hg qapplied
|
|
|
echo % stripping ancestor of queue
|
|
|
hg strip 1 | hidebackup
|
|
|
echo % applied patches after stripping ancestor of queue
|
|
|
hg qapplied
|
|
|
|