git-svn: attempt to mimic SVN 1.7 URL canonicalization
authorMichael G. Schwern <schwern@pobox.com>
Sat, 28 Jul 2012 09:47:47 +0000 (02:47 -0700)
committerEric Wong <normalperson@yhbt.net>
Thu, 2 Aug 2012 21:46:00 +0000 (21:46 +0000)
commit93c3fcbe4d4893fac6c9de64219b2eda0b309a13
treeaf100c0dec7e4eddde9c7bfe88af538e425fda3f
parent1a35da0b5dc74dc23d7184f838c5dea9bd544334
git-svn: attempt to mimic SVN 1.7 URL canonicalization

Previously, our URL canonicalization didn't do much of anything.
Now it actually escapes and collapses slashes.  This is mostly a cut & paste
of escape_url from git-svn.

This is closer to how SVN 1.7's canonicalization behaves.  Doing it with
1.6 lets us chase down some problems caused by more effective canonicalization
without having to deal with all the other 1.7 issues on top of that.

* Remote URLs have to be canonicalized otherwise Git::SVN->find_existing_remote
  will think they're different.

* The SVN remote is now written to the git config canonicalized.  That
  should be ok.  Adjust a test to account for that.

[ew: commit title]

Signed-off-by: Eric Wong <normalperson@yhbt.net>
perl/Git/SVN.pm
perl/Git/SVN/Utils.pm
t/Git-SVN/Utils/canonicalize_url.t [new file with mode: 0644]
t/t9107-git-svn-migrate.sh