svn: Quote repository root in regex match
authorTed Percival <redacted>
Mon, 31 Oct 2011 22:37:12 +0000 (16:37 -0600)
committerEric Wong <redacted>
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 <redacted>
Acked-by: Eric Wong <redacted>
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 "
git clone https://git.99rst.org/PROJECT