On 04/11/2011 01:04 PM, Bob Archer wrote:
> I would even ask... why allow switched children? Is this really a heavily
> used feature of svn... or is it just a byproduct of the current WC
> implementation that a small percentage of users are taking advantage. I
> know people having switch children where I work has caused problems. Yes
> mostly due to lack of understanding.
No, switch isn't a byproduct of the WC implementation. It was designed to
work the way it does today with reasoning at a higher level. If you recall
the CVS-tinged roots of this software, you'll recognize the correlation
between 'cvs up -r SOME_BRANCH' and 'svn switch ^/branches/SOME_BRANCH'.
When a working copy represents a branch root and nothing more, then sure,
'svn switch' is just an optimization over: 'svn diff wc > PATCH && rm -rf
wc && svn co ^/branches/SOME_BRANCH wc && patch -p0 < PATCH'. Why allow
switches of subtree items? Because Subversion has never forced folks to
only "branch" at project root locations. You can branch any subtree of your
project, so it stands to reason that you might want to switch only the
subtree to reflect that branch.
Of course, all this functionality is pointless if we allow folks to shoot
themselves in the foot, commit to the wrong location, hork their working
copies, or whatever other ill can result from the state of things today.
--
C. Michael Pilato <cmpilato_at_collab.net>
CollabNet <> www.collab.net <> Distributed Development On Demand
Received on 2011-04-11 20:02:01 CEST