[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