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

Re: Issue 2897 revisited. Really.

From: Kamesh Jayachandran <kamesh_at_collab.net>
Date: 2007-12-04 12:59:23 CET

Ph. Marek wrote:
> On Donnerstag, 29. November 2007, Kamesh Jayachandran wrote:
>
>> This may not work out in the following scenario,
>> - Create /fb from /trunk
>>
>> - merge -r51from /trunk to /fb This results in a reflective commit r60
>>
>> Now if merge /fb to /trunk working copy if we take the special diff
>> approach of applying (/trunk@59 ~ /fb@60) it can give rise to a false
>> result as /fb does not have all the changes from /trunk but only the r51.
> How about this ...
>
> We know that r60 is the reflection of r51.
> So, to merge fb to trunk, we have to take the diffs trunk@SOURCE:fb@59 (all
> earlier changes), the reverse of trunk@51, and then fb@59:fb@HEAD ...
>
>

Hope you meant the following in the above line.

fb@START_REV:fb@59 (all earlier changes), the reverse of trunk@51, and then fb@59:fb@HEAD ...

*
*

In any case I have got the following idea to solve this, Let me explain
this with single file 'test.c' in mind.

* When merging each rev range identify the range to be reflective, we
can somehow achieve this via merge_cmd_baton.
* For reflective merge, Say we try to merge r60 from /fb to /trunk(which
is a result of merge from /trunk:20-30 with some local modification.)
and hence reflective.
  - file_changed call back gets (/fb/test.c@59, /fb/test.c@60, wc/test.c)
  - merge (/trunk/test.c@20 ~ /trunk/test.c@30) apply on /fb/test.c@59
  - merge (/fb/test.c@59 ~ /fb/test.c@60) apply on wc/test.c (This
should apply only the non-reflective portions of merge.

Thanks

With regards
Kamesh Jayachandran

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Tue Dec 4 12:59:05 2007

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