"Bert Huijben" <bert_at_qqmail.nl> writes:
>> -----Original Message-----
>> From: philip_at_tigris.org [mailto:philip_at_tigris.org]
>> Sent: donderdag 7 juli 2011 12:56
>> To: issues_at_subversion.tigris.org
>> Subject: [Issue 3951] serf fail prop_tests.py 3 with 1.6 mod_dav_svn
>>
>> http://subversion.tigris.org/issues/show_bug.cgi?id=3951
>>
>>
>>
>>
>>
>>
>> ------- Additional comments from philip_at_tigris.org Thu Jul 7 03:56:05
> -0700
>> 2011 -------
>> As issue #3948 the client gets both props via serf/1.6 and only the new
> prop
>> in
>> other cases. When merging the props update_editor.c:close_directory calls
>> props.c:svn_wc__merge_props, which calls
>> props.c:apply_single_prop_change which
>> calls props.c:apply_single_generic_prop_change, and there we have:
>>
>> 1394 /* If working_val is the same as new_val already then there is
>> 1395 * nothing to do */
>> 1396 if (working_val && new_val
>> 1397 && svn_string_compare(working_val, new_val))
>> 1398 {
>> 1399 set_prop_merge_state(state, svn_wc_notify_state_merged);
>> 1400 }
>
> This exact block was added by stsp in r1136063, about a month ago.
> [[
> Fix issue #3919. During a merge of a property, add a check against the
> incoming new property value and the working copy value. If they
> already match, then the merge trivially succeeds.
>
> * subversion/libsvn_wc/props.c
> (apply_single_generic_prop_change): Do nothing if the incoming new
> property value already matches the working value.
>
> Patch by: Brian Neal <bgneal_at_gmail.com>
> me
> ]]
>
> I think we shouldn't set the state to merged here, (but of course allow the
> merge without conflict).
This is a bit of a special case when base==working==incoming. Normally
we don't see incoming==base. I am experimenting with this patch:
Index: subversion/libsvn_wc/props.c
===================================================================
--- subversion/libsvn_wc/props.c (revision 1143768)
+++ subversion/libsvn_wc/props.c (working copy)
@@ -1393,7 +1393,8 @@
if (working_val && new_val
&& svn_string_compare(working_val, new_val))
{
- set_prop_merge_state(state, svn_wc_notify_state_merged);
+ if (! svn_string_compare(old_val, working_val))
+ set_prop_merge_state(state, svn_wc_notify_state_merged);
}
/* If working_val is the same as old_val... */
else if (working_val && old_val
--
uberSVN: Apache Subversion Made Easy
http://www.uberSVN.com
Received on 2011-07-07 16:47:08 CEST