Zwillingssterns Weltenwald
Published on Zwillingssterns Weltenwald (https://www.draketo.de)

Startseite > git vs. hg - offensive

git vs. hg - offensive

In many discussions on DVCS over the years I have been fair, friendly and technical while receiving vitriol [1] and misinformation and FUD [2]. This strip visualizes the impression which stuck to my mind when speaking with casual git-users.

Update: I found a very calm discussion at a place where I did not expect it: reddit [3]. I’m sorry to you, guys. Thank you for proving that a constructive discussion is possible from both sides! I hope that you are not among the ones offended by this strip.

To Hg-users: There are git users who really understand what they are doing and who stick to arguments and friendly competition. This comic arose from the many frustrating experiences with the many other git users. Please don’t let this strip trick you into going down to non-constructive arguments. Let’s stay friendly. I already feel slightly bad about this short move into competition-like visualization for a topic where I much prefer friendly, constructive discussions. But it sucks to see contributors stumble over git, so I think it was time for this.

»I also think that git isn’t the most beginner-friendly program. That’s why I’m using only its elementary features«

git vs. hg - offensive [4]

To put the strip in words [5], let’s complete the quote:

»I also think that git isn’t the most beginner-friendly program.
That’s why I’m using only its elementary features«
<ArneBab> I hear that from many git-users…
»oh, maybe I should have another look at hg after all«

Why this?

Because there are far too many Git-Users who only dare using the most basic commands which makes git at best useless and at worst harmful.

This is not the fault of the users. It is the fault of the tool.

This strip is horrible!

If you are offended by this strip: You knew the title when you came here, right?

And if you are offended enough, that you want to make your own strip and set things right, go grab the source-file [6], fire up krita [7] and go for it! This strip is free.1

Commentary

If you feel that this strip fits Mercurial and Git perfectly, keep in mind, that this is only one aspect of the situation, and that using Git is still much better than being forced to use centralized or proprietary version tracking (and people who survive the initial phase mostly unscarred can actually do the same with Git as they could with Mercurial).

And Mercurial also has its share of problems - even horrible ones [8] (update 2014: These were fixed in version 3.0 [9]) - but compared to Git it is a wonder of usability.

And in case this strip does not apply to your usage of Git: there are far too many people whose experience it fits - and this should not be the case for the most widespread system for accessing the code of free software projects.

(and should this strip be completely unintelligible to you: curse a world in which the concept of monofilament whips isn’t mainstream ☺ — let’s get more people to play Shadowrun [10])

The way forward

So if you are one of the people, who mostly use commit, pull and push, and turn to a Git-Guru when things break, then you might want to kiss the Git-Guru goodbye and give Mercurial [11] a try.

By the way: the extensions named in the Final Round are record [12], mutable [13] and infocalypse [14]: Select the changes to commit on a hunk-by-hunk base, change history with automatic conflict resolution (even for rebase) and collaborate anonymously over Freenet [15].

And if you are one of the Git Gurus who claim that squashing attacking Ninjas is only possible with Git, have a look what a Firefox-contributor and former long-term Git-User [16] and a Facebook infrastructure developer [17] have to say about this.


  1. All the graphics in this strip are available under free licenses: creative-commons attribution [18] or GPLv3 or later [19] — you decide which of those you use. If it is cc attribution, call me Arne Babenhauserheide and link to this article. You’ll find all the sources as well as some preliminary works and SVGs in git-vs-hg-offensive.tar_.gz [20] or git-vs-hg-offensive.zip [21] (whichever you prefer)

    cc by [18] GPLv3 [19]

    ↩

AnhangGröße
git-vs-hg-offensive-purevector-retouch2.png [22]184.31 KB
git-vs-hg-offensive.tar_.gz [20]22.59 MB
git-vs-hg-offensive.zip [21]22.62 MB
git-vs-hg-offensive.png [4]185.98 KB
git-vs-hg-offensive-purevector-retouch2.kra [6]377.58 KB
git-vs-hg-offensive-thumb.jpg [23]11.3 KB
git-vs-hg-offensive-thumb-240x240.jpg [24]11.78 KB
Werke von Arne Babenhauserheide. Lizensiert, wo nichts anderes steht, unter der GPLv3 or later und weiteren freien Lizenzen.

Diese Seite nutzt Cookies. Und Bilder. Manchmal auch Text. Eins davon muss ich wohl erwähnen — sagen die meisten anderen, und ich habe grade keine Zeit, Rechtstexte dazu zu lesen…


Source URL: https://www.draketo.de/light/english/mercurial/git-vs-hg-offensive

Links:
[1] http://felipec.wordpress.com/2011/01/16/mercurial-vs-git-its-all-in-the-branches/
[2] https://www.draketo.de/light/english/mercurial/factual-errors-why-git-atlassian
[3] http://www.reddit.com/r/programming/comments/20r8vu/factual_errors_in_git_vs_mercurial_why_git_from/
[4] https://www.draketo.de/files/git-vs-hg-offensive.png
[5] https://www.draketo.de/light/english/mercurial/factual-errors-why-git-atlassian#friendly
[6] https://www.draketo.de/files/git-vs-hg-offensive-purevector-retouch2.kra
[7] http://krita.org/
[8] https://www.draketo.de/light/english/dvcs-workflow-failures-git-hg
[9] https://www.draketo.de/light/english/dvcs-workflow-failures-git-hg#update-2014-05-01
[10] http://www.shadowrun.com/
[11] http://mercurial-scm.org
[12] http://mercurial-scm.org/wiki/RecordExtension
[13] http://mercurial-scm.org/wiki/EvolveExtension
[14] http://mercurial-scm.org/wiki/Infocalypse
[15] http://freenetproject.org
[16] http://gregoryszorc.com/blog/2013/05/12/thoughts-on-mercurial-(and-git)/
[17] https://code.facebook.com/posts/218678814984400/scaling-mercurial-at-facebook/
[18] http://creativecommons.org/licenses/by/4.0/
[19] http://gnu.org/l/gpl
[20] https://www.draketo.de/files/git-vs-hg-offensive.tar_.gz
[21] https://www.draketo.de/files/git-vs-hg-offensive.zip
[22] https://www.draketo.de/files/git-vs-hg-offensive-purevector-retouch2.png
[23] https://www.draketo.de/files/git-vs-hg-offensive-thumb.jpg
[24] https://www.draketo.de/files/git-vs-hg-offensive-thumb-240x240.jpg