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 2013/10/10 06:01:58 UTC

svn commit: r1530849 - in /subversion/branches/1.7.x: ./ STATUS subversion/libsvn_wc/old-and-busted.c subversion/tests/cmdline/upgrade_tests.py

Author: svn-role
Date: Thu Oct 10 04:01:57 2013
New Revision: 1530849

URL: http://svn.apache.org/r1530849
Log:
Merge the r1520529 group from trunk:

 * r1520529, r1520532, r1520539
   Properly re-canonicalize urls read from xml based entries files.
   Justification:
     The canonicalization rules have been changed since 1.3 and while
     we fixed the newer entries file parsing we forgot the xml based
     entries.  Fixes a client assert.
   Votes:
     +1: rhuijben, philip, stefan2

Modified:
    subversion/branches/1.7.x/   (props changed)
    subversion/branches/1.7.x/STATUS
    subversion/branches/1.7.x/subversion/libsvn_wc/old-and-busted.c
    subversion/branches/1.7.x/subversion/tests/cmdline/upgrade_tests.py

Propchange: subversion/branches/1.7.x/
------------------------------------------------------------------------------
  Merged /subversion/trunk:r1520529,1520532,1520539

Modified: subversion/branches/1.7.x/STATUS
URL: http://svn.apache.org/viewvc/subversion/branches/1.7.x/STATUS?rev=1530849&r1=1530848&r2=1530849&view=diff
==============================================================================
--- subversion/branches/1.7.x/STATUS (original)
+++ subversion/branches/1.7.x/STATUS Thu Oct 10 04:01:57 2013
@@ -182,12 +182,3 @@ Veto-blocked changes:
 Approved changes:
 =================
 
- * r1520529, r1520532, r1520539
-   Properly re-canonicalize urls read from xml based entries files.
-   Justification:
-     The canonicalization rules have been changed since 1.3 and while
-     we fixed the newer entries file parsing we forgot the xml based
-     entries.  Fixes a client assert.
-   Votes:
-     +1: rhuijben, philip, stefan2
-

Modified: subversion/branches/1.7.x/subversion/libsvn_wc/old-and-busted.c
URL: http://svn.apache.org/viewvc/subversion/branches/1.7.x/subversion/libsvn_wc/old-and-busted.c?rev=1530849&r1=1530848&r2=1530849&view=diff
==============================================================================
--- subversion/branches/1.7.x/subversion/libsvn_wc/old-and-busted.c (original)
+++ subversion/branches/1.7.x/subversion/libsvn_wc/old-and-busted.c Thu Oct 10 04:01:57 2013
@@ -810,11 +810,15 @@ atts_to_entry(svn_wc_entry_t **new_entry
 
      ### not used by loggy; no need to set MODIFY_FLAGS  */
   entry->url = extract_string(atts, ENTRIES_ATTR_URL, pool);
+  if (entry->url)
+    entry->url = svn_uri_canonicalize(entry->url, pool);
 
   /* Set up repository root.  Make sure it is a prefix of url.
 
      ### not used by loggy; no need to set MODIFY_FLAGS  */
   entry->repos = extract_string(atts, ENTRIES_ATTR_REPOS, pool);
+  if (entry->repos)
+    entry->repos = svn_uri_canonicalize(entry->repos, pool);
 
   if (entry->url && entry->repos
       && !svn_uri__is_ancestor(entry->repos, entry->url))

Modified: subversion/branches/1.7.x/subversion/tests/cmdline/upgrade_tests.py
URL: http://svn.apache.org/viewvc/subversion/branches/1.7.x/subversion/tests/cmdline/upgrade_tests.py?rev=1530849&r1=1530848&r2=1530849&view=diff
==============================================================================
--- subversion/branches/1.7.x/subversion/tests/cmdline/upgrade_tests.py (original)
+++ subversion/branches/1.7.x/subversion/tests/cmdline/upgrade_tests.py Thu Oct 10 04:01:57 2013
@@ -426,7 +426,10 @@ def basic_upgrade_1_0(sbox):
 
   url = sbox.repo_url
 
-  xml_entries_relocate(sbox.wc_dir, 'file:///1.0.0/repos', url)
+  # This is non-canonical by the rules of svn_uri_canonicalize, it gets
+  # written into the entries file and upgrade has to canonicalize.
+  non_canonical_url = url[:-1] + '%%%02x' % ord(url[-1])
+  xml_entries_relocate(sbox.wc_dir, 'file:///1.0.0/repos', non_canonical_url)
 
   # Attempt to use the working copy, this should give an error
   expected_stderr = wc_is_too_old_regex