From cdb6760e6f4ba956604d715df191b6f442238d5d Mon Sep 17 00:00:00 2001 From: Martin Langhoff Date: Sat, 4 Mar 2006 17:47:22 +1300 Subject: [PATCH] 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 --- git-cvsserver.perl | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/git-cvsserver.perl b/git-cvsserver.perl index 9da27231f..b45079246 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; -- 2.26.2