##// END OF EJS Templates
patch: support diff data loss detection and upgrade...
patch: support diff data loss detection and upgrade In worst case, generating diff in upgrade mode can be two times more expensive than generating it in git mode directly: we may have to regenerate the whole diff again whenever a git feature is detected. Also, the first diff attempt is completely buffered instead of being streamed. That said, even without having profiled it yet, I am convinced we can fast-path the upgrade mode if necessary were it to be used in regular diff commands, and not only in mq where avoiding data loss is worth the price.

File last commit:

r8452:cb93eee1 default
r10189:e451e599 default
Show More
test-mq-strip
53 lines | 777 B | text/plain | TextLexer
Martin Geisler
tests: add missing interpreter lines
r8452 #!/bin/sh
Dirkjan Ochtman
mq: don't update the working copy on strip if parents aren't stripped...
r6635 echo "[extensions]" >> $HGRCPATH
echo "mq=" >> $HGRCPATH
teststrip() {
hg up -C $1
echo % before update $1, strip $2
hg parents
hg strip $2 2>&1 | sed 's/\(saving bundle to \).*/\1/'
echo % after update $1, strip $2
hg parents
hg unbundle -q .hg/strip-backup/*
rm .hg/strip-backup/*
}
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 | sed 's/\(saving bundle to \).*/\1/'
echo % after strip of merge parent
hg parents