You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by st...@apache.org on 2012/09/10 15:28:23 UTC

svn commit: r1382827 - in /subversion/branches/1.6.x: ./ STATUS subversion/libsvn_repos/replay.c

Author: stsp
Date: Mon Sep 10 13:28:22 2012
New Revision: 1382827

URL: http://svn.apache.org/viewvc?rev=1382827&view=rev
Log:
Merge r1338810 and r1339164 from trunk.

 * r1338810, r1339164
   Fix issue #4184 ("partial svnsync drops properties when converting
   copies to adds").
   Justification:
     Syncs that don't aren't synced at all.
   Notes:
     r1338810 taught the code to send properties for demoted copies.
     r1339164 fixed a theoretical use of uninitialized memory.
   Votes:
     +1: philip, stsp, cmpilato
     +0: danielsh

Modified:
    subversion/branches/1.6.x/   (props changed)
    subversion/branches/1.6.x/STATUS
    subversion/branches/1.6.x/subversion/libsvn_repos/replay.c

Propchange: subversion/branches/1.6.x/
------------------------------------------------------------------------------
  Merged /subversion/trunk:r1338810,1339164

Modified: subversion/branches/1.6.x/STATUS
URL: http://svn.apache.org/viewvc/subversion/branches/1.6.x/STATUS?rev=1382827&r1=1382826&r2=1382827&view=diff
==============================================================================
--- subversion/branches/1.6.x/STATUS (original)
+++ subversion/branches/1.6.x/STATUS Mon Sep 10 13:28:22 2012
@@ -63,16 +63,3 @@ Veto-blocked changes:
 
 Approved changes:
 =================
-
- * r1338810, r1339164
-   Fix issue #4184 ("partial svnsync drops properties when converting
-   copies to adds").
-   Justification:
-     Syncs that don't aren't synced at all.
-   Notes:
-     r1338810 taught the code to send properties for demoted copies.
-     r1339164 fixed a theoretical use of uninitialized memory.
-     r1339154 is an obvious fix of an accidental docstring tweak.
-   Votes:
-     +1: philip, stsp, cmpilato
-     +0: danielsh

Modified: subversion/branches/1.6.x/subversion/libsvn_repos/replay.c
URL: http://svn.apache.org/viewvc/subversion/branches/1.6.x/subversion/libsvn_repos/replay.c?rev=1382827&r1=1382826&r2=1382827&view=diff
==============================================================================
--- subversion/branches/1.6.x/subversion/libsvn_repos/replay.c (original)
+++ subversion/branches/1.6.x/subversion/libsvn_repos/replay.c Mon Sep 10 13:28:22 2012
@@ -582,10 +582,18 @@ path_driver_cb_func(void **dir_baton,
         }
     }
 
-  /* Handle property modifications. */
   if (! do_delete || do_add)
     {
-      if (change->prop_mod)
+      /* Is this a copy that was downgraded to a raw add?  (If so,
+         we'll need to transmit properties and file contents and such
+         for it regardless of what the CHANGE structure's text_mod
+         and prop_mod flags say.)  */
+      svn_boolean_t downgraded_copy = (change->copyfrom_known
+                                       && change->copyfrom_path
+                                       && (! copyfrom_path));
+
+      /* Handle property modifications. */
+      if (change->prop_mod || downgraded_copy)
         {
           if (cb->compare_root)
             {
@@ -629,14 +637,9 @@ path_driver_cb_func(void **dir_baton,
             }
         }
 
-      /* Handle textual modifications.
-
-         Note that this needs to happen in the "copy from a file we
-         aren't allowed to see" case since otherwise the caller will
-         have no way to actually get the new file's contents, which
-         they are apparently allowed to see. */
+      /* Handle textual modifications. */
       if (change->node_kind == svn_node_file
-          && (change->text_mod || (change->copyfrom_path && ! copyfrom_path)))
+          && (change->text_mod || downgraded_copy))
         {
           svn_txdelta_window_handler_t delta_handler;
           void *delta_handler_baton;