[phobos] Switching to git

Lars Tandle Kyllingstad lars at kyllingen.net
Wed May 26 07:26:17 PDT 2010


Is this because git is more complicated to work with than SVN and hence
people are more likely to need help from said champion, or because such
a person is needed regardless of which system is used?

If it's the latter, then I suppose that person would be whoever is the
SVN go-to person now, since dsource has official support for both SVN
and git.

If it's the former, well... I'm no git guru myself.  I've only used it
for a couple of months, but I instantly liked it better than SVN.  But I
see what you mean -- such a change would definitely not be trivial.

-Lars



On Wed, 2010-05-26 at 09:12 -0500, Andrei Alexandrescu wrote:
> I'd say, if you (or anyone) want to switch to git, you must volunteer 
> your time to be an administrator and go-to person for git. I can use git 
> to find my way out of a paper bag, but not much more. We have a very 
> strong git person at the company and I rely on him to fix any mess I'm 
> doing. We need to garner some level of committment from a champion in 
> order to switch to git.
> 
> Andrei
> 
> On 05/26/2010 04: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