[phobos] Switching to git
Andrei Alexandrescu
andrei at erdani.com
Wed May 26 07:12:51 PDT 2010
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