Set $ENV{GIT_DIR} before calling git-* Apparently, git assumes that the repository is in pwd, unless you set GIT_DIR. Here's a slightly mindless patch that sets it anytime the $ENV{GIT_OBJECT_DIRECTORY} is set. I don't know if $ENV{GIT_OBJECT_DIRECTORY} is needed any more, though...
It works for me. -- The uneventful change to 2000 was nowhere more apparent than throughout the system. -- Office of Public Affairs, Henry Ford Health System +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ Noel Maddy <[EMAIL PROTECTED]>
--- /tmp/gitweb.cgi.orig 2006-02-27 17:03:15.000000000 -0500 +++ ./gitweb.cgi 2006-02-27 17:04:15.000000000 -0500 @@ -88,6 +88,7 @@ } $rss_link = "<link rel=\"alternate\" title=\"$project log\" href=\"$my_uri?p=$project;a=rss\" type=\"application/rss+xml\"/>"; $ENV{'GIT_OBJECT_DIRECTORY'} = "$projectroot/$project/objects"; + $ENV{'GIT_DIR'} = "$projectroot/$project"; } else { git_project_list(); exit; @@ -725,6 +726,7 @@ next; } $ENV{'GIT_OBJECT_DIRECTORY'} = "$projectroot/$proj{'path'}/objects"; + $ENV{'GIT_DIR'} = "$projectroot/$proj{'path'}"; my %co = git_read_commit($head); if (!%co) { next; @@ -1273,6 +1275,7 @@ next; } $ENV{'GIT_OBJECT_DIRECTORY'} = "$projectroot/$proj{'path'}/objects"; + $ENV{'GIT_DIR'} = "$projectroot/$proj{'path'}"; my %co = git_read_commit($head); if (!%co) { next;