On Fri, Jul 15, 2016 at 10:39:05AM +1000, Steven D'Aprano wrote: > About seven years ago, the senior technical manager at my work chose hg over > git. When he left to go to greener pastures, the dev team took about 30 > seconds to to reverse his decision and migrate to git, after which the > level of VCS-related screw-ups and queries went through the roof.
Git used to have much sharper edges than Mercurial, but that is pretty much a thing of the past. With Git you pretty much can't permanently lose history unless you try really, really hard. It'll always be there in the reflog for a period of several days minimum (I think 2 weeks by default?) and if you're worried about it you can configure it to put that off for months or years... On the other hand, I have had Mercurial bugs repeatedly lose work of mine. The kind of bugs that aren't easy to reproduce so nearly impossible to report and nearly impossible to fix. The ecosystem of "extensions" makes this problem inevitable. You depend on extensions, typically third-party extensions for the first few years of their life, for all of the power-user stuff, and the extensions have as much power to corrupt or lose history as the main library does. And of course, they have the potential to alter the behavior of the core library making reporting bugs that much more difficult ("ok, but which extensions, official or unofficial, do you have installed?"). Now instead of one team writing bugs you have N teams writing them in isolation. Combined with their failure to accomodate the distributed development model properly you now have a bunch of incompatible ideas for managing branches and history editing and they still haven't gotten it all right yet (but they're getting closer the more and more they model the design after Git). > To give you an idea of how screwed up things are, even though I'm not one of > the developer team, and have never pushed a thing into the code > repositories (I have pushed into documentation repos), somehow according > to "git blame" I'm responsible for a bunch of code. The user name and email fields are not controlled in either Git or Mercurial so anybody can commit code under your name without you being involved. That would be pretty unprofessional though... I can't imagine Git magically pulling your name out of nowhere when it looks up the author of commits that are responsible for lines of code... Maybe you should report that to the mailing list and get to the bottom of it... I suspect that the explanation has nothing to do with any bugs in Git. Regards, -- Brandon McCaig <bamcc...@gmail.com> <bamb...@castopulence.org> Castopulence Software <https://www.castopulence.org/> Blog <http://www.bambams.ca/> perl -E '$_=q{V zrna gur orfg jvgu jung V fnl. }. q{Vg qbrfa'\''g nyjnlf fbhaq gung jnl.}; tr/A-Ma-mN-Zn-z/N-Zn-zA-Ma-m/;say'
signature.asc
Description: Digital signature
-- https://mail.python.org/mailman/listinfo/python-list