[RndTbl] Revision control
athompso at athompso.net
Fri Sep 30 13:20:38 CDT 2011
> -----Original Message-----
> Following up to last month's meeting topic, I'm wondering if anyone
> can help me choose a revision control system for my purposes.
> It'll be 2 developers (possibly more later, but always a small
> We'll share access into 1 box, but I'm thinking we'd prefer a
> system that lets us check out the complete source tree to our own
> dev boxes where we can code, and then merge back up changes.
That screams "git".
> Also, it would be great if we could have a way to check out the
> current project into a dir that would then serve directly to the
> web (it's a php project). For example, I'd want a copy to dev on,
> the other guy would have a copy, and a 3rd copy (possibly older)
> would be the live web site. When commits are shown to be good,
> we'd check out into the live site. Hope that makes sense.
Yup. Any decent RCS can do this.
> I'm thinking CVS or subversion. I'm not sure this small project
> (maybe 30k lines of code) warrants the strangeness of git.
> Anything else I'm missing? I'd love to hear the pros/cons.
Although I'm a CVS die-hard, for any new deployments I can't see why I
would want to use anything other than git. (Commercial/contractual
requirements notwithstanding, of course.)
SVN has too many corner cases that don't quite work "right", and I've been
bitten by some of them while doing fairly ordinary things.
There is definitely a learning curve involved with git, or rather, there's
an UNlearning curve - if you try to apply RCS/CVS/SVN concepts to git you
will fail, or at best will constantly be fighting the system.
Check out the LJ article on git from a couple of months ago,
I read that, git "clicked" for me mentally for the first time.
I agree with one of the other comments - git is only as strange as you
make it. Trying to use it as a drop-in replacement for CVS or SVN will
make it strange.
FYI - IMHO, SVN has a bigger learning curve than git, coming from CVS.
More information about the Roundtable