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
[email protected]
http://lists.puremagic.com/mailman/listinfo/phobos
_______________________________________________
phobos mailing list
[email protected]
http://lists.puremagic.com/mailman/listinfo/phobos

Reply via email to