mirror of
https://github.com/facebook/sapling.git
synced 2024-10-09 08:18:15 +03:00
fb390f5f84
stripping of applied mq patches leads to wrong state recorded in status file. find all mq patches that will be affected and clean up status file before strip.
95 lines
1.6 KiB
Bash
Executable File
95 lines
1.6 KiB
Bash
Executable File
#!/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
|