From: Junio C Hamano <junkio@cox.net>
To: Kay Sievers <kay.sievers@vrfy.org>
Cc: git@vger.kernel.org, "H. Peter Anvin" <hpa@zytor.com>, gregkh@kernel.org
Subject: Re: gitweb on kernel.org broken
Date: Mon, 16 Jan 2006 12:02:05 -0800 [thread overview]
Message-ID: <7vwth0rlfm.fsf@assigned-by-dhcp.cox.net> (raw)
In-Reply-To: 20060116190556.GA14184@vrfy.org
Kay Sievers <kay.sievers@vrfy.org> writes:
>> Junio, seems your "textual symref HEAD" change is causing this?
Yeah, I assumed git_read_head() is called only on a repository
that was verified to be valid, and the subroutine did not check
the case where HEAD does not verify. My bad. The attached
patch should solve this.
The error log says hotplug-ng.git is triggering it. I wonder what
is so special about that repository. I hope it is transient
during mirroring that mirrored HEAD before objects, not a
corrupt repository at the mirroring source.
... goes to kernel.org mirroring source machine ...
Ugh. It is _not_ a valid git repository. HEAD should be either a symlink
or a symref pointing somewhere under refs/heads/, but in that
directory, it instead is a regular file that contains an object
name. There is nothing under refs/ either:
$ ls -l /pub/scm/linux/hotplug/hotplug-ng.git/HEAD
-rw-r--r-- 2 gregkh users 41 May 6 2005 /pub/s...ug-ng.git/HEAD
$ cat /pub/scm/linux/hotplug/hotplug-ng.git/HEAD
b26bec9f620a969fe5238e8666ab698f197df488
$ ls -l /pub/scm/linux/hotplug/hotplug-ng.git/refs
total 0
$ exit
Greg, could you let me know what is going on with this
repository, please?
First of all, I am wondering if this repository is still used
(maintained); a regular file HEAD that contains an object name
would have stopped working on Aug 27 2005 with this commit at the
latest, maybe even before that:
diff-tree 5f5608b... (from 9740d28...
Author: Linus Torvalds <torvalds@osdl.org>
Date: Sat Aug 27 13:54:42 2005 -0700
[PATCH] Make .git directory validation code test HEAD
Inspired by a report by Kalle Valo, this changes git-sh-setup-script and
the "setup_git_directory()" function to test that $GIT_DIR/HEAD is a
symlink, since a number of core git features depend on that these days.
...
The way I expected to see that part of the directory laid out in
a valid git repository would be:
$ cd /pub/scm/linux/hotplug/hotplug-ng.git/
$ mkdir -p refs/heads
$ cat HEAD >refs/heads/master
$ rm -f HEAD
$ ln -s refs/heads/master HEAD
Anyhow, here is a gitweb patch to skip this.
---
diff --git a/gitweb.cgi b/gitweb.cgi
index 986d7da..f3853e7 100755
--- a/gitweb.cgi
+++ b/gitweb.cgi
@@ -404,9 +404,8 @@ sub git_read_head {
if (open my $fd, "-|", "$gitbin/git-rev-parse", "--verify", "HEAD") {
my $head = <$fd>;
close $fd;
- chomp $head;
- if ($head =~ m/^[0-9a-fA-F]{40}$/) {
- $retval = $head;
+ if (defined $head && $head =~ /^([0-9a-fA-F]{40})$/) {
+ $retval = $1;
}
}
$ENV{'GIT_DIR'} = $oENV;
next prev parent reply other threads:[~2006-01-16 20:02 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-01-16 18:44 gitweb on kernel.org broken H. Peter Anvin
2006-01-16 18:53 ` Kay Sievers
2006-01-16 19:05 ` Kay Sievers
2006-01-16 20:02 ` Junio C Hamano [this message]
2006-01-16 20:28 ` Greg KH
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=7vwth0rlfm.fsf@assigned-by-dhcp.cox.net \
--to=junkio@cox.net \
--cc=git@vger.kernel.org \
--cc=gregkh@kernel.org \
--cc=hpa@zytor.com \
--cc=kay.sievers@vrfy.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).