On Sat, Apr 23, 2011 at 2:13 PM, C. Michael Pilato <cmpil...@collab.net>wrote:

> On 04/22/2011 11:40 PM, Daniel Becroft wrote:
> >     But then you're
> >     asking to switch a working copy which reflects trunk's *parent
> directory* to
> >     trunk's URL.
> >
> >
> > Once trunk is committed, shouldn't trunk share ancestry with it's parent?
> (I
> > know I certainly share ancestry with my father).
>
> Wrong "ancestry" concept.  This is version control ancestry, not directory
> hierarchy.  Trunk has a unique "line of history".  Later, if you make a
> copy
> of trunk and call it, say, "branches/my-branch", that is a fork in trunk's
> line of history.  It may be said of "branches/my-branch" that it shares
> version control ancestry with "trunk".
>

Ah, gotcha. My bad.


>  > This process worked under 1.6.x (and 1.7.x prior to the last svn update
> -
> > couldn't tell you the revision prior to that).
>
> Yes, your very simplistic use-case would have "worked" in every release
> back
> to 1.0, even.  But as we continue to bring Subversion into maturity, we're
> trying to shut down default behaviors that have a history of causing people
> alot of grief.  This is one such area.  I can't tell you how many times
> I've
> seen someone (including myself) do:
>
>   $ cd /path/to/trunk-working-copy
>   $ svn switch ^/branches
>
> when what was *intended* was:
>
>   $ cd /path/to/trunk-working-copy
>   $ svn switch ^/branches/SOME-SPECIFIC-BRANCH
>

The result is disastrous, as Subversion tries to transform a trunk working
> copy to reflect the branches directory -- deleting all of trunk's content,
> and then trying to add every branch in the whole project to that working
> copy.
>


> 'svn switch' was conceived to be Subversion's answer to 'cvs up
> -rBRANCH_NAME' -- Subversion's way to switch between branches -- not just
> some generic point-the-working-copy-wherever-you'd-like mechanism.  We now
> have the power to enforce that in ways that were impractical years ago, so
> recently (after another fat-fingered-then-interrupted 'svn switch' left me
> with a corrupt working copy) I added that enforcement, but, as you noted,
> with the ability to disable that safety mechanism via the --ignore-ancestry
> switch.
>

I guess I can understand the reason behind the change. It was just a tad
weird seeing it pop up for a case that has always worked.

Apologies for the noise.

Cheers,
Daniel B.

Reply via email to