Mercurial > public > mercurial-scm > hg
comparison tests/test-hgweb-commands.t @ 16722:7bf48bc7de23 stable
hgweb: fix filediff base calculation
Previously, we were finding the most recent version of a file in a
changeset and comparing it against its first file parent. This was
wrong on three counts:
- it would show a diff in revisions where there was no change to a file
- it would show a diff when only the exec bit changed
- it would potentially compare against a much older changeset, which
could be very expensive if git-style rename detection was enabled
This compares the file in the current context with that context's
parent, which may result in an empty diff when looking at a file not
touched by the current changeset.
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Mon, 14 May 2012 12:56:43 +0200 |
parents | 6097ede2be4d |
children | d490edc71146 |
comparison
equal
deleted
inserted
replaced
16717:1eede2ea2041 | 16722:7bf48bc7de23 |
---|---|
661 | 661 |
662 | 662 |
663 </body> | 663 </body> |
664 </html> | 664 </html> |
665 | 665 |
666 $ "$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '/filediff/1/foo/?style=raw' | 666 $ "$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '/filediff/0/foo/?style=raw' |
667 200 Script output follows | 667 200 Script output follows |
668 | 668 |
669 | 669 |
670 diff -r 000000000000 -r a4f92ed23982 foo | 670 diff -r 000000000000 -r 2ef0ac749a14 foo |
671 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | 671 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
672 +++ b/foo Thu Jan 01 00:00:00 1970 +0000 | 672 +++ b/foo Thu Jan 01 00:00:00 1970 +0000 |
673 @@ -0,0 +1,1 @@ | 673 @@ -0,0 +1,1 @@ |
674 +foo | 674 +foo |
675 | |
676 | |
677 | |
678 | |
679 | |
680 $ "$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '/filediff/1/foo/?style=raw' | |
681 200 Script output follows | |
682 | |
683 | |
675 | 684 |
676 | 685 |
677 | 686 |
678 | 687 |
679 | 688 |