[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: tree-conlficts after 1.6-to-1.7 upgrade

From: Philip Martin <philip.martin_at_wandisco.com>
Date: Thu, 09 Jun 2011 12:01:11 +0100

"Bert Huijben" <bert_at_qqmail.nl> writes:

>> -----Original Message-----
>> From: Philip Martin [mailto:philip.martin_at_wandisco.com]
>> Sent: donderdag 9 juni 2011 12:30
>> To: dev_at_subversion.apache.org
>> Subject: tree-conlficts after 1.6-to-1.7 upgrade
>>
>> After upgrade from 1.6 to 1.7 the ACTUAL_NODE rows look like:
>>
>> 1|A/X|A||||||||(conflict X dir update added added (version
>> file:///home/pm/sw/subversion/obj/repo 1 1 A/X none) (version
>> file:///home/pm/sw/subversion/obj/repo 1 3 A/X dir))||||
>> 1|A/Y|A||||||||(conflict Y dir update added added (version
>> file:///home/pm/sw/subversion/obj/repo 1 1 A/Y none) (version
>> file:///home/pm/sw/subversion/obj/repo 1 3 A/Y dir))||||
>>
>>
>> But if I create the conflicts using 1.7 the ACTUAL_NODE rows look like:
>>
>> 1|A/X|A||||||||(conflict X dir update added added (version 0 2 -1 0 0 )
>> (version file:///home/pm/sw/subversion/obj/repo 1 3 A/X dir))||||
>> 1|A/Y|A||||||||(conflict Y dir update added added (version 0 2 -1 0 0 )
>> (version file:///home/pm/sw/subversion/obj/repo 1 3 A/Y dir))||||
>>
>>
>> I haven't been following the details of tree conflict storage, are
>> differences like that going to be a problem?
>
> I think this specific change is caused by a difference in tree conflict
> processing between 1.6 and current (early in 1.7 development).
>
> Local additions and copies don't have a url and there is no common ancestor
> that has a url. (In that case it would be a replacement; not an addition)
>
> I think 1.6 guessed the url that the path would have after committing (by
> just using what is inside svn_wc_entry_t), while 1.7 says that the node
> doesn't have a url because it is an addition.

I'm thinking of adding something like:

+ if (conflict->reason == svn_wc_conflict_reason_added)
+ conflict->src_left_version = NULL;

This makes the upgraded conflict look like the one created by 1.7. If
"repairs" like this are what we want should it be done in the upgrade
code, or in svn_wc__deserialize_conflict/svn_wc__serialize_conflict?

-- 
Philip
Received on 2011-06-09 13:01:48 CEST

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.