Code

svn: Quote repository root in regex match
authorTed Percival <ted.percival@quest.com>
Mon, 31 Oct 2011 22:37:12 +0000 (16:37 -0600)
committerEric Wong <normalperson@yhbt.net>
Tue, 1 Nov 2011 20:05:33 +0000 (20:05 +0000)
Fixes a problem matching repository URLs, especially those with a '+' in
the URL, such as svn+ssh:// URLs. Parts of the URL were interpreted as
special characters by the regex matching.

Signed-off-by: Ted Percival <ted.percival@quest.com>
Acked-by: Eric Wong <normalperson@yhbt.net>
git-svn.perl

index b67fef0bf69da170a5a9748b9da8c31c6e1ca5c7..e30df22d89d97642f0b99c3a35ee0b2c5c062bb3 100755 (executable)
@@ -684,7 +684,7 @@ sub populate_merge_info {
                                fatal "merge commit $d has ancestor $parent, but that change "
                      ."does not have git-svn metadata!";
                        }
-                       unless ($branchurl =~ /^$rooturl(.*)/) {
+                       unless ($branchurl =~ /^\Q$rooturl\E(.*)/) {
                                fatal "commit $parent git-svn metadata changed mid-run!";
                        }
                        my $branchpath = $1;
@@ -867,7 +867,7 @@ sub cmd_dcommit {
                                                         ."has uuid $uuid!";
                                        }
 
-                                       unless ($branchurl =~ /^$rooturl(.*)/) {
+                                       unless ($branchurl =~ /^\Q$rooturl\E(.*)/) {
                                                # This branch is very strange indeed.
                                                fatal "merge parent $parent for $d is on branch "
                                                         ."$branchurl, which is not under the "