##// END OF EJS Templates
don't return uninitialized memory from bdiff.blocks()...
don't return uninitialized memory from bdiff.blocks() bdiff.blocks() returns a dummy match at the end of both files; the length of that chunk is never set, so it will sometimes contain random heap garbage. There are apparently workarounds for this elsewhere: # bdiff sometimes gives huge matches past eof, this check eats them,

File last commit:

r4104:0934fef8 default
r4131:1ca664c9 default
Show More
test-diff-binary-file
25 lines | 442 B | text/plain | TextLexer
/ tests / test-diff-binary-file
#!/bin/sh
hg init a
cd a
cp $TESTDIR/binfile.bin .
hg add binfile.bin
hg ci -m 'add binfile.bin' -d '0 0'
echo >> binfile.bin
hg ci -m 'change binfile.bin' -d '0 0'
hg revert -r 0 binfile.bin
hg ci -m 'revert binfile.bin' -d '0 0'
echo % diff -r 0 -r 1
hg diff --nodates -r 0 -r 1
echo % diff -r 0 -r 2
hg diff --nodates -r 0 -r 2
echo % diff --git -r 0 -r 1
hg diff --git -r 0 -r 1
echo % diff --git -r 0 -r 2
hg diff --git -r 0 -r 2