diff options
author | Frank Lichtenheld <frank@lichtenheld.de> | 2007-06-15 03:01:52 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2007-06-15 22:38:45 -0700 |
commit | fd1cd91e9407bccba3380dad6dcb60c4154d94a2 (patch) | |
tree | 133badfc7e95bba6e35177124b15fa10f53fa81d | |
parent | cvsserver: Add some useful commandline options (diff) | |
download | tgif-fd1cd91e9407bccba3380dad6dcb60c4154d94a2.tar.xz |
cvsserver: Let --base-path and pserver get along just fine
Embarassing bug number one in my options patch.
Since the code for --base-path support rewrote
the cvsroot value after comparing it with a possible
existing value (i.e. from pserver authentication)
the check always failed.
Signed-off-by: Frank Lichtenheld <frank@lichtenheld.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-x | git-cvsserver.perl | 10 | ||||
-rwxr-xr-x | t/t9400-git-cvsserver-server.sh | 1 |
2 files changed, 7 insertions, 4 deletions
diff --git a/git-cvsserver.perl b/git-cvsserver.perl index 9fbd9dbb20..f78afe812e 100755 --- a/git-cvsserver.perl +++ b/git-cvsserver.perl @@ -212,15 +212,17 @@ sub req_Root return 0; } + my $cvsroot = $state->{'base-path'} || ''; + $cvsroot =~ s#/+$##; + $cvsroot .= $data; + if ($state->{CVSROOT} - && ($state->{CVSROOT} ne $data)) { + && ($state->{CVSROOT} ne $cvsroot)) { print "error 1 Conflicting roots specified\n"; return 0; } - $state->{CVSROOT} = $state->{'base-path'} || ''; - $state->{CVSROOT} =~ s#/+$##; - $state->{CVSROOT} .= $data; + $state->{CVSROOT} = $cvsroot; $ENV{GIT_DIR} = $state->{CVSROOT} . "/"; diff --git a/t/t9400-git-cvsserver-server.sh b/t/t9400-git-cvsserver-server.sh index 392f890ce6..9b69452d6f 100755 --- a/t/t9400-git-cvsserver-server.sh +++ b/t/t9400-git-cvsserver-server.sh @@ -163,6 +163,7 @@ BEGIN AUTH REQUEST anonymous END AUTH REQUEST +Root /gitcvs.git EOF test_expect_success 'req_Root (base-path)' \ |