← Back to context

Comment by ActionHank

4 years ago

I don't think of myself as old, but certainly grumpy and this comment rubbed me the wrong way.

In my time as a dev I've worked with CVS, SVN, Mercurial, and then git. I can confidently say that no dev I've worked with ever kicked up a fuss when they switched, because each iteration brought improvements.

I would however say that modern devs carry with them modern baggage. There are far too many bootcamps churning out devs who say "this is git, everyone uses it, heres the minimum you need to know". These are the devs who will struggle with this sort of change, it would literally change a magical system they don't fully understand for reasons they may not fully understand.

I would have fussed going from Mercurial to git. Mercurial is arguably superior, much like Fossil, but unfortunately mindshare / marketshare is everything.

The layering model of merging in both those systems is superior to the standard git merge (rebase is close though). they also made cherry picking a trivial operation compared to git

  • Yeah, I was gonna say exactly this. When I switched from SVN to hg that was a bit of a shock, but I got over it and saw that DVCS was superior.

    Going from hg to git has been fairly annoying and... I'm not really convinced it's any better. Or maybe even at parity.

  • I willingly switched from Mercuial to Git due to, at the time, lack of in-repo branching and lack of history editing. IMO Mercurial shot themselves in the foot with some of their early decisions.

Both POV here can be reconciled with an experience-dependent exploitation-exploration tradeoff.

For everyone,

Eg., suppose t is the reward for exploitation, and r for exploration, and xp is your experience.

Then as xp -> inf, t -> inf and r ->0.

As xp -> 0, the reverse happens: t -> 0 and r -> inf.

"no dev I've worked with ever kicked up a fuss when they switched"

Wow. I don't think your experience is the common one. I've been on teams switching to git, and there was always much fussing. Even if the benefits of switching were clear and it was worth it, doesn't mean there won't be pain along the way.

I've seen whole teams kick and scream about migrating, even when their preferred system was taking minutes to do basic operations because the repo was too large.