fmt-patch: Support --attach

This patch touches a couple of files, because it adds options to print a
custom text just after the subject of a commit, and just after the
diffstat.

[jc: made "many dashes" used as the boundary leader into a single
 variable, to reduce the possibility of later tweaks to miscount the
 number of dashes to break it.]

Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
diff --git a/builtin-log.c b/builtin-log.c
index 12a6d19..c8feb0f 100644
--- a/builtin-log.c
+++ b/builtin-log.c
@@ -183,7 +183,12 @@
 						argv[i + 1]);
 			output_directory = strdup(argv[i + 1]);
 			i++;
-		} else
+		}
+		else if (!strcmp(argv[i], "--attach"))
+			rev.mime_boundary = git_version_string;
+		else if (!strncmp(argv[i], "--attach=", 9))
+			rev.mime_boundary = argv[i] + 9;
+		else
 			argv[j++] = argv[i];
 	}
 	argc = j;
@@ -224,8 +229,14 @@
 		shown = log_tree_commit(&rev, commit);
 		free(commit->buffer);
 		commit->buffer = NULL;
-		if (shown)
-			printf("-- \n%s\n\n", git_version_string);
+		if (shown) {
+			if (rev.mime_boundary)
+				printf("\n--%s%s--\n\n\n",
+				       mime_boundary_leader,
+				       rev.mime_boundary);
+			else
+				printf("-- \n%s\n\n", git_version_string);
+		}
 		if (!use_stdout)
 			fclose(stdout);
 	}