cvsserver: Handle three part keys in git config correctly
authorFrank Lichtenheld <frank@lichtenheld.de>
Mon, 19 Mar 2007 15:55:58 +0000 (16:55 +0100)
committerJunio C Hamano <junkio@cox.net>
Thu, 22 Mar 2007 08:26:26 +0000 (01:26 -0700)
This is intended to be used in the form gitcvs.<method>.<var>
but this patch doesn't introduce any users yet.

Signed-off-by: Frank Lichtenheld <frank@lichtenheld.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
git-cvsserver.perl

index e9d489bc3012425f38113015dca4625548f81449..4edb796019aac56709fd6e186b27250c64cfa200 100755 (executable)
@@ -183,8 +183,12 @@ sub req_Root
     }
     foreach my $line ( @gitvars )
     {
-        next unless ( $line =~ /^(.*?)\.(.*?)=(.*)$/ );
-        $cfg->{$1}{$2} = $3;
+        next unless ( $line =~ /^(.*?)\.(.*?)(?:\.(.*?))?=(.*)$/ );
+        unless ($3) {
+            $cfg->{$1}{$2} = $4;
+        } else {
+            $cfg->{$1}{$2}{$3} = $4;
+        }
     }
 
     unless ( defined ( $cfg->{gitcvs}{enabled} ) and $cfg->{gitcvs}{enabled} =~ /^\s*(1|true|yes)\s*$/i )