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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).