On Mon, 13 Feb 2012, rajesh boyapati wrote: > 2012/2/11 Jakub Narebski <jnareb@xxxxxxxxx> >> On Thu, 9 Feb 2012, Jakub Narebski wrote: >>> On Wed, 8 Feb 2012, rajesh boyapati wrote: >>>> 2012/2/8 Jakub Narebski <jnareb@xxxxxxxxx> [...] >>>> When I applied the above patch and also the patch from your previous >>>> e-mail, I am getting this error >>>>>>>>>>>>>>>>> >>>> [2012-02-08 14:09:58,396] ERROR >>>> com.google.gerrit.httpd.gitweb.GitWebServlet : CGI: fatal: bad revision >>>> 'HEAD' >>>> [2012-02-08 14:10:06,732] ERROR >>>> com.google.gerrit.httpd.gitweb.GitWebServlet : CGI: fatal: bad revision >>>> 'HEAD' >>>> [2012-02-08 14:10:11,404] ERROR >>>> com.google.gerrit.httpd.gitweb.GitWebServlet : CGI: fatal: bad revision >>>> 'HEAD' >>>> [2012-02-08 14:10:15,270] ERROR >>>> com.google.gerrit.httpd.gitweb.GitWebServlet : CGI: fatal: Not a valid >>>> object name HEAD >>>> <<<<<<<<<<<<<< >>>> With these patches, the previous errors at line numbers are gone. [...] >>> This final issue will be a bit harder to fix. This error message >>> >>> fatal: bad revision 'HEAD' >>> >>> comes from git (I think from "git rev-list" command), and not from gitweb. >>> It is printed on STDERR of git command. What has to be done to fix it is >>> to capture stderr of a process, or silence it. [...] >> Anyway, here is the patch that should fix those "CGI: fatal: Not a valid >> object name HEAD" errors for you. >> >> I'll resend the all the patches as single patch series for inclusion in >> git, but I am not sure if this latest patch will be accepted because of >> drawbacks of its implementation. >> >> -->8 ---- ----- ----- ----->8 -- >> From: Jakub Narebski <jnareb@xxxxxxxxx> >> Subject: [PATCH] gitweb: Silence stderr in parse_commit*() subroutines [...] >> diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl >> index 1181aeb..081ac45 100755 >> --- a/gitweb/gitweb.perl >> +++ b/gitweb/gitweb.perl >> @@ -3338,12 +3338,13 @@ sub parse_commit { >> >> local $/ = "\0"; >> >> - open my $fd, "-|", git_cmd(), "rev-list", >> + open my $fd, "-|", quote_command( >> + git_cmd(), "rev-list", >> "--parents", >> "--header", >> "--max-count=1", >> $commit_id, >> - "--", >> + "--") . ' 2>/dev/null', >> or die_error(500, "Open git-rev-list failed"); >> my $commit_text = <$fd>; >> %co = parse_commit_text($commit_text, 1) >> @@ -3363,7 +3364,8 @@ sub parse_commits { >> >> local $/ = "\0"; >> >> - open my $fd, "-|", git_cmd(), "rev-list", >> + open my $fd, "-|", quote_command( >> + git_cmd(), "rev-list", >> "--header", >> @args, >> ("--max-count=" . $maxcount), >> @@ -3371,7 +3373,7 @@ sub parse_commits { >> @extra_options, >> $commit_id, >> "--", >> - ($filename ? ($filename) : ()) >> + ($filename ? ($filename) : ())) . ' 2>/dev/null' >> or die_error(500, "Open git-rev-list failed"); >> while (my $line = <$fd>) { >> my %co = parse_commit_text($line); >> > > I am getting this error with this patch >>>>>>>>>>>>>>>>>>> > [2012-02-13 11:20:19,268] ERROR > com.google.gerrit.httpd.gitweb.GitWebServlet : CGI: usage: git rev-list > [OPTION] <commit-id>... [ -- paths... ] > [2012-02-13 11:20:19,268] ERROR > com.google.gerrit.httpd.gitweb.GitWebServlet : CGI: limiting output: > [2012-02-13 11:20:19,268] ERROR > com.google.gerrit.httpd.gitweb.GitWebServlet : CGI: --max-count=nr [...] > [2012-02-13 11:20:27,913] ERROR > com.google.gerrit.httpd.gitweb.GitWebServlet : CGI: fatal: bad flag '--2' > used after filename > [2012-02-13 11:20:32,579] ERROR > com.google.gerrit.httpd.gitweb.GitWebServlet : CGI: fatal: bad flag '--2' > used after filename > <<<<<<<<<<<<<<<<<<< Strange, I cannot reproduce this with non-Gerrit gitweb. It looks like it somehow lost in between "... -- 2>/dev/null" at the end of git-rev-list command, and fails at "--2" which is bad flag. Are you sure you applied the patch correctly? Does 'object' view (take any 'commit' or 'blob' or 'tree' view, and replace action part by 'object') works correctly in Gerrit's gitweb? -- Jakub Narebski Poland -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html