[phobos] Switching to git

Brad Roberts braddr at puremagic.com
Wed May 26 10:30:44 PDT 2010


I don't believe that the recent issues had anything to do with order of submits,
merges, or anything else that git would do differently than svn.  It had much
more to do with 3 separate code bases that are interrelated: dmd, druntime, and
phobos.

As much as I like git for some stuff, it's more complex to learn and svn is
'good enough'.  It's _far_ better than the nothing that existed before.

My 2 cents,
Brad

On 5/26/2010 2:19 AM, Lars Tandle Kyllingstad 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



More information about the phobos mailing list