git mailinfo strips important context from patch subjects
- From
- Roger Leigh <rleigh@codelibre.net>
- Date
- Jun 28, 2009, 19:38 UTC
- Message-ID
- <20090628193858.GA29467@codelibre.net>
[I'm not currently subscribed to the list; I'd appreciate a CC on any replies, thanks!]
Hi,
In most of the projects I work on, the git commit message has the affected subsystem or component in square brackets, such as
[foo] change bar to baz
For example, with a single patch from a series produced by git format-patch:
% head -n4 /tmp/patches/0005-sbuild-chroot_mountable-Don-t-derive-from-chroot.patch From f01579584f1e7d77cf1e9c3306601a4cccff8c55 Mon Sep 17 00:00:00 2001 From: Roger Leigh <rleigh@debian.org> Date: Fri, 10 Apr 2009 19:43:15 +0100 Subject: [PATCH 05/15] [sbuild] chroot_mountable: Don't derive from chroot
% git mailinfo </tmp/patches/0005-sbuild-chroot_mountable-Don-t-derive-from-chroot.patch /dev/null /dev/null Author: Roger Leigh Email: rleigh@debian.org Subject: chroot_mountable: Don't derive from chroot Date: Fri, 10 Apr 2009 19:43:15 +0100
The [sbuild] prefix has been dropped from the Subject, so an important bit of context about the patch has been lost.
It's a bit of a bug that you can't round trip from a git-format-patch to import with git-am and then not be able to produce the exact same patch set with git-format-patch again (assuming preparing and applying to the same point, of course).
Would it be possible to change the git-mailinfo logic to use a less greedy pattern match so it leaves everything after ([PATCH( [0-9/])+])+ in the subject? AFAICT this is cleanup_subject in builtin-mailinfo.c? Could this rather complex function not just do a simple regex match which can also take care of stripping ([Rr]e:) ?
Thanks, Roger
-- .''`. Roger Leigh : :' : Debian GNU/Linux http://people.debian.org/~rleigh/ `. `' Printing on GNU/Linux? http://gutenprint.sourceforge.net/ `- GPG Public Key: 0x25BFB848 Please GPG sign your mail.