all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Jordi Gutiérrez Hermoso" <jordigh@octave.org>
To: Emacs development discussions <emacs-devel@gnu.org>
Cc: "esr@thyrsus.com" <esr@thyrsus.com>
Subject: Prefer Mercurial instead of git
Date: Fri, 03 Jan 2014 16:52:32 -0500	[thread overview]
Message-ID: <1388785952.11337.16.camel@Iris> (raw)

Please CC me in replies as I am not subscribed to this list.

I know a majority opinion lies with git due to various cultural
factors. I would, however, want to make a case for Mercurial being a
better choice for a GNU package.

Mercurial (hereafter, hg) is technically no less capable than git. It
is fast[1], featureful[2], and actively developed[3]. Technically
speaking, Mercurial is a great choice. As far as Emacs development
goes, I know magit makes a strong case for git, but there's no reason
why magit couldn't abstract away its backend and present the same UI
for git as for hg. They are almost equal on a purely technical level,
sometimes hg besting git for some features, sometimes git taking the
lead. Moreover, hg is frequently touted as being more approachable
than git[4]. We have been successfully using hg for Octave development
for the past few years, and we are very happy with it. It works very
well for us.

My main argument in favour of hg is not technical, but rather social.
For GNU, I think it is far more important to support a project that
aligns with GNU's aims, and I find git's GPLv2-only license to be a
disadvantage when contrasted with hg's GPLv2-or-later. For example,
this makes it more awkward to combine git with AGPL code, which is
something that we reasonably might want to do for web front-ends.
GPLv3 and AGPL have mutual cross-compatibility clauses with each
other, but AIUI, GPLv2-only and AGPL don't.

I also think that Matt Mackall (mpm), hg's very active lead dev, has a
friendlier position towards GNU than git's maintainers do. As a
result, hg itself is a strong defender of free software, they take
active steps to enforce the GPL, and made steps towards moving to
GPLv2+ whereas git is not going to do so. I think as a very prominent
GNU package, Emacs would do well to offer a nod to an equally
technically capable DVCS that is more aligned with GNU's goals.

Besides, I think mpm is an Emacs user himself. I think he'd be
pleased. :-)

- Jordi G. H.

[1] http://draketo.de/proj/hg-vs-git-server/test-results.html#results

    Mercurial is also faster than git at one of the frequent
    criticisms against bzr: slow clones. Try it yourself on gnulib and
    its hg mirror:

     $ time hg clone http://hg.savannah.gnu.org/hgweb/octave/gnulib-hg/
     $ time git clone http://git.savannah.gnu.org/gitweb/?p=gnulib.git

    These two are on exact the same server, so at least for this repo,
    this is a fair comparison of speed of hg vs git.

[2] http://mercurial.selenic.com/wiki/UsingExtensions#Extensions_bundled_with_Mercurial

[3] https://www.ohloh.net/p/mercurial/commits/summary

[4] http://programmers.stackexchange.com/questions/87217/why-is-mercurial-considered-to-be-easier-than-git

[5] https://





             reply	other threads:[~2014-01-03 21:52 UTC|newest]

Thread overview: 72+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-03 21:52 Jordi Gutiérrez Hermoso [this message]
2014-01-04 10:11 ` Prefer Mercurial instead of git David Kastrup
2014-01-04 10:20   ` David Engster
2014-01-04 10:33   ` Eric S. Raymond
2014-01-04 13:13   ` Jordi Gutiérrez Hermoso
2014-01-04 13:29     ` David Engster
2014-01-04 14:23     ` David Kastrup
2014-01-04 14:38       ` Jordi Gutiérrez Hermoso
2014-01-04 15:19         ` David Kastrup
2014-01-04 15:24           ` Jordi Gutiérrez Hermoso
2014-01-04 16:51             ` David Engster
2014-01-04 17:16               ` Jordi Gutiérrez Hermoso
2014-01-04 17:31                 ` David Engster
2014-01-04 17:40                   ` Jordi Gutiérrez Hermoso
2014-01-04 18:34                     ` Alan Mackenzie
2014-01-04 19:26                       ` Óscar Fuentes
2014-01-04 20:18                       ` Stefan Monnier
2014-01-05 11:07                     ` Leo Liu
2014-01-04 17:35                 ` Eli Zaretskii
2014-01-04 18:25                   ` Paul Eggert
2014-01-04 20:03                     ` Eli Zaretskii
2014-01-06 12:26                       ` Darren Hoo
2014-01-06 14:58                         ` Stefan Monnier
2014-01-06 17:44                         ` Eli Zaretskii
2014-01-06 19:33                         ` Paul Eggert
2014-01-04 14:40       ` Jordi Gutiérrez Hermoso
2014-01-05 12:17         ` Stephen J. Turnbull
2014-01-05 13:19           ` Jordi Gutiérrez Hermoso
2014-01-05 13:25             ` Florian Weimer
2014-01-05 13:55               ` Jordi Gutiérrez Hermoso
2014-01-05 15:38             ` Óscar Fuentes
2014-01-05 16:18               ` Jordi Gutiérrez Hermoso
2014-01-05 16:41                 ` Eric S. Raymond
2014-01-05 17:09                 ` Óscar Fuentes
2014-01-05 23:26                   ` Jordi Gutiérrez Hermoso
2014-01-06  0:38                     ` Óscar Fuentes
2014-01-06  1:01                       ` Jordi Gutiérrez Hermoso
2014-01-06  0:03                 ` David Kastrup
2014-01-05 17:54             ` Stephen J. Turnbull
2014-01-05 23:03               ` Dov Feldstern
2014-01-05 23:23                 ` Karl Fogel
2014-01-05 23:37                   ` Dov Feldstern
2014-01-06  4:02                     ` Stephen J. Turnbull
2014-01-05 13:56           ` David Kastrup
2014-01-04 14:12 ` Rüdiger Sonderfeld
2014-01-04 16:08   ` Sebastian Wiesner
2014-01-04 16:41     ` Jordi Gutiérrez Hermoso
2014-01-04 18:37       ` David Kastrup
2014-01-04 18:44         ` Alan Mackenzie
2014-01-04 19:04         ` Jordi Gutiérrez Hermoso
2014-01-04 19:30           ` Óscar Fuentes
2014-01-05 16:23             ` Eli Zaretskii
2014-01-05 16:46               ` Eric S. Raymond
2014-01-05 17:03                 ` Eli Zaretskii
2014-01-05 16:52               ` Óscar Fuentes
2014-01-05 17:17                 ` Eli Zaretskii
2014-01-05 17:55                   ` Óscar Fuentes
2014-01-05 18:07                     ` Eli Zaretskii
2014-01-05 18:54                       ` Óscar Fuentes
2014-01-05 21:07                     ` Sean Sieger
2014-01-06  0:12                   ` David Kastrup
2014-01-06  0:21                     ` Rostislav Svoboda
2014-01-06  0:30                       ` Karl Fogel
2014-01-06  2:24                         ` Jay Belanger
2014-01-06 16:51                           ` Karl Fogel
2014-01-06 17:13                             ` Jay Belanger
2014-01-06  3:47                     ` Eli Zaretskii
2014-01-05  3:13         ` Jay Belanger
2014-01-05 17:16       ` Sebastian Wiesner
2014-01-06  0:17         ` David Kastrup
2014-01-05  2:14 ` Karl Fogel
  -- strict thread matches above, loose matches on Subject: below --
2014-01-06 13:08 grischka

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1388785952.11337.16.camel@Iris \
    --to=jordigh@octave.org \
    --cc=emacs-devel@gnu.org \
    --cc=esr@thyrsus.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.