On Jul 16, 2012, at 11:17 AM, C. Michael Pilato wrote:

> On 07/16/2012 09:41 AM, Stefan Sperling wrote:
>> On Mon, Jul 16, 2012 at 02:11:10PM +0200, Bert Huijben wrote:
>>> Open questions:
>>> * 'svn:branch' or maybe 'svn:root'?
>> 
>> I'd prefer svn:branch but I don't care strongly.
> 
> And I "svn:branch-root".
> 
>>> * Which UI do/should we provide in 'svn'
>>> svn cp --branch <PATH-OR-URL> URL
>>> Performs a copy and makes sure there is a svn:branch property on the target
>>> 
>>> svn mkdir --branch <PATH-OR-URL>
>>> Creates a new branch
>> 
>> I would favour a new 'svn branch' subcommand which is equivalent
>> to 'svn copy' including a prop-add of 'svn:branch' at the copy target.
> 
> Hrm.  Here's where I think we see things differently, Stefan.  Your
> prescription changes the branching workflow that folks have been using for,
> possibly, a near-decade.  I see things more simply:  empower and encourage
> users to mark their *trunk* as a branch-root, and now everything follows
> naturally from the existing ('svn cp'-based) workflows.  If trunk has the
> svn:branch-root property, every copy thereof will, too.

That's exactly how I did it with Enversion.  "In the beginning, there was 
/trunk.".  (Or at least, '^.*/trunk$'.)

It worked for ~95% of all cases.  There were 3% of repos that never had a 
trunk, and 2% that had a severely broken branch (i.e. the branch was manually 
created via mkdir, then random code from other parts of the tree was manually 
copied over) that unfortunately was still active.

(So, those corner cases have to be handled manually now by Enversion.  But, as 
we have the framework for storing forward-copy information, I've got an 
enhancement in mind that'll use a heuristic to detect, during analysis, that a 
really-badly-broken-directory-that-just-happens-to-be-a-branch-root is still in 
use as in regularly being copied/branched from.)



        Trent.

Reply via email to