Login | Register
My pages Projects Community openCollabNet

Discussions > dev [DISABLED] > Re: Branch root identification -- a (really) simple proposal

subversion
Discussion topic

There will be a brief maintenance window every Friday at 17:00 Pacific.
For further details, see CollabNet's maintenance and upgrade policy.

Back to topic list

Re: Branch root identification -- a (really) simple proposal

Author Paul Burba <ptburba at gmail dot com>
Full name Paul Burba <ptburba at gmail dot com>
Date 2009-09-29 09:41:36 PDT
Message On Wed, Sep 9, 2009 at 11:54 AM, Mark Phippard <markphip at gmail dot com> wrote:

> On Wed, Sep 9, 2009 at 11:46 AM, C. Michael Pilato <cmpilato at collab dot net> wrote:
>> I was thinking today about how Subversion offers all this flexibility in
>> terms of branch creation ("it's just a copy of a directory!") but sometimes
>> at the cost of some benefits you might otherwise get from a first-class
>> branch object.
>>
>> Could a really, really simple solution help here?  What if Subversion
>> recognized a directory property (say, "svn:branch-root") as an indicator
>> that that directory is the root of a branch (where by "branch", I mean "line
>> of development", which includes trunk and tags)?  Benefits could include:
>>
>>  * the fact that the property would naturally get set on copies of that
>>    directory, ensuring that branches of the directory are annotated as
>>    such.
>>
>>  * helping the client discourage commits of subsets of a branch.
>>
>>  * helping the client warn users about merging at anything less than
>>    the branch level.
>>
>>  * helping tools like ViewVC and Trac identify branches, and add UI
>>    goodness accordingly.
>>
>> It sounds too simple to be truly useful.  What do others think?
>
> I have been trying to think about how we can retroactively improve
> merge tracking and was thinking of something similar where you could
> (optionally) flag your root folder with a property like this.  If
> Merge sees the property it could record all mergeinfo only at that
> location.  I was not thinking of denying the ability to perform a
> merge at a subtree, but to still record it at the root as if it was a
> whole-branch merge.
>
> This would allow tools like TruMerge to fire off a bunch of subtree
> merges and have them all recorded properly at the branch root.

Mark,

For the sake of discussion let's hand-wave on the problems of mixed
revision WCs, switched subtrees, and incomplete (no root) "branch"
checkouts. Let's just assume we don't allow any of that and recording
mergeinfo at the root of the branch for a subtree merge is feasible.

What if subtree merge is not done by TruMerge and so may represent
only a partial application of some change? If we record that
(partial) merge in the branch root's mergeinfo we would need a way to
flag that it is not in fact a whole-branch merge; something akin to
'*', but with the meaning "we have merged this revision to some
subtree(s) but it effects other subtrees and we have not merged it to
those". This would add even great complexity to mergeinfo and merge
tracking, something I'm hesitant to do. Or am I misunderstanding what
you suggest?

Paul

> Would you just set this property any time a folder is copied, or would
> it be better to add a --branch option to svn copy to designate when to
> use it?  Or even an svn branch subcommand?
>
> I'd probably like to see us go further and define an svn:project-root
> property with information on the branches and tags root folder
> locations.  Then this could be used to also simplify the syntax of
> other commands where branches/tags are used.  Of course there are a
> lot of devils in those details.
>
> --
> Thanks
>
> Mark Phippard
> http://markphip.blogspot.com/

« Previous message in topic | 3 of 15 | Next message in topic »

Messages

Show all messages in topic

Branch root identification -- a (really) simple proposal cmpilato C. Michael Pilato 2009-09-09 08:46:59 PDT
     Re: Branch root identification -- a (really) simple proposal markphip Mark Phippard 2009-09-09 08:54:26 PDT
         Re: Branch root identification -- a (really) simple proposal Paul Burba <ptburba at gmail dot com> Paul Burba <ptburba at gmail dot com> 2009-09-29 09:41:36 PDT
             Re: Branch root identification -- a (really) simple proposal markphip Mark Phippard 2009-09-29 10:10:59 PDT
     Re: Branch root identification -- a (really) simple proposal stsp Stefan Sperling 2009-09-09 10:09:59 PDT
         Re: Branch root identification -- a (really) simple proposal Mark Mielke <mark at mark dot mielke dot cc> Mark Mielke <mark at mark dot mielke dot cc> 2009-09-09 10:14:09 PDT
         Re: Branch root identification -- a (really) simple proposal cmpilato C. Michael Pilato 2009-09-09 12:17:03 PDT
     Re: Branch root identification -- a (really) simple proposal brane Branko Cibej 2009-09-09 10:24:44 PDT
         Re: Branch root identification -- a (really) simple proposal stsp Stefan Sperling 2009-09-09 10:38:00 PDT
             Re: Branch root identification -- a (really) simple proposal brane Branko Cibej 2009-09-09 11:17:20 PDT
                 Re: Branch root identification -- a (really) simple proposal Mark Mielke <mark at mark dot mielke dot cc> Mark Mielke <mark at mark dot mielke dot cc> 2009-09-09 12:17:10 PDT
                     Re: Branch root identification -- a (really) simple proposal brane Branko Cibej 2009-09-09 13:39:58 PDT
     Re: Branch root identification -- a (really) simple proposal glasser David Glasser 2009-09-09 13:19:50 PDT
         RE: Re: Branch root identification -- a (really) simple proposal gbjbaanb Andy Bolstridge 2009-09-17 07:23:39 PDT
     Re: Branch root identification -- a (really) simple proposal Paul Burba <ptburba at gmail dot com> Paul Burba <ptburba at gmail dot com> 2009-09-29 09:41:33 PDT
Messages per page: