aboutsummaryrefslogtreecommitdiffstats
path: root/modules/restrictshell/templates/sv_membersh.pl
diff options
context:
space:
mode:
Diffstat (limited to 'modules/restrictshell/templates/sv_membersh.pl')
-rw-r--r--modules/restrictshell/templates/sv_membersh.pl9
1 files changed, 5 insertions, 4 deletions
diff --git a/modules/restrictshell/templates/sv_membersh.pl b/modules/restrictshell/templates/sv_membersh.pl
index 155bc300..0b07f23a 100644
--- a/modules/restrictshell/templates/sv_membersh.pl
+++ b/modules/restrictshell/templates/sv_membersh.pl
@@ -147,10 +147,11 @@ if ($#ARGV == 1 and $ARGV[0] eq "-c") {
push( @args, @args_user );
exec($bin_svn, @args) or die("Failed to exec $bin_svn: $!");
- } elsif ($use_git and $ARGV[1] =~ m:^git-.+:) {
+ } elsif ($use_git and $ARGV[1] =~ m:^$bin_git\b:) {
- # Delegate filtering to git-shell
- exec($bin_git, @ARGV) or die("Failed to exec $bin_git: $!");
+ # Delegate filtering to gitolite-shell
+ my ($gitolite_bin, @rest) = split(' ', $ARGV[1]);
+ exec($bin_git, @rest) or die("Failed to exec $bin_git: $!");
} elsif ($use_pkgsubmit and
$ARGV[1] =~ m:$regexp_pkgsubmit:) {
@@ -169,7 +170,7 @@ if ($#ARGV == 1 and $ARGV[0] eq "-c") {
}
unless (-e "/etc/membersh-errormsg") {
- if ($ARGV) {
+ if (@ARGV) {
print STDERR "You tried to execute: @ARGV[1..$#ARGV]\n";
} else {
print STDERR "You tried to run a interactive shell.\n"