[phobos] Switching to git

Lars Tandle Kyllingstad lars at kyllingen.net
Wed May 26 10:12:13 PDT 2010


We could actually use Git in a SVN-like way, and have a central
repository like we have now.  Then there wouldn't be need for an
integrator, everyone can commit stuff themselves.  Git would still make
it a lot simpler to share and test code *before* it is committed to
trunk, and its branch/merge capabilities seem superior to SVN's.

-Lars



On Wed, 2010-05-26 at 07:24 -0700, Sean Kelly wrote:
> I like Git in theory but I'd prefer people simply be responsible when  
> making changes then put myself in the position of integrator. We're  
> all overworked as it is.
> 
> That said, the Git model works well for having a staging area where a  
> build occurs and unit tests are run automatically for each commit  
> before puishing to the central repo. I've used this model at work in  
> the past and it's great, though a lot of setup is involved.
> 
> Sent from my iPhone
> 
> On May 26, 2010, at 2:19 AM, Lars Tandle Kyllingstad  
> <lars at kyllingen.net> wrote:
> 
> > Was: Re: [phobos] phobos commit, revision 1553
> >
> >
> > On Tue, 2010-05-25 at 09:32 -0500, Andrei Alexandrescu wrote:
> >> I'd vote one up for git, but it won't fix the builds for us.
> >
> >
> > No, but it would have prevented the problems in the first place,  
> > because
> > people wouldn't commit their changes directly to 'trunk'.
> >
> > When several people make several changes to the same codebase, it  
> > can be
> > hard to track down exactly which change caused an error.  In a project
> > like Phobos, where there is a lot of interdependence between  
> > modules, it
> > may even happen that an error is caused by a combination of different
> > changes made by different people.
> >
> > And even when an error is tracked down, it may not be a trivial
> > operation to remove the bad code again if there have been a lot of
> > changes to trunk after the code was committed.
> >
> > I'm guessing this hasn't been a problem so far due to the relatively  
> > low
> > number of Phobos developers.  But this seems to be changing now.
> >
> > Like Steve points out, it would be possible to use branches and  
> > merging
> > when making changes.  There are some problems with this, though:
> >
> >     1. dsource's ancient SVN server is terribly bad at merging.
> >     2. The branches/ directory would quickly become an unwieldly mess
> >        if a new branch is created for every little change.
> >     3. SVN doesn't really seem to be designed with such a  
> > decentralised
> >        coding model in mind.
> >
> > git, on the other hand, is made for exactly this purpose.
> >
> > With git, if I make a change to Phobos, I tell you guys: "Hey folks,
> > please pull this code from my repo and test it."  If there are no
> > problems with it, only then may it be included in the next release.   
> > At
> > no point do I commit anything to trunk and say: "Hey folks, I've
> > *already* uploaded some not-completely-tested-nor-reviewed change to  
> > our
> > single, common codebase.  It may break stuff for everyone in ways I
> > hadn't thought of, but hey, there's only one way to find out."
> >
> > Here are some more links for the curious:
> >
> >        http://en.wikipedia.org/wiki/ 
> > Distributed_revision_control_system
> >        http://en.wikipedia.org/wiki/Git_%28software%29
> >
> > -Lars
> >
> >
> > _______________________________________________
> > phobos mailing list
> > phobos at puremagic.com
> > http://lists.puremagic.com/mailman/listinfo/phobos
> _______________________________________________
> phobos mailing list
> phobos at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/phobos




More information about the phobos mailing list