subversion-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From svn-r...@apache.org
Subject svn commit: r1477466 - in /subversion/branches/1.8.x: ./ STATUS subversion/libsvn_wc/conflicts.c
Date Tue, 30 Apr 2013 04:01:23 GMT
Author: svn-role
Date: Tue Apr 30 04:01:22 2013
New Revision: 1477466

URL: http://svn.apache.org/r1477466
Log:
Merge r1470031 from trunk:

 * r1470031
   Correctly set the 'action' and 'reason' fields of a property conflict.
   API users were seeing the wrong 'action' and 'reason' for some property
   conflicts. 'svn' does not yet use these fields.
   Justification:
     It's wrong.  It's simple.  Fixing it in a 1.x.0 release involves less
     risk of interfering with any client's work-around for the bug.  We may
     want to backport changes to 'svn' to report property conflicts better,
     and then 'svn' may use these fields; I'm working on such a change.
   Votes:
     +1: julianfoad, philip
     +1: rhuijben   (after this patch the situation is better, but I'm not
                     sure if it is optimal. In merge there are 4 trees to
                     consider before we can tell the reason. The 4th tree
                     is available as the pristine version of the local node)

Modified:
    subversion/branches/1.8.x/   (props changed)
    subversion/branches/1.8.x/STATUS
    subversion/branches/1.8.x/subversion/libsvn_wc/conflicts.c

Propchange: subversion/branches/1.8.x/
------------------------------------------------------------------------------
  Merged /subversion/trunk:r1470031

Modified: subversion/branches/1.8.x/STATUS
URL: http://svn.apache.org/viewvc/subversion/branches/1.8.x/STATUS?rev=1477466&r1=1477465&r2=1477466&view=diff
==============================================================================
--- subversion/branches/1.8.x/STATUS (original)
+++ subversion/branches/1.8.x/STATUS Tue Apr 30 04:01:22 2013
@@ -101,22 +101,6 @@ Veto-blocked changes:
 Approved changes:
 =================
 
- * r1470031
-   Correctly set the 'action' and 'reason' fields of a property conflict.
-   API users were seeing the wrong 'action' and 'reason' for some property
-   conflicts. 'svn' does not yet use these fields.
-   Justification:
-     It's wrong.  It's simple.  Fixing it in a 1.x.0 release involves less
-     risk of interfering with any client's work-around for the bug.  We may
-     want to backport changes to 'svn' to report property conflicts better,
-     and then 'svn' may use these fields; I'm working on such a change.
-   Votes:
-     +1: julianfoad, philip
-     +1: rhuijben   (after this patch the situation is better, but I'm not
-                     sure if it is optimal. In merge there are 4 trees to
-                     consider before we can tell the reason. The 4th tree
-                     is available as the pristine version of the local node)
-
  * r1469862, r1469866, r1475704
    Change configure default to --without-apache-libexecdir.
    Justification:

Modified: subversion/branches/1.8.x/subversion/libsvn_wc/conflicts.c
URL: http://svn.apache.org/viewvc/subversion/branches/1.8.x/subversion/libsvn_wc/conflicts.c?rev=1477466&r1=1477465&r2=1477466&view=diff
==============================================================================
--- subversion/branches/1.8.x/subversion/libsvn_wc/conflicts.c (original)
+++ subversion/branches/1.8.x/subversion/libsvn_wc/conflicts.c Tue Apr 30 04:01:22 2013
@@ -2127,11 +2127,12 @@ read_prop_conflicts(apr_array_header_t *
 
       my_value = svn_hash_gets(my_props, propname);
       their_value = svn_hash_gets(their_props, propname);
+      old_value = svn_hash_gets(their_old_props, propname);
 
       /* Compute the incoming side of the conflict ('action'). */
       if (their_value == NULL)
         desc->action = svn_wc_conflict_action_delete;
-      else if (my_value == NULL)
+      else if (old_value == NULL)
         desc->action = svn_wc_conflict_action_add;
       else
         desc->action = svn_wc_conflict_action_edit;
@@ -2139,7 +2140,7 @@ read_prop_conflicts(apr_array_header_t *
       /* Compute the local side of the conflict ('reason'). */
       if (my_value == NULL)
         desc->reason = svn_wc_conflict_reason_deleted;
-      else if (their_value == NULL)
+      else if (old_value == NULL)
         desc->reason = svn_wc_conflict_reason_added;
       else
         desc->reason = svn_wc_conflict_reason_edited;
@@ -2182,7 +2183,6 @@ read_prop_conflicts(apr_array_header_t *
           SVN_ERR(svn_stream_close(s));
         }
 
-      old_value = svn_hash_gets(their_old_props, propname);
       if (old_value)
         {
           svn_stream_t *s;



Mime
View raw message