From: Martin Langhoff Date: Sat, 4 Mar 2006 04:47:22 +0000 (+1300) Subject: cvsserver: better error messages X-Git-Tag: v1.3.0-rc1~62 X-Git-Url: https://git.verplant.org/?a=commitdiff_plain;h=cdb6760e6f4ba956604d715df191b6f442238d5d;p=git.git cvsserver: better error messages We now have different error messages when the repo is not found vs repo is not configured to allow gitcvs. Should help users during initial checkouts. Signed-off-by: Martin Langhoff Signed-off-by: Junio C Hamano --- diff --git a/git-cvsserver.perl b/git-cvsserver.perl index 9da27231..b4507924 100755 --- a/git-cvsserver.perl +++ b/git-cvsserver.perl @@ -139,8 +139,21 @@ sub req_Root $state->{CVSROOT} = $data; $ENV{GIT_DIR} = $state->{CVSROOT} . "/"; + unless (-d $ENV{GIT_DIR} && -e $ENV{GIT_DIR}.'HEAD') { + print "E $ENV{GIT_DIR} does not seem to be a valid GIT repository\n"; + print "E \n"; + print "error 1 $ENV{GIT_DIR} is not a valid repository\n"; + return 0; + } - foreach my $line ( `git-var -l` ) + my @gitvars = `git-var -l`; + if ($?) { + print "E problems executing git-var on the server -- this is not a git repository or the PATH is not set correcly.\n"; + print "E \n"; + print "error 1 - problem executing git-var\n"; + return 0; + } + foreach my $line ( @gitvars ) { next unless ( $line =~ /^(.*?)\.(.*?)=(.*)$/ ); $cfg->{$1}{$2} = $3;