[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