[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Subversion Doesn't Have Branches aka Crossing the Streams aka Branches as First Class Objects?

From: Stefan Sperling <stsp_at_elego.de>
Date: Sun, 12 May 2013 18:53:25 +0200

On Sat, May 11, 2013 at 10:50:12PM +0100, Zé wrote:
> You're missing the point. The point is that subversion could be
> even better than what it already is if it actually supported
> branches.

OK, I would also like Subversion to get better, so we agree here.

Now, what kinds of improvements would you hope to gain from adding
a first-class concept called "branch" to the current system?

Keep in mind that adding a new dimension to the current repository
data model is a huge amount of work. We need a design spec that is
solid, and we need to have a very good idea of how to implement
that design, using the current system as a starting point.

We need to know how all existing operations will be affected by the
extended data model, and how they need to behave in the new data model.
We need to define use cases and test cases for any new behaviour.

We need to know if and how these changes affect our two network
communication protocols, and perhaps implement changes there.

And it also needs to be backwards compatible all the way back to SVN 1.0.

If the only result of this humongous effort is fixing a problem of an
arguably cosmetic nature, such as copies/moves of directories no longer
reflecting on the history of their children, then I'm not very convinced
that changing the data model is worth it.

But if it can fix some of the sore points of Subversion, in particular
better support for merging of renames and resolving tree conflicts,
then I'm all ears and would like to learn more about your ideas.

We are trying to fix several of Subversion's sore points within the
current data model, and it is getting increasingly hard. However, so
far I haven't seen a very convincing reason to make exhaustive changes
to the repository backend. I've experimented with making enhancements
to the backend on a smaller scale than you are proposing
(http://svn.apache.org/repos/asf/subversion/branches/fs-successor-ids/BRANCH-README)
or not making any backend changes at all but having the client do more work
(http://svn.apache.org/repos/asf/subversion/branches/moves-scan-log/BRANCH-README)
But those ideas didn't get us anywhere yet.

I know that some disagree with me about whether we need to make
exhaustive changes to the backend, see http://wiki.apache.org/subversion/FS2
But so far nothing has materialised from that. Perhaps we'll start
seeing some results from those ideas, perhaps not. I don't know.
The page still says that "There is currently no implementation plan."
Received on 2013-05-12 18:54:01 CEST

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.