mirror of
https://github.com/git/git
synced 2024-08-27 11:39:22 +00:00
gitweb: Support comparing blobs (files) with different names
Fix the bug that caused "blobdiff" view called with new style URI for a rename with change diff to be show as new (added) file diff. New style URI for "blobdiff" for rename means with $hash_base ('hb') and $hash_parent_base ('hpb') paramaters denoting tree-ish (usually commit) of a blobs being compared, together with both $file_name ('f') and $file_parent ('fp') parameters. It is done by adding $file_parent ('fp') to the path limiter, meaning that diff command becomes: git diff-tree [options] hpb hb -- fp f Other option would be finding hash of a blob using git_get_hash_by_path subroutine and comparing blobs using git-diff, or using extended SHA-1 syntax and compare blobs using git-diff: git diff [options] hpb:fp hp:f Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
parent
aa453216d1
commit
5ae917acdf
|
@ -3885,7 +3885,7 @@ sub git_blobdiff {
|
|||
# read raw output
|
||||
open $fd, "-|", git_cmd(), "diff-tree", '-r', @diff_opts,
|
||||
$hash_parent_base, $hash_base,
|
||||
"--", $file_name
|
||||
"--", (defined $file_parent ? $file_parent : ()), $file_name
|
||||
or die_error(undef, "Open git-diff-tree failed");
|
||||
@difftree = map { chomp; $_ } <$fd>;
|
||||
close $fd
|
||||
|
@ -3935,7 +3935,7 @@ sub git_blobdiff {
|
|||
# open patch output
|
||||
open $fd, "-|", git_cmd(), "diff-tree", '-r', @diff_opts,
|
||||
'-p', $hash_parent_base, $hash_base,
|
||||
"--", $file_name
|
||||
"--", (defined $file_parent ? $file_parent : ()), $file_name
|
||||
or die_error(undef, "Open git-diff-tree failed");
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue