You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Madan U Sreenivasan <ma...@collab.net> on 2006/07/10 14:21:02 UTC

[proposal] API to obtain hereditary mergeinfo

Hi,

Given,
svn merge source -r r1:r2

    Currently, the mergeinfo merges from the source happen at only one  
level (i.e., from only the source directory/file). However, because we use  
the concept of eliding (store mergeinfo at the first most common point),  
there might be mergeinfo in the parent or grandparent which affects the  
current source file/directory.

    So, we need an API (or should it be a static function)  
svn_merge_hereditary_merge_info(), that takes recursively merges the  
mergeinfo from all its anscestors.

    I thought I could get your opinion before I go ahead and implement the  
same.

Regards,
Madan.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: [proposal] API to obtain hereditary mergeinfo

Posted by Daniel Berlin <db...@dberlin.org>.
Daniel Rall wrote:
> On Mon, 10 Jul 2006, Garrett Rooney wrote:
> 
>> On 7/10/06, Madan U Sreenivasan <ma...@collab.net> wrote:
> ...
>>>    Currently, the mergeinfo merges from the source happen at only one
>>> level (i.e., from only the source directory/file). However, because we use
>>> the concept of eliding (store mergeinfo at the first most common point),
>>> there might be mergeinfo in the parent or grandparent which affects the
>>> current source file/directory.
>>>
>>>    So, we need an API (or should it be a static function)
>>> svn_merge_hereditary_merge_info(), that takes recursively merges the
>>> mergeinfo from all its anscestors.
>>>
>>>    I thought I could get your opinion before I go ahead and implement the
>>> same.
>> It does seem like we will need such an API, although I would run
>> things by one of the Dans to see if they had plans as to how it would
>> be implemented.
> 
> How do you see this API differing from svn_ra_get_merge_info() (see
> its INCLUDE_PARENTS argument)?


So Madan wants it to merge all the parents info, instead of just falling
back to parents if no mergeinfo exists in the child.
I have no problem with this.  The fact that we don't do this is a bug
(the design intended it, actually).

Madan also wants it to happen *without* the path translation we
currently do. Thus, we really need to split include_parents into two
arguments:
use_parent_info
and
translate_paths


--Dan

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: [proposal] API to obtain hereditary mergeinfo

Posted by Garrett Rooney <ro...@electricjellyfish.net>.
On 7/11/06, Daniel Rall <dl...@collab.net> wrote:

> How do you see this API differing from svn_ra_get_merge_info() (see
> its INCLUDE_PARENTS argument)?

Heh, that'll teach me to comment on a branch I'm not working on ;-)

-garrett

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: [proposal] API to obtain hereditary mergeinfo

Posted by Daniel Rall <dl...@collab.net>.
On Mon, 10 Jul 2006, Garrett Rooney wrote:

> On 7/10/06, Madan U Sreenivasan <ma...@collab.net> wrote:
...
> >    Currently, the mergeinfo merges from the source happen at only one
> >level (i.e., from only the source directory/file). However, because we use
> >the concept of eliding (store mergeinfo at the first most common point),
> >there might be mergeinfo in the parent or grandparent which affects the
> >current source file/directory.
> >
> >    So, we need an API (or should it be a static function)
> >svn_merge_hereditary_merge_info(), that takes recursively merges the
> >mergeinfo from all its anscestors.
> >
> >    I thought I could get your opinion before I go ahead and implement the
> >same.
> 
> It does seem like we will need such an API, although I would run
> things by one of the Dans to see if they had plans as to how it would
> be implemented.

How do you see this API differing from svn_ra_get_merge_info() (see
its INCLUDE_PARENTS argument)?

Re: [proposal] API to obtain hereditary mergeinfo

Posted by Madan U Sreenivasan <ma...@collab.net>.
On Mon, 10 Jul 2006 20:43:50 +0530, Garrett Rooney  
<ro...@electricjellyfish.net> wrote:

> On 7/10/06, Madan U Sreenivasan <ma...@collab.net> wrote:

[snip]

>>     So, we need an API (or should it be a static function)
>> svn_merge_hereditary_merge_info(), that takes recursively merges the
>> mergeinfo from all its anscestors.
>>
>>     I thought I could get your opinion before I go ahead and implement  
>> the
>> same.
>
> It does seem like we will need such an API, although I would run
> things by one of the Dans to see if they had plans as to how it would
> be implemented.

On reading the code flow carefully, am now thinking maybe we should let  
txn_body_node_proplist() and/or svn_fs_base__dag_get_proplist() handle  
svn:mergeinfo as a speecial property (by going through all the parents  
till root, and merging all the mergeinfo we get on the way) and not having  
to worry about the special nature of svn:mergeinfo in the higher API  
layers.

Being not so conversant with the APIs this is what I think on the first  
cut of analysis. What do you all think?

Regards,
Madan.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: [proposal] API to obtain hereditary mergeinfo

Posted by Garrett Rooney <ro...@electricjellyfish.net>.
On 7/10/06, Madan U Sreenivasan <ma...@collab.net> wrote:
>
> Hi,
>
> Given,
> svn merge source -r r1:r2
>
>     Currently, the mergeinfo merges from the source happen at only one
> level (i.e., from only the source directory/file). However, because we use
> the concept of eliding (store mergeinfo at the first most common point),
> there might be mergeinfo in the parent or grandparent which affects the
> current source file/directory.
>
>     So, we need an API (or should it be a static function)
> svn_merge_hereditary_merge_info(), that takes recursively merges the
> mergeinfo from all its anscestors.
>
>     I thought I could get your opinion before I go ahead and implement the
> same.

It does seem like we will need such an API, although I would run
things by one of the Dans to see if they had plans as to how it would
be implemented.

-garrett

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org