diff --git a/src/gitolite-shell b/src/gitolite-shell index b596ba4..8437cbd 100755 --- a/src/gitolite-shell +++ b/src/gitolite-shell @@ -77,9 +77,10 @@ sub parse_soc { my $soc = $ENV{SSH_ORIGINAL_COMMAND}; $soc ||= 'info'; - if ( $soc =~ m(^(git-(?:upload|receive)-pack) '/?(.*?)(?:\.git)?'$) ) { + if ( $soc =~ m(^(git-(?:upload|receive)-pack) '/?(.*?)(?:\.git(\d)?)?'$) ) { # TODO git archive - my ( $verb, $repo ) = ( $1, $2 ); + my ( $verb, $repo, $trace_level ) = ( $1, $2, $3 ); + $ENV{D} = $trace_level if $trace_level; _die "invalid repo name: '$repo'" if $repo !~ $REPONAME_PATT; trace( 2, "git command", $soc ); return ( $verb, $repo );