[crossfire] Crossfire should use Git
Mark Wedel
mwedel at sonic.net
Sat Jun 14 01:02:28 CDT 2014
Whenever these discussions come up (this is probably the 3rd or 4th
iteration), the general response is 'we should use the VCS that I'm most
familiar with'
So on that basis, I'd vote for mercurial (use it at work) or SVN (crossfire
already uses it)
All that being said, for the amount of commits crossfire gets, I'm really not
convinced a distributed VCS is worth the effort. It is certainly useful for
really big projects, or if making lots of changes such that you want to be able
to do intermediate commits.
To me, the only really compelling reason for a DVCS is that all the data is
local, so you can do things like diff, history, etc, and still get data even if
the master gate is down.
I don't think it will make much difference in terms of maintaining branches -
all systems I've seen have problems once branches drift apart - at some level,
manual merging is possible. Its been a while, but I seem to remember that even
for SVN, there was a pretty simple way to do that. The main problem (in
general) with branches is people just generally don't want to do the extra steps
to backport, even if the steps were pretty trivial.
I'm really not convinced that a bunch of branches are desirable thing -
whenever extra branches have shown up in SVN, they basically just languished,
and I don't think it was because of the VCS, but rather there are not so many
developers that your going to have 10 people working on the trunk and 8 playing
on a branch - rather, everyone just works on trunk.
Conceivably, this can be useful if working on a private branch, but a DVCS
really doesn't help prevent merge hell if the branches drift too far apart
(conflicts still need to be resolved by hand), though I suppose with a DVCS,
they would need to be resolved less often vs trying to use SVN.
mercurial at least can pull from a SVN repo, as it sounds like GIT can, but
the issue is the push. I have no idea if git and mercurial can play well
together (if the repo was mercurial, can git do most things it needs to do or
vice versa).
More information about the crossfire
mailing list