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". > 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. -- C. Michael Pilato <cmpil...@collab.net> CollabNet <> www.collab.net <> Distributed Development On Demand
signature.asc
Description: OpenPGP digital signature