##// 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:

r10147:27838bd9 stable
r10189:e451e599 default
Show More
test-bisect
107 lines | 1.6 KiB | text/plain | TextLexer
Giorgos Keramidas
tests: new test for the bisect extension
r2924 #!/bin/sh
set -e
echo % init
hg init
echo % committing changes
count=0
echo > a
while test $count -lt 32 ; do
echo 'a' >> a
test $count -eq 0 && hg add
hg ci -m "msg $count" -d "$count 0"
echo % committed changeset $count
Danek Duvall
Solaris portability fixes
r2932 count=`expr $count + 1`
Giorgos Keramidas
tests: new test for the bisect extension
r2924 done
echo % log
hg log
echo % hg up -C
hg up -C
echo % bisect test
Matt Mackall
bisect: use more standard command syntax and help
r5735 hg bisect -r
hg bisect -b
hg bisect -g 1
hg bisect -g
Matt Mackall
bisect: improve tests...
r5777 echo skip
hg bisect -s
Matt Mackall
bisect: use more standard command syntax and help
r5735 hg bisect -g
hg bisect -g
hg bisect -b
hg bisect -g
Matt Mackall
bisect: handle search for bad to good transitions...
r5776
echo % bisect reverse test
hg bisect -r
hg bisect -b null
hg bisect -g tip
hg bisect -g
Matt Mackall
bisect: improve tests...
r5777 echo skip
hg bisect -s
Matt Mackall
bisect: handle search for bad to good transitions...
r5776 hg bisect -g
hg bisect -g
hg bisect -b
hg bisect -g
Matt Mackall
bisect: improve tests...
r5777
hg bisect -r
hg bisect -g tip
hg bisect -b tip || echo error
hg bisect -r
hg bisect -g null
hg bisect -bU tip
Bernhard Leiner
add additional bisect tests
r6860 hg id
Dirkjan Ochtman
bisect: only complain when nothing can be done
r6983 echo % reproduce AssertionError, issue1228 and issue1182
Bernhard Leiner
add additional bisect tests
r6860 hg bisect -r
hg bisect -b 4
hg bisect -g 0
hg bisect -s
hg bisect -s
hg bisect -s
Dirkjan Ochtman
bisect: only complain when nothing can be done
r6983 echo % reproduce non converging bisect, issue1182
Bernhard Leiner
add additional bisect tests
r6860 hg bisect -r
hg bisect -g 0
hg bisect -b 2
hg bisect -s
Dirkjan Ochtman
bisect: only complain when nothing can be done
r6983
echo % test no action
hg bisect -r
Benoit Boissinot
fix test-bisect error (because of set -e)
r6990 hg bisect || echo failure
Bernhard Leiner
Circumvent removal of valid bisect candidates due to previously skipped ones...
r7557
echo % reproduce AssertionError, issue1445
hg bisect -r
hg bisect -b 6
hg bisect -g 0
hg bisect -s
hg bisect -s
hg bisect -s
hg bisect -s
hg bisect -g
Patrick Mezard
bisect: fix traceback when command executable is not found
r8802
Patrick Mezard
test-bisect: test --command option
r8803 set +e
Patrick Mezard
bisect: fix traceback when command executable is not found
r8802 echo % test invalid command
Mads Kiilerich
test-bisect: test handling of invalid commands without relying on sh
r10147 # assuming that the shell returns 127 if command not found ...
Patrick Mezard
bisect: fix traceback when command executable is not found
r8802 hg bisect -r
Mads Kiilerich
test-bisect: test handling of invalid commands without relying on sh
r10147 hg bisect --command 'exit 127'
Patrick Mezard
test-bisect: test --command option
r8803
echo % test bisecting command
cat > script.py <<EOF
#!/usr/bin/env python
import sys
from mercurial import ui, hg
repo = hg.repository(ui.ui(), '.')
if repo['.'].rev() < 6:
sys.exit(1)
EOF
chmod +x script.py
hg bisect -r
hg bisect --good tip
hg bisect --bad 0
hg bisect --command "`pwd`/script.py"
true