gitweb: Strip trailing slashes from $path in git_get_hash_by_path
PATCH 1/1 gitweb: Strip trailing slashes from $path in git_get_hash_by_path
Signed-off-by Jakub Narebski <[email protected]>
---
While
git ls-tree $base -- dirname
shows dirname entry (that's what we want)
git ls-tree $base -- dirname/
shows directory _contents_.
gitweb/gitweb.perl | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
gitweb/gitweb.perl +1 -1
@@ -719,7 +719,7 @@ sub git_get_hash_by_path { my $base = shift; my $path = shift || return undef; - my $tree = $base; + $path =~ s,/+$,,; open my $fd, "-|", git_cmd(), "ls-tree", $base, "--", $path or die_error(undef, "Open git-ls-tree failed");
Signature · 1 line
1.4.2.1
PATCH 1/1 gitweb: Make git_get_hash_by_path check type if provided
Signed-off-by Jakub Narebski <[email protected]>
---
This patch depends textually (as context) from the previous patch. It can be applied using -C1 without applying previous patch first.
gitweb/gitweb.perl | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-)
gitweb/gitweb.perl +5 -0
@@ -718,6 +718,7 @@ # get hash of given path at given ref sub git_get_hash_by_path { my $base = shift; my $path = shift || return undef; + my $type = shift; $path =~ s,/+$,,;
@@ -728,6 +729,10 @@ sub git_get_hash_by_path { #'100644 blob 0fa3f3a66fb6a137f6ec2c19351ed4d807070ffa panic.c' $line =~ m/^([0-9]+) (.+) ([0-9a-fA-F]{40})\t(.+)$/; + if (defined $type && $type ne $2) { + # type doesn't match + return undef; + } return $3; }
Signature · 1 line
1.4.2.1