{"thread":{"id":"5638","subject":"[PATCH] gitweb: Strip trailing slashes from $path in git_get_hash_by_path","startedAt":"2006-09-21T12:23:29Z","lastAt":"2006-09-21T16:09:12Z","messageCount":2,"participants":["Jakub Narebski"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"27360","messageId":"200609211423.29729.jnareb@gmail.com","threadId":"5638","inReplyTo":null,"subject":"[PATCH] gitweb: Strip trailing slashes from $path in git_get_hash_by_path","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2006-09-21T12:23:29Z","receivedAt":"2006-09-21T12:23:29Z","isPatch":true,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"Signed-off-by: Jakub Narebski <jnareb@gmail.com>\n---\nWhile\n        git ls-tree $base -- dirname\nshows dirname entry (that's what we want)\n        git ls-tree $base -- dirname/\nshows directory _contents_.\n\n gitweb/gitweb.perl |    2 +-\n 1 files changed, 1 insertions(+), 1 deletions(-)\n\ndiff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl\nindex fb8d37e..403bba1 100755\n--- a/gitweb/gitweb.perl\n+++ b/gitweb/gitweb.perl\n@@ -719,7 +719,7 @@ sub git_get_hash_by_path {\n \tmy $base = shift;\n \tmy $path = shift || return undef;\n \n-\tmy $tree = $base;\n+\t$path =~ s,/+$,,;\n \n \topen my $fd, \"-|\", git_cmd(), \"ls-tree\", $base, \"--\", $path\n \t\tor die_error(undef, \"Open git-ls-tree failed\");\n-- \n1.4.2.1\n"},{"id":"27366","messageId":"200609211809.12260.jnareb@gmail.com","threadId":"5638","inReplyTo":"200609211423.29729.jnareb@gmail.com","subject":"[PATCH] gitweb: Make git_get_hash_by_path check type if provided","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2006-09-21T16:09:12Z","receivedAt":"2006-09-21T16:09:12Z","isPatch":true,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"Signed-off-by: Jakub Narebski <jnareb@gmail.com>\n---\nThis patch depends textually (as context) from the previous patch.\nIt can be applied using -C1 without applying previous patch first.\n\n gitweb/gitweb.perl |    5 +++++\n 1 files changed, 5 insertions(+), 0 deletions(-)\n\ndiff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl\nindex 403bba1..7ed963c 100755\n--- a/gitweb/gitweb.perl\n+++ b/gitweb/gitweb.perl\n@@ -718,6 +718,7 @@ # get hash of given path at given ref\n sub git_get_hash_by_path {\n \tmy $base = shift;\n \tmy $path = shift || return undef;\n+\tmy $type = shift;\n \n \t$path =~ s,/+$,,;\n \n@@ -728,6 +729,10 @@ sub git_get_hash_by_path {\n \n \t#'100644 blob 0fa3f3a66fb6a137f6ec2c19351ed4d807070ffa\tpanic.c'\n \t$line =~ m/^([0-9]+) (.+) ([0-9a-fA-F]{40})\\t(.+)$/;\n+\tif (defined $type && $type ne $2) {\n+\t\t# type doesn't match\n+\t\treturn undef;\n+\t}\n \treturn $3;\n }\n \n-- \n1.4.2.1\n"}]}