You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by sv...@apache.org on 2012/06/13 14:59:03 UTC

svn commit: r1349816 - in /subversion/branches/1.7.x: ./ STATUS subversion/libsvn_subr/opt.c

Author: svn-role
Date: Wed Jun 13 12:59:03 2012
New Revision: 1349816

URL: http://svn.apache.org/viewvc?rev=1349816&view=rev
Log:
Merge r1346765 from trunk:

 * r1346765
   Allow file://C:\users\me/repos style paths as argument to svn, svnadmin and
   svnsync on Windows, like we did in 1.6. (file://%CD%/repos is nice in test
   scripts)
   Justification:
     Small regression. Easy to fix in the option parser. Fixes a privately
     reported user issue
     svnsync: Session is rooted at 'file:///C:%5CUsers%5Cme/repos/
     C:%5CUsers%5Cme/repos' but the repos root is 'file:///C:%5CUsers%5Cme/repos'
   Votes:
     +1: rhuijben, stsp, gstein

Modified:
    subversion/branches/1.7.x/   (props changed)
    subversion/branches/1.7.x/STATUS
    subversion/branches/1.7.x/subversion/libsvn_subr/opt.c

Propchange: subversion/branches/1.7.x/
------------------------------------------------------------------------------
  Merged /subversion/trunk:r1346765

Modified: subversion/branches/1.7.x/STATUS
URL: http://svn.apache.org/viewvc/subversion/branches/1.7.x/STATUS?rev=1349816&r1=1349815&r2=1349816&view=diff
==============================================================================
--- subversion/branches/1.7.x/STATUS (original)
+++ subversion/branches/1.7.x/STATUS Wed Jun 13 12:59:03 2012
@@ -140,18 +140,6 @@ Veto-blocked changes:
 Approved changes:
 =================
 
- * r1346765
-   Allow file://C:\users\me/repos style paths as argument to svn, svnadmin and
-   svnsync on Windows, like we did in 1.6. (file://%CD%/repos is nice in test
-   scripts)
-   Justification:
-     Small regression. Easy to fix in the option parser. Fixes a privately
-     reported user issue
-     svnsync: Session is rooted at 'file:///C:%5CUsers%5Cme/repos/
-     C:%5CUsers%5Cme/repos' but the repos root is 'file:///C:%5CUsers%5Cme/repos'
-   Votes:
-     +1: rhuijben, stsp, gstein
-
  * r1342984
    Avoid a full table scan on every directory during 'svn upgrade'
    Justification:

Modified: subversion/branches/1.7.x/subversion/libsvn_subr/opt.c
URL: http://svn.apache.org/viewvc/subversion/branches/1.7.x/subversion/libsvn_subr/opt.c?rev=1349816&r1=1349815&r2=1349816&view=diff
==============================================================================
--- subversion/branches/1.7.x/subversion/libsvn_subr/opt.c (original)
+++ subversion/branches/1.7.x/subversion/libsvn_subr/opt.c Wed Jun 13 12:59:03 2012
@@ -1015,6 +1015,20 @@ svn_opt__arg_canonicalize_url(const char
   /* Auto-escape some ASCII characters. */
   target = svn_path_uri_autoescape(target, pool);
 
+#if '/' != SVN_PATH_LOCAL_SEPARATOR
+  /* Allow using file:///C:\users\me/repos on Windows, like we did in 1.6 */
+  if (strchr(target, SVN_PATH_LOCAL_SEPARATOR))
+    {
+      char *p = apr_pstrdup(pool, target);
+      target = p;
+
+      /* Convert all local-style separators to the canonical ones. */
+      for (; *p != '\0'; ++p)
+        if (*p == SVN_PATH_LOCAL_SEPARATOR)
+          *p = '/';
+    }
+#endif
+
   /* Verify that no backpaths are present in the URL. */
   if (svn_path_is_backpath_present(target))
     return svn_error_createf(SVN_ERR_BAD_URL, 0,