在将一个分支push到git服务器上是提示下面的错误
Use of uninitialized value in do "file" at /usr/share/gitolite/gl-auth-command line 40.
Null filename used at /usr/share/gitolite/gl-auth-command line 40.
fatal: The remote end hung up unexpectedly
我们可以先看一下gl-auth-command文件的第40行是什么东东。
打开这个我文件我们可以看到40行是“die "parse $ENV{GL_RC} failed: " . ($! or $@) unless do $ENV{GL_RC};”这行代码,
在这行代码中有一个变量GL_RC,这个变量是.gitolite.rc文件的路径,在这行出现错误,那么就很有可能是这个变量的值不对,
也就是根据这个变量无法找到.gitolite.rc这个文件。这个变量的赋值在gitolite.pm这个文件里,看一下是不是在赋值时有错误。
下面是正确的代码:
for my $glrc ( $ENV{HOME} . "/.gitolite.rc", "/etc/gitolite/gitolite.rc" ) {
if (-f $glrc) {
$ENV{GL_RC} = $glrc;
return;
}