Switching from CVS to Subversion: test svn repo available

Chris Shoemaker c.shoemaker at cox.net
Mon Oct 24 10:53:30 EDT 2005


On Mon, Oct 24, 2005 at 03:37:52PM +0200, Fabien COELHO wrote:
> 
> Dear Chris,
> 
> >** Changesets **
> >** Centralized vs. Distributed **
> >       In summary, I think there are two main reasons for looking
> >further than SVN for SCM software.  1) Changesets are a big
> >convenience for all developers.  2) Distributed SCM lets fringe
> >developers benefit from a real SCM, too.
> 
> I must first state that I'm biased towards SVN. Nevertheless:
> 
> The actual question you should ask is "what is a desirable development
> model for gnucash", and then chose the best tool to support that model.
> Best is about features / support / stability / easy to understand / 
> free / available / portable...

I agree with this approach.

> 
> If you're in a war zone with many developpers where everybody wants to 
> develop its "own" personnal version and no one can fully agree on 
> something common (say you're in the linux kernel;-) then changesets and a 
> distributed approach is the (only) way to handle the anarchy;-)
> 
> If you want to produce "one" stable software with a close collaboration 
> between (few) developers, then the centralized solution looks much better 
> to keep control of what is going on. 

The actual state of things is that there are *very* few developers,
and I think the survival of gnucash depends on attracting more.  That
doesn't necessarily require a distributed model, but I think one key
step is providing the convenience of SCM to "fringe" developers.  That
could still happen in a centralized model, for example, if an
automated webform granted permission to create new branches and commit
to them so that all devs can see the newly developed code and provide
guidance long before it would be time for a patchbomb.  And if it was
very easy to keep dev branches in sync with main branch.

My point is not so much "distributed is better than centralized", as
it is "lower the barriers to new developers by letting them share code
early and often."  Distributed SCM is *one* way to do that.

> I agree that changesets are better 
> than simple file histories, but svn provides a reasonnable approximation. 

It *is* a reasonable approximation, *for certain purposes*.  But,
branch-merging is not one of those purposes, which is what makes it
easy to keep parallel dev branches in sync.

> ISTM that subversion's 'fsfs' backend does store changesets internally, by 
> the way.
> 
> So I think that svn as a better cvs is a good move for *gnucash*, although 
> it may not necessarily be the case for other softwares with different 
> aims and cultures.

Thanks for your thoughtful reply.

-chris

> 
> -- 
> Fabien COELHO   _____   fabien at coelho.net   _____   http://www.coelho.net


More information about the gnucash-devel mailing list