git/list[1] front-page[2] threads[3] people[4] search[5] about
 

git and gitweb inconsistencies

From
CSChris Shoemaker <c.shoemaker@cox.net>
Date
Oct 23, 2005, 00:14 UTC
Message-ID
<20051023001412.GA22679@pe.Belkin>

I've been experimenting with git and gitweb, but I've reached deadend. Maybe someone can help?

Short Version:
In sub git_get_type in gitweb.cgi, this line:
  open my $fd, "-|", "$gitbin/git-cat-file -t $hash" or return;

results in: error: unable to find e71b869f3333ad10a492251e099ed9176248a420 fatal: git-cat-file e71b869f3333ad10a492251e099ed9176248a420: bad file

BUT, from the shell: $ git-cat-file -t e71b869f3333ad10a492251e099ed9176248a420 commit

Longer explanation:

Initially I created the git repository using git-cvsimport as described in the cvs-migration document. I also installed gitweb.cgi and everything seemed to be fine. In particular the refs/heads/* files referred to the tips of current branches in cvs. I was quite pleased.

A few days later, I ran git-cvsimport again, with -i. This imported just the recent changes, but the view from gitweb didn't change. :(

At first, I thought that the git-cvsimport hadn't worked. But, git-whatchanged clearly showed the new changes. (I later learned that git-rev-list also returned the tip-of-branch commits.) After reading gitweb.cgi, I realized that the refs/heads/* files had not been changed, so they still referred to the tip-of-branch for the initial import. (I expected the refs/heads/* to point to the last commit on each branch. Was that wrong?)

Anyway, I tried to make a new head that actually pointed to what I expected:

$ echo `git-rev-list tip --max-count=1` > refs/heads/mytest $ git-cat-file -t `cat refs/heads/mytest` commit

No problem.  But, this same task doesn't seem to work from gitweb.cgi:

$ ./gitweb.cgi http://localhost/cgi-bin/gitweb.cgi?p=test\;a=heads > /dev/null error: unable to find e71b869f3333ad10a492251e099ed9176248a420 fatal: git-cat-file e71b869f3333ad10a492251e099ed9176248a420: bad file

How can this be?  Have I messed something up, or am I just totally confused?
-chris
ps. please cc, not subscribed.
Next: Sven Verdoolaege
Message 1 of 4 in “git and gitweb inconsistencies”
  1. Chris ShoemakerOct 23, 2005
  2. Sven VerdoolaegeOct 23, 2005
  3. Chris ShoemakerOct 23, 2005
  4. Sven VerdoolaegeOct 23, 2005

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.