summaryrefslogtreecommitdiff
path: root/commit.h
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2013-07-03 03:08:22 -0400
committerJunio C Hamano <gitster@pobox.com>2013-07-03 12:11:04 -0700
commita90804752f6ab2b911882d47fafb6c2b78f447c3 (patch)
treeecf64fa9f0317643baf5fb9ec791729edee98ea5 /commit.h
parent10f2fbff6859a22327d04f9eb0c1a38995ff48b1 (diff)
downloadgit-a90804752f6ab2b911882d47fafb6c2b78f447c3.tar.gz
teach format-patch to place other authors into in-body "From"
Format-patch generates emails with the "From" address set to the author of each patch. If you are going to send the emails, however, you would want to replace the author identity with yours (if they are not the same), and bump the author identity to an in-body header. Normally this is handled by git-send-email, which does the transformation before sending out the emails. However, some workflows may not use send-email (e.g., imap-send, or a custom script which feeds the mbox to a non-git MUA). They could each implement this feature themselves, but getting it right is non-trivial (one must canonicalize the identities by reversing any RFC2047 encoding or RFC822 quoting of the headers, which has caused many bugs in send-email over the years). This patch takes a different approach: it teaches format-patch a "--from" option which handles the ident check and in-body header while it is writing out the email. It's much simpler to do at this level (because we haven't done any quoting yet), and any workflow based on format-patch can easily turn it on. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'commit.h')
-rw-r--r--commit.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/commit.h b/commit.h
index 011ddb146f..c56bc3a091 100644
--- a/commit.h
+++ b/commit.h
@@ -6,6 +6,7 @@
#include "strbuf.h"
#include "decorate.h"
#include "gpg-interface.h"
+#include "string-list.h"
struct commit_list {
struct commit *item;
@@ -95,11 +96,15 @@ struct pretty_print_context {
const char *output_encoding;
struct string_list *mailmap;
int color;
+ struct ident_split *from_ident;
/*
* Fields below here are manipulated internally by pp_* functions and
* should not be counted on by callers.
*/
+
+ /* Manipulated by the pp_* functions internally. */
+ struct string_list in_body_headers;
};
struct userformat_want {