format-patch: Add format.subjectprefix config option

This change lets you use the format.subjectprefix config option to override the
default subject prefix.

Signed-off-by: Adam Roben <aroben@apple.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Adam Roben 2007-07-01 17:48:59 -07:00 committed by Junio C Hamano
parent 05dcd69891
commit dbd2144736
6 changed files with 76 additions and 3 deletions

View File

@ -126,12 +126,13 @@ not add any suffix.
CONFIGURATION CONFIGURATION
------------- -------------
You can specify extra mail header lines to be added to each You can specify extra mail header lines to be added to each
message in the repository configuration. Also you can specify message in the repository configuration. You can also specify
the default suffix different from the built-in one: new defaults for the subject prefix and file suffix.
------------ ------------
[format] [format]
headers = "Organization: git-foo\n" headers = "Organization: git-foo\n"
subjectprefix = CHANGE
suffix = .txt suffix = .txt
------------ ------------

View File

@ -265,6 +265,7 @@ static int istitlechar(char c)
static char *extra_headers = NULL; static char *extra_headers = NULL;
static int extra_headers_size = 0; static int extra_headers_size = 0;
static const char *fmt_patch_subject_prefix = "PATCH";
static const char *fmt_patch_suffix = ".patch"; static const char *fmt_patch_suffix = ".patch";
static int git_format_config(const char *var, const char *value) static int git_format_config(const char *var, const char *value)
@ -290,6 +291,13 @@ static int git_format_config(const char *var, const char *value)
if (!strcmp(var, "diff.color") || !strcmp(var, "color.diff")) { if (!strcmp(var, "diff.color") || !strcmp(var, "color.diff")) {
return 0; return 0;
} }
if (!strcmp(var, "format.subjectprefix")) {
if (!value)
die("format.subjectprefix without value");
fmt_patch_subject_prefix = xstrdup(value);
return 0;
}
return git_log_config(var, value); return git_log_config(var, value);
} }
@ -459,6 +467,7 @@ int cmd_format_patch(int argc, const char **argv, const char *prefix)
rev.diffopt.msg_sep = ""; rev.diffopt.msg_sep = "";
rev.diffopt.recursive = 1; rev.diffopt.recursive = 1;
rev.subject_prefix = fmt_patch_subject_prefix;
rev.extra_headers = extra_headers; rev.extra_headers = extra_headers;
/* /*

View File

@ -667,7 +667,6 @@ void init_revisions(struct rev_info *revs, const char *prefix)
revs->min_age = -1; revs->min_age = -1;
revs->skip_count = -1; revs->skip_count = -1;
revs->max_count = -1; revs->max_count = -1;
revs->subject_prefix = "PATCH";
revs->prune_fn = NULL; revs->prune_fn = NULL;
revs->prune_data = NULL; revs->prune_data = NULL;

View File

@ -242,6 +242,8 @@ format-patch --inline --stdout initial..side
format-patch --inline --stdout initial..master^ format-patch --inline --stdout initial..master^
format-patch --inline --stdout initial..master format-patch --inline --stdout initial..master
format-patch --inline --stdout --subject-prefix=TESTCASE initial..master format-patch --inline --stdout --subject-prefix=TESTCASE initial..master
config format.subjectprefix DIFFERENT_PREFIX
format-patch --inline --stdout initial..master^^
diff --abbrev initial..side diff --abbrev initial..side
diff -r initial..side diff -r initial..side

View File

@ -0,0 +1,2 @@
$ git config format.subjectprefix DIFFERENT_PREFIX
$

View File

@ -0,0 +1,60 @@
$ git format-patch --inline --stdout initial..master^^
From 1bde4ae5f36c8d9abe3a0fce0c6aab3c4a12fe44 Mon Sep 17 00:00:00 2001
From: A U Thor <author@example.com>
Date: Mon, 26 Jun 2006 00:01:00 +0000
Subject: [DIFFERENT_PREFIX] Second
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="------------g-i-t--v-e-r-s-i-o-n"
This is a multi-part message in MIME format.
--------------g-i-t--v-e-r-s-i-o-n
Content-Type: text/plain; charset=UTF-8; format=fixed
Content-Transfer-Encoding: 8bit
This is the second commit.
---
dir/sub | 2 ++
file0 | 3 +++
file2 | 3 ---
3 files changed, 5 insertions(+), 3 deletions(-)
delete mode 100644 file2
--------------g-i-t--v-e-r-s-i-o-n
Content-Type: text/x-patch; name="1bde4ae5f36c8d9abe3a0fce0c6aab3c4a12fe44.diff"
Content-Transfer-Encoding: 8bit
Content-Disposition: inline; filename="1bde4ae5f36c8d9abe3a0fce0c6aab3c4a12fe44.diff"
diff --git a/dir/sub b/dir/sub
index 35d242b..8422d40 100644
--- a/dir/sub
+++ b/dir/sub
@@ -1,2 +1,4 @@
A
B
+C
+D
diff --git a/file0 b/file0
index 01e79c3..b414108 100644
--- a/file0
+++ b/file0
@@ -1,3 +1,6 @@
1
2
3
+4
+5
+6
diff --git a/file2 b/file2
deleted file mode 100644
index 01e79c3..0000000
--- a/file2
+++ /dev/null
@@ -1,3 +0,0 @@
-1
-2
-3
--------------g-i-t--v-e-r-s-i-o-n--
$