On Sun, Apr 29, 2012 at 04:11:33PM +0100, list@aether.me.uk wrote:
> On Sat, 28 Apr 2012 12:55:33 +0100, Daniel Silverstone wrote:
> > * Git doesn't work on my obscure $platform (We'd rather fix Git than
> >hold off getting away from svn)
> I'm not here to complain about the VCS you choose to use, but I am
> interested to know why this change is happening.
And I will be pleased to elucidate.
> I may be reading too much into your wording but it sounds like you're
> not moving *towards* Git, but *away* from Subversion. I've used
> Subversion for a long time and always got on pretty well with it so
> I'd be fascinated to know what it is which makes it so abhorrent in
> the eyes of the core Netsurf developers. Can you point me at the
> discussion where this decision was made?
Yes, the move is much more "away from Subversion" than towards any particular
other VCS. Specifically we're fed up with the abysmal management of merges
which Subversion just can't do well. We're also wanting to make it possible
for anyone to have useful branches of our codebase without having to have
commit rights to any part of our repositories.
> And why Git in particular. Clearly it's growing in popularity but
> there are lots of other options. I'm guessing that the fact that it
> is distributed is relevant but why not Arch, Mercurial, DARCS, Bazaar
> or even SVK?
Arch: Old, slow, clunky. Reliable but just not a sensible option. Very
complex for people to wrap their heads around (consider register
archive etc)
Bazaar: Similar architecture to Arch, better UI, same issue with root
concepts.
Bazaar-NG: Nice UI, my personal favourite, but honestly it's just a little too
slow. Python as a prerequisite also reduces useful portability.
Mercurial: I've not spent a lot of time with this. Horror stories of data
loss and confusing errors from those I know who still love it have
prevented me.
DARCS: I just don't trust it to be predictably performant. I've seen people
wait hours for a commit to complete sometimes. It seems to be a nice
idea in theory, but I don't approve of its reality.
SVK: Yes, in theory it gets us more branching/merging support while staying
on Subversion (which at least one of our developers would prefer) but
it's a huge tottering perl monstrosity, thus overall we don't approve.
We have considered plenty of DVCSs over the years. I've been pushing for a
move from Subversion for the past four or five years. Until recently, the pain
of the move outweighed the pain of staying, but nowadays it's too painful to
stay. Git "won" the argument in the end because it's the one DVCS the majority
of us are familiar (if not comfortable) with. It has a lot of good
documentation out there, and while its UI sucks (to say the least) it is
competently implemented and UI can be improved.
I hope this was helpful/interesting for you.
D.
--
Daniel Silverstone http://www.netsurf-browser.org/
PGP mail accepted and encouraged. Key Id: 3CCE BABE 206C 3B69
No comments:
Post a Comment