You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Daniel Rall <dl...@collab.net> on 2007/03/08 00:16:41 UTC
Re: [merge-tracking]: Release date/version
On Tue, 27 Feb 2007, Folker Schamel wrote:
> > On 2/26/07, *Justin Johnson* <justinjohnson@gmail.com
> > <ma...@gmail.com>> wrote:
> >
> > What information is available on what this merge tracking will include?
>
> Just for curiosity:
> (For all our use cases, the features of svnmerge.py are fine.)
>
> When merging something from branch A -> B,
> will merge respect already merged changes B -> A?
> (Like svnmerge.py --bidirectional.)
> Will merge respect already merged changes A -> X -> B or B -> X -> A?
> (Not supported by svnmerge.py.)
The specs can be found here:
http://subversion.tigris.org/merge-tracking/
If you can't determine the answer from reading the specs, let us know.
Re: [merge-tracking]: Release date/version
Posted by Folker Schamel <sc...@spinor.com>.
Daniel Rall wrote:
> On Thu, 08 Mar 2007, Folker Schamel wrote:
>
>>> On Tue, 27 Feb 2007, Folker Schamel wrote:
>>>
>>>>> On 2/26/07, *Justin Johnson* <justinjohnson@gmail.com
>>>>> <ma...@gmail.com>> wrote:
>>>>>
>>>>> What information is available on what this merge tracking will include?
>>>> Just for curiosity:
>>>> (For all our use cases, the features of svnmerge.py are fine.)
>>>>
>>>> When merging something from branch A -> B,
>>>> will merge respect already merged changes B -> A?
>>>> (Like svnmerge.py --bidirectional.)
>>>> Will merge respect already merged changes A -> X -> B or B -> X -> A?
>>>> (Not supported by svnmerge.py.)
>>> The specs can be found here:
>>>
>>> http://subversion.tigris.org/merge-tracking/
>>>
>>> If you can't determine the answer from reading the specs, let us know.
>> Yes, I know these documents.
>> I don't find the particular location again, but I think I found some
>> implementation note indicating that "B -> A" handled.
>> But I didn't find a note dealing with the other cases "A -> X -> B"
>> and "B -> X -> A", so I suppose they are not handled, is this correct?
>
> Great! I'm glad you're already familiar with the documents. Where in
> the documents would you expect to find this information? (I'd like to
> know where to clarify them.)
Good question. Somewhere in "Functional Specification".
Maybe in a new subsection in "Repeated Merge"?
>
> "A -> X -> B" is supported. Merge info is recorded on X for A when
> merging A into X. When merging that same change for X into B, we
> record both the merge info for the merge operation itself, plus merge
> in the merge info from the original merge (from A -> X).
>
> Example:
>
> 1. Run 'X$ svn merge -c 37 A', creating r50.
> 2. X now has merge info of "A:37".
> 3. Run 'B$ svn merge -c 50 X', creating r51.
> 4. B now has merge info of "A:37\nX:50".
>
> Attempts to merge either r37 of A or r50 of X into B will be no-ops,
> since B knows that those change sets have already been merged.
>
>
> I don't follow how you want your "B -> X -> A" case to fit in here.
'B$ svn merge -c1 A', creating r2, merge info of B="A:1"
'X$ svn merge -c2 B', creating r3, merge info of X="B:2\nA:1"
'A$ svn merge -c3 X', is this a no-op?
I suppose it should be, because r3 added "A:1" to the merge info of X.
The B -> A case would be:
'B$ svn merge -c1 A', creating r2, merge info of B="A:1"
'A$ svn merge -c2 B', is this a no-op?
I suppose it should be, because r2 added "A:1" to the merge info of B.
Cheers,
Folker
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: [merge-tracking]: Release date/version
Posted by Daniel Rall <dl...@collab.net>.
On Thu, 08 Mar 2007, Folker Schamel wrote:
> > On Tue, 27 Feb 2007, Folker Schamel wrote:
> >
> >>> On 2/26/07, *Justin Johnson* <justinjohnson@gmail.com
> >>> <ma...@gmail.com>> wrote:
> >>>
> >>> What information is available on what this merge tracking will include?
> >> Just for curiosity:
> >> (For all our use cases, the features of svnmerge.py are fine.)
> >>
> >> When merging something from branch A -> B,
> >> will merge respect already merged changes B -> A?
> >> (Like svnmerge.py --bidirectional.)
> >> Will merge respect already merged changes A -> X -> B or B -> X -> A?
> >> (Not supported by svnmerge.py.)
> >
> > The specs can be found here:
> >
> > http://subversion.tigris.org/merge-tracking/
> >
> > If you can't determine the answer from reading the specs, let us know.
>
> Yes, I know these documents.
> I don't find the particular location again, but I think I found some
> implementation note indicating that "B -> A" handled.
> But I didn't find a note dealing with the other cases "A -> X -> B"
> and "B -> X -> A", so I suppose they are not handled, is this correct?
Great! I'm glad you're already familiar with the documents. Where in
the documents would you expect to find this information? (I'd like to
know where to clarify them.)
"A -> X -> B" is supported. Merge info is recorded on X for A when
merging A into X. When merging that same change for X into B, we
record both the merge info for the merge operation itself, plus merge
in the merge info from the original merge (from A -> X).
Example:
1. Run 'X$ svn merge -c 37 A', creating r50.
2. X now has merge info of "A:37".
3. Run 'B$ svn merge -c 50 X', creating r51.
4. B now has merge info of "A:37\nX:50".
Attempts to merge either r37 of A or r50 of X into B will be no-ops,
since B knows that those change sets have already been merged.
I don't follow how you want your "B -> X -> A" case to fit in here.
Thanks, Dan
Re: [merge-tracking]: Release date/version
Posted by Folker Schamel <sc...@spinor.com>.
> On Tue, 27 Feb 2007, Folker Schamel wrote:
>
>>> On 2/26/07, *Justin Johnson* <justinjohnson@gmail.com
>>> <ma...@gmail.com>> wrote:
>>>
>>> What information is available on what this merge tracking will include?
>> Just for curiosity:
>> (For all our use cases, the features of svnmerge.py are fine.)
>>
>> When merging something from branch A -> B,
>> will merge respect already merged changes B -> A?
>> (Like svnmerge.py --bidirectional.)
>> Will merge respect already merged changes A -> X -> B or B -> X -> A?
>> (Not supported by svnmerge.py.)
>
> The specs can be found here:
>
> http://subversion.tigris.org/merge-tracking/
>
> If you can't determine the answer from reading the specs, let us know.
Yes, I know these documents.
I don't find the particular location again, but I think I found some
implementation note indicating that "B -> A" handled.
But I didn't find a note dealing with the other cases "A -> X -> B"
and "B -> X -> A", so I suppose they are not handled, is this correct?
Thanks!!
Cheers,
Folker
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org