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

r9753:ffda19f3 default
r10189:e451e599 default
Show More
test-hgweb-diffs
48 lines | 1.1 KiB | text/plain | TextLexer
Martin Geisler
tests: add missing interpreter lines
r8452 #!/bin/sh
Dirkjan Ochtman
hgweb: use patch.diff() to make sensible diffs (issue1223, issue1258)...
r7309 echo % setting up repo
hg init test
cd test
echo a > a
echo b > b
hg ci -Ama
echo % change permissions for git diffs
chmod 755 a
hg ci -Amb
echo % set up hgweb
hg serve -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
cat hg.pid >> $DAEMON_PIDS
echo % revision
"$TESTDIR/get-with-headers.py" localhost:$HGPORT '/rev/0'
Dirkjan Ochtman
hgweb: show diff header line in raw diffs
r9402 echo % raw revision
"$TESTDIR/get-with-headers.py" localhost:$HGPORT '/raw-rev/0'
Dirkjan Ochtman
hgweb: use patch.diff() to make sensible diffs (issue1223, issue1258)...
r7309 echo % diff removed file
"$TESTDIR/get-with-headers.py" localhost:$HGPORT '/diff/tip/a'
echo % set up hgweb with git diffs
Mads Kiilerich
tests: use killdaemons in hgweb tests...
r7428 "$TESTDIR/killdaemons.py"
Dirkjan Ochtman
hgweb: use patch.diff() to make sensible diffs (issue1223, issue1258)...
r7309 hg serve --config 'diff.git=1' -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
cat hg.pid >> $DAEMON_PIDS
echo % revision
"$TESTDIR/get-with-headers.py" localhost:$HGPORT '/rev/0'
Dirkjan Ochtman
hgweb: show diff header line in raw diffs
r9402 echo % revision
"$TESTDIR/get-with-headers.py" localhost:$HGPORT '/raw-rev/0'
Dirkjan Ochtman
hgweb: use patch.diff() to make sensible diffs (issue1223, issue1258)...
r7309 echo % diff removed file
"$TESTDIR/get-with-headers.py" localhost:$HGPORT '/diff/tip/a'
Dirkjan Ochtman
hgweb: treat rev as raw-rev if user agent is hg
r9731 cd ..
echo % test import rev as raw-rev
hg clone -r0 test test1
cd test1
Matt Mackall
Fix up import test
r9753 hg import -q --exact http://localhost:$HGPORT/rev/1
Dirkjan Ochtman
hgweb: treat rev as raw-rev if user agent is hg
r9731
Dirkjan Ochtman
hgweb: use patch.diff() to make sensible diffs (issue1223, issue1258)...
r7309 echo % errors
Dirkjan Ochtman
hgweb: treat rev as raw-rev if user agent is hg
r9731 cat ../test/errors.log