cvsserver: Allow to override the configuration per access method
Allow to override the gitcvs.enabled and gitcvs.logfile configuration variables for each access method (i.e. "ext" or "pserver") in the form gitcvs.<method>.<var> Signed-off-by: Frank Lichtenheld <frank@lichtenheld.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
parent
92a39a14d0
commit
d55820ced6
@ -68,6 +68,18 @@ Note: you need to ensure each user that is going to invoke git-cvsserver has
|
|||||||
write access to the log file and to the git repository. When offering anon
|
write access to the log file and to the git repository. When offering anon
|
||||||
access via pserver, this means that the nobody user should have write access
|
access via pserver, this means that the nobody user should have write access
|
||||||
to at least the sqlite database at the root of the repository.
|
to at least the sqlite database at the root of the repository.
|
||||||
|
|
||||||
|
Both configuration variables can also be overriden for a specific method of
|
||||||
|
access. Valid method names are "ext" (for SSH access) and "pserver". The
|
||||||
|
following example configuration would disable pserver access while still
|
||||||
|
allowing access over SSH.
|
||||||
|
------
|
||||||
|
[gitcvs]
|
||||||
|
enabled=0
|
||||||
|
|
||||||
|
[gitcvs "ext"]
|
||||||
|
enabled=1
|
||||||
|
------
|
||||||
--
|
--
|
||||||
3. On the client machine you need to set the following variables.
|
3. On the client machine you need to set the following variables.
|
||||||
CVSROOT should be set as per normal, but the directory should point at the
|
CVSROOT should be set as per normal, but the directory should point at the
|
||||||
|
@ -191,7 +191,10 @@ sub req_Root
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
unless ( defined ( $cfg->{gitcvs}{enabled} ) and $cfg->{gitcvs}{enabled} =~ /^\s*(1|true|yes)\s*$/i )
|
unless ( ($cfg->{gitcvs}{$state->{method}}{enabled}
|
||||||
|
and $cfg->{gitcvs}{$state->{method}}{enabled} =~ /^\s*(1|true|yes)\s*$/i)
|
||||||
|
or ($cfg->{gitcvs}{enabled}
|
||||||
|
and $cfg->{gitcvs}{enabled} =~ /^\s*(1|true|yes)\s*$/i) )
|
||||||
{
|
{
|
||||||
print "E GITCVS emulation needs to be enabled on this repo\n";
|
print "E GITCVS emulation needs to be enabled on this repo\n";
|
||||||
print "E the repo config file needs a [gitcvs] section added, and the parameter 'enabled' set to 1\n";
|
print "E the repo config file needs a [gitcvs] section added, and the parameter 'enabled' set to 1\n";
|
||||||
@ -200,9 +203,10 @@ sub req_Root
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( defined ( $cfg->{gitcvs}{logfile} ) )
|
my $logfile = $cfg->{gitcvs}{$state->{method}}{logfile} || $cfg->{gitcvs}{logfile};
|
||||||
|
if ( $logfile )
|
||||||
{
|
{
|
||||||
$log->setfile($cfg->{gitcvs}{logfile});
|
$log->setfile($logfile);
|
||||||
} else {
|
} else {
|
||||||
$log->nofile();
|
$log->nofile();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user