Switching from CVS to Subversion: test svn repo available

Derek Atkins warlord at MIT.EDU
Mon Oct 24 13:20:11 EDT 2005


Quoting Brian <dol-sen at telus.net>:

>> 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 with with Chris on this one.  I am not much of a developer, but
> would like to contribute when I can.  Several months back I tried making
> changes to make the hard coded business info in the fancy-invoice
> dynamic.  I was able to extend the File=>Properties dialog and get the
> additional data saved and reloaded, but could not get the fancy-invoice
> to retreive that data.  (Yes I exported it, I'm with Neil about
> Scheme :( )
> It would probably have only taken someone else 5-10 minutes to fix it.
> Unfortunately I got too busy to keep plugging away at it and it has now
> missed the final 1.8 release.
>
> I am probably not the only one that could contribute code that way.

And what stopped you from doing, effectively:

  cvs -q diff -u | mail gnucash-devel at gnucash.org

There's nothing that was stopping you from doing this, as far as I can 
tell.  A
different SCM would have just changed the commandline you used.

The problem here is not the tools available.  It's individual workhabits.

> Another compelling reason:  Just look at several of the recent threads
> complaining about changes breaking things and others not knowing what
> others are in the process of changing.  SVN will help, but may not be as
> good.

SVN would have helped.
Using CVS Branches would have helped.
Committing working code would have been best ;)  But neither CVS nor SVN can
help  there.  ;)

A tool is still a tool.  It doesn't reduce the work involved in writing good
code.

The problem is that historically the commiters have been restricted to 
a trusted
group of people, but there are a few "new" developers who have not yet been
given commit access.  Honestly I can only think of one developer in 
particular.

GnuCash handles people's money!  People need to be able to trust the 
code.  This
means limited commit access and gatewaying of patches.  it also means 
using the
tools we have appropriately.  Neil should not have been using the g2 branch to
do the QOF work; there should have been a new branch for that.

A distributed SCM makes no sense for gnucash.  There just aren't enough
developers, and the code base just isn't that large.  It's still perfectly
reasonable to be shipping patches around.

If you really want a distributed SCM, consider SVK.

-derek

PS: Every Software Engineer should know scheme.  They don't have to 
like it. They don't have to be proficient in it.  But they should know 
it.  The
historical significance of Lisp/Scheme to the development Computer Science
alone  should be sufficient to expose you to the language.  I'll note 
that I've
never liked Scheme myself, but I at least understand why it was created.

PPS: Scheme is so easy to learn that if you can't learn the _syntax_ in a day
you should hang up your keyboard and find another profession.  Learning the
available functions/procedures can certainly take longer, but the MIT Scheme
Reference is extremely handy.

http://www.swiss.ai.mit.edu/projects/scheme/documentation/scheme.html

-- 
       Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
       Member, MIT Student Information Processing Board  (SIPB)
       URL: http://web.mit.edu/warlord/    PP-ASEL-IA     N1NWH
       warlord at MIT.EDU                        PGP key available



More information about the gnucash-devel mailing list