format-patch: track several references

Currently, format-patch can only track a single reference (the
In-Reply-To:) for each mail.  To ensure proper threading, we should
list all known references for every mail.

Change the rev_info.ref_message_id field to a string_list, so that we
can append references at will, and change the output formatting
routines to print all of them in the References: header.  The last
entry in the list is implicitly assumed to be the In-Reply-To:, which
gives output consistent with RFC 2822:

   The "References:" field will contain the contents of the parent's
   "References:" field (if any) followed by the contents of the
   parent's "Message-ID:" field (if any).

Note that this is just preparatory work; nothing uses it yet, so all
"References:" fields in the output are still only one deep.

Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Thomas Rast
2009-02-19 22:26:31 +01:00
committed by Junio C Hamano
parent 484cf6c3f1
commit b079c50e03
3 changed files with 19 additions and 8 deletions

View File

@ -89,7 +89,7 @@ struct rev_info {
int nr, total;
const char *mime_boundary;
char *message_id;
const char *ref_message_id;
struct string_list *ref_message_ids;
const char *add_signoff;
const char *extra_headers;
const char *log_reencode;