Thread (1 message) 1 message, 1 author, 2016-06-15

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 patch
quoted
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 applied
quoted
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help