[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Move to git?



I have some thoughts here.

I have been using git for a few sub-projects, like the PHP classes as an excuse to learn it.   I can see why some people like git.  It does some things quite well.  However, at this point I cannot recommend it for the project's main repository.  Mercurial, maybe but I haven't learned it yet and don't really want to take the time to yet.  However so far what I have heard is that it does offer some of the revision control system guarantees notably missing from git.  There is a lot to consider however, and I think we have to assume this will take time.

Thing you have to remember about git is it isn't a revision control system, but rather a change management toolkit and it doesn't offer the basic guarantees of a revision control system by default.  For example it is possible to overwrite past changes/revisions using git.  Of course you can build a solution that does offer these guarantees but the more complicated you make it the harder it will be for cross-platform development to happen, and so I don't think it is a simple win but rather a significant tradeoff if we do it right, and a significant net loss if we do it wrong.  Ideally we'd add shell scripts and .bat files that would allow people to run identical series of commands to do things like submit changes back etc. that would run on all platforms.  We already have some unaddressed issues with OSX and shell scripts.  I don't really want to multiply these.

One thing I would be happy with would be a hybrid system with a gateway and people actively using that to pull/push contributions back.  Over time perhaps more development may naturally move there if the complexity issues get good solutions.  In this scenario we would see git for now largely as a merge-management tool for general use.  However at present, I think that a lot of things (including review of commits) will be made harder or at least more inconvenient, rather than easier by a move to git.  I am also somewhat concerned about necessitating more complexity regarding processes around the project.  Also we currently have a git gateway run by Jeff K, and he has commit access to our SVN repository but I don't think it has ever been a source of contributions.

Best Wishes,
Chris Travers