[Dune-devel] How should patches be submitted?

Ansgar Burchardt burchardt at igpm.rwth-aachen.de
Mon Oct 6 18:41:29 CEST 2014


Hi,

I was wondering how people who cannot commit should best submit
patches. Git provides many ways to do so:

A) Use git-send-email
   This will generate a mail per commit which can then be applied by
   forwarding the mail to git-am.

   Plus points:
    - Easy to use as a submitter (provided one-time setup for Git to be
      able to send mail).
    - Allows commenting on patches: just reply to the mail and the patch
      should be right there.
   Minus points:
    - Not easy to use as a committer when the mail program does not
      support forwarding mails to programs (or a web mailer is used).
    - Potentially nosy when large amounts of patches are sent.

   Example: http://lists.dune-project.org/pipermail/dune-devel/2014-September/001064.html

B) Use git-format-patch and attach patches to mail

   This is slighty more annoying to do as a submitter as it requires
   writing a mail by hand. I'm also not sure if all mail programs allow
   quoting the changes (diff) in a reply.

C) File a bug and attach patches there

   Like (B), but more work for the submitter. For trivial patches
   (typoes), I don't like doing this. I'm also not sure how well this
   works for larger changes.

D) Point to an external Git repository & branch ("pull request")

   Ask the committer to fetch from a remote Git repository and merge one
   branch from there. As far as I understand, this is how development of
   the Linux kernel works.

   Requesting a pull can be largely automated (git-request-pull); this
   again requires a one-time setup of Git.

   Plus points:
    - Easy to use as submitter and committer.
   Minus points:
    - Not easy to comment on the patch.

   Example: http://lists.dune-project.org/pipermail/dune-devel/2014-October/001135.html

E) GitHub pull requests

   Use pull requests on github.com.

   Plus points:
    - Easy to use.
    - Allow commenting on individual commits (and diffs) as well as on
      the merge request as a whole
   Minus points:
    - Tied to the (non-free) github.com infrastructure.

Personally as a submitter I prefer (A) or (D) for small patches to
projects. (E) is also very popular and GitHub has many attractive
features, but is tied to a non-free service. (C) is okay for bugs, but
too much overhead for trivial stuff. (B) is just a more annoying (for
me) variant of (A).

I think it would also be nice if the preferred way to submit patches
could be documented somewhere on the web site.

Ansgar




More information about the Dune-devel mailing list