Re: [PATCH] gitweb: Silence stderr in parse_commit*() subroutines
From: Jakub Narebski <hidden>
Date: 2016-06-15 22:53:03
On Mon, 13 Feb 2012, rajesh boyapati wrote:
2012/2/13 Jakub Narebski [off-list ref]quoted
On Mon, 13 Feb 2012, rajesh boyapati wrote:
quoted
quoted
I am getting this error with this patchquoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
[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[...]quoted
[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.This is the patch I appliedquoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
sub parse_commit { my ($commit_id) = @_; my %co; return unless defined $commit_id; local $/ = "\0"; *open my $fd, "-|", quote_command( git_cmd(), "rev-list",* "--parents", "--header", "--max-count=1", $commit_id, * "--") . '2>/dev/null',*
^^^^^^^^^^^^^ It should be ' 2>/dev/null', with space before redirection, and not '2>/dev/null'. This space is here necessary.
With this Patch, Gerrit's gitweb is not showing anything. I mean, I can access gitweb from gerrit, but if I click on Tabs(like log, commit, etc...which worked with previous patches), I cannot see any thing. Even with previous patches also there is no improvement in Gerrit's gitweb, only some of the errors are gone in error_log. The improvement I am talking about is "If I click other tabs(log, shortlog, commit, tree,etc) after clicking "summary", Gerrit's gitweb is not showing anything".
Many views in gitweb do default to HEAD. If HEAD does not point to a valid commit, they would fail, in better or worse way. Except for the first one those patches are more of band-aid and workaround than fixing underlying issue that gitweb assumes that HEAD is valid in non-empty repository. But fixing this will require more work. -- Jakub Narebski Poland