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:02:04 UTC

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

Author: svn-role
Date: Thu Oct 10 04:02:03 2013
New Revision: 1530853

URL: http://svn.apache.org/r1530853
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.8.x/   (props changed)
    subversion/branches/1.8.x/STATUS
    subversion/branches/1.8.x/subversion/libsvn_wc/old-and-busted.c
    subversion/branches/1.8.x/subversion/tests/cmdline/upgrade_tests.py

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

Modified: subversion/branches/1.8.x/STATUS
URL: http://svn.apache.org/viewvc/subversion/branches/1.8.x/STATUS?rev=1530853&r1=1530852&r2=1530853&view=diff
==============================================================================
--- subversion/branches/1.8.x/STATUS (original)
+++ subversion/branches/1.8.x/STATUS Thu Oct 10 04:02:03 2013
@@ -147,15 +147,6 @@ 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
-
  * r1522892
    Fix issue #4425 and #3014 on Windows: svn.exe crashed when output of 'log'
    command interrupted.

Modified: subversion/branches/1.8.x/subversion/libsvn_wc/old-and-busted.c
URL: http://svn.apache.org/viewvc/subversion/branches/1.8.x/subversion/libsvn_wc/old-and-busted.c?rev=1530853&r1=1530852&r2=1530853&view=diff
==============================================================================
--- subversion/branches/1.8.x/subversion/libsvn_wc/old-and-busted.c (original)
+++ subversion/branches/1.8.x/subversion/libsvn_wc/old-and-busted.c Thu Oct 10 04:02:03 2013
@@ -811,11 +811,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.8.x/subversion/tests/cmdline/upgrade_tests.py
URL: http://svn.apache.org/viewvc/subversion/branches/1.8.x/subversion/tests/cmdline/upgrade_tests.py?rev=1530853&r1=1530852&r2=1530853&view=diff
==============================================================================
--- subversion/branches/1.8.x/subversion/tests/cmdline/upgrade_tests.py (original)
+++ subversion/branches/1.8.x/subversion/tests/cmdline/upgrade_tests.py Thu Oct 10 04:02:03 2013
@@ -430,7 +430,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