From: Jakub Narebski <jnareb@gmail.com>
To: Gerrit Pape <pape@smarden.org>
Cc: git@vger.kernel.org
Subject: Re: [PATCH (BUGFIX)] gitweb: Fix "Use of uninitialized value" error in 'history' view
Date: Sat, 5 Apr 2008 18:16:11 +0100 [thread overview]
Message-ID: <200804051916.14568.jnareb@gmail.com> (raw)
In-Reply-To: <20080405164303.30566.qmail@47fa24fd520dbf.315fe32.mid.smarden.org>
On Sat, 5 Apr 2008, Gerrit Pape wrote:
> On Fri, Apr 04, 2008 at 03:23:42PM +0100, Jakub Narebski wrote:
> > When asked for history of a file with no $hash ('h') parameter set,
> > and which file is not present in current branch ("HEAD" or given by
> > $hash_hase ('hb') parameter), but is present deeper in the full
> > history of a branch, gitweb would spew multiple of "Use of
> > uninitialized value" warnings, and some links would be missing.
> > This commit fixes this bug.
> >
> > This bug occurs in the rare cases when "git log -- <path>" is empty
> > and "git log --full-history -- <path>" is not. Gitweb tried to get
> > file type (it means if it is 'tree' or 'blob' or even 'commit', as
> > 'history' view is for single path which can be any of given types)
> > from the commit we start searching from, and not among found commits.
>
> Do you know whether this fixes http://bugs.debian.org/469083 too? I
> took a short look back then to fix it, but didn't manage it in a
> reasonable amount of time.
No it does not.
I have found what causes this bug. When adding is_deleted() subroutine
I have forgot about old/legacy URL support[1], where gitweb doesn't have
enough information to get raw diff info, and gitweb has to generate
required info itself, i.e. the part in git_blobdiff(), around
# old/legacy style URI
if (!%diffinfo && # if new style URI failed
defined $hash && defined $hash_parent) {
# fake git-diff-tree raw output
$diffinfo{'from_mode'} = $diffinfo{'to_mode'} = "blob";
$diffinfo{'from_id'} = $hash_parent;
$diffinfo{'to_id'} = $hash;
This code does not, and cannot, fill 'status_str' ('status' is faked).
I'd send in a bit patch fixing this bug (making is_deleted() more
robust).
Footnotes:
==========
[1] Note that example URL in http://bugs.debian.org/469083 does not
have 'hpb' ($hash_parent_base) parameter set... and that is what
causes this bug.
P.S. Gerrit, are you maintainer of git-core debian package?
--
Jakub Narebski
Poland
next prev parent reply other threads:[~2008-04-05 17:17 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-04-04 14:23 [PATCH (BUGFIX)] gitweb: Fix "Use of uninitialized value" error in 'history' view Jakub Narebski
2008-04-05 7:51 ` Junio C Hamano
2008-04-05 8:09 ` Jakub Narebski
2008-04-05 16:43 ` Gerrit Pape
2008-04-05 17:16 ` Jakub Narebski [this message]
2008-04-05 17:38 ` Jakub Narebski
2008-04-05 20:13 ` [PATCH] Revert "gitweb: Add 'status_str' to parse_difftree_raw_line output" Jakub Narebski
2008-04-06 10:22 ` [PATCH (BUGFIX)] gitweb: Fix "Use of uninitialized value" error in 'history' view Gerrit Pape
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200804051916.14568.jnareb@gmail.com \
--to=jnareb@gmail.com \
--cc=git@vger.kernel.org \
--cc=pape@smarden.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.