Merge branch 'jt/format-patch-from-config'
"git format-patch" learned format.from configuration variable to specify the default settings for its "--from" option. * jt/format-patch-from-config: format-patch: format.from gives the default for --from
This commit is contained in:
commit
db40a62239
@ -1253,6 +1253,16 @@ format.attach::
|
|||||||
value as the boundary. See the --attach option in
|
value as the boundary. See the --attach option in
|
||||||
linkgit:git-format-patch[1].
|
linkgit:git-format-patch[1].
|
||||||
|
|
||||||
|
format.from::
|
||||||
|
Provides the default value for the `--from` option to format-patch.
|
||||||
|
Accepts a boolean value, or a name and email address. If false,
|
||||||
|
format-patch defaults to `--no-from`, using commit authors directly in
|
||||||
|
the "From:" field of patch mails. If true, format-patch defaults to
|
||||||
|
`--from`, using your committer identity in the "From:" field of patch
|
||||||
|
mails and including a "From:" field in the body of the patch mail if
|
||||||
|
different. If set to a non-boolean value, format-patch uses that
|
||||||
|
value instead of your committer identity. Defaults to false.
|
||||||
|
|
||||||
format.numbered::
|
format.numbered::
|
||||||
A boolean which can enable or disable sequence numbers in patch
|
A boolean which can enable or disable sequence numbers in patch
|
||||||
subjects. It defaults to "auto" which enables it only if there
|
subjects. It defaults to "auto" which enables it only if there
|
||||||
|
@ -719,6 +719,7 @@ static void add_header(const char *value)
|
|||||||
static int thread;
|
static int thread;
|
||||||
static int do_signoff;
|
static int do_signoff;
|
||||||
static int base_auto;
|
static int base_auto;
|
||||||
|
static char *from;
|
||||||
static const char *signature = git_version_string;
|
static const char *signature = git_version_string;
|
||||||
static const char *signature_file;
|
static const char *signature_file;
|
||||||
static int config_cover_letter;
|
static int config_cover_letter;
|
||||||
@ -807,6 +808,17 @@ static int git_format_config(const char *var, const char *value, void *cb)
|
|||||||
base_auto = git_config_bool(var, value);
|
base_auto = git_config_bool(var, value);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
if (!strcmp(var, "format.from")) {
|
||||||
|
int b = git_config_maybe_bool(var, value);
|
||||||
|
free(from);
|
||||||
|
if (b < 0)
|
||||||
|
from = xstrdup(value);
|
||||||
|
else if (b)
|
||||||
|
from = xstrdup(git_committer_info(IDENT_NO_DATE));
|
||||||
|
else
|
||||||
|
from = NULL;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
return git_log_config(var, value, cb);
|
return git_log_config(var, value, cb);
|
||||||
}
|
}
|
||||||
@ -1384,7 +1396,6 @@ int cmd_format_patch(int argc, const char **argv, const char *prefix)
|
|||||||
int quiet = 0;
|
int quiet = 0;
|
||||||
int reroll_count = -1;
|
int reroll_count = -1;
|
||||||
char *branch_name = NULL;
|
char *branch_name = NULL;
|
||||||
char *from = NULL;
|
|
||||||
char *base_commit = NULL;
|
char *base_commit = NULL;
|
||||||
struct base_tree_info bases;
|
struct base_tree_info bases;
|
||||||
|
|
||||||
|
@ -2182,6 +2182,7 @@ _git_config ()
|
|||||||
format.attach
|
format.attach
|
||||||
format.cc
|
format.cc
|
||||||
format.coverLetter
|
format.coverLetter
|
||||||
|
format.from
|
||||||
format.headers
|
format.headers
|
||||||
format.numbered
|
format.numbered
|
||||||
format.pretty
|
format.pretty
|
||||||
|
@ -229,6 +229,46 @@ check_patch () {
|
|||||||
grep -e "^Subject:" "$1"
|
grep -e "^Subject:" "$1"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
test_expect_success 'format.from=false' '
|
||||||
|
|
||||||
|
git -c format.from=false format-patch --stdout master..side |
|
||||||
|
sed -e "/^\$/q" >patch &&
|
||||||
|
check_patch patch &&
|
||||||
|
! grep "^From: C O Mitter <committer@example.com>\$" patch
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'format.from=true' '
|
||||||
|
|
||||||
|
git -c format.from=true format-patch --stdout master..side |
|
||||||
|
sed -e "/^\$/q" >patch &&
|
||||||
|
check_patch patch &&
|
||||||
|
grep "^From: C O Mitter <committer@example.com>\$" patch
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'format.from with address' '
|
||||||
|
|
||||||
|
git -c format.from="F R Om <from@example.com>" format-patch --stdout master..side |
|
||||||
|
sed -e "/^\$/q" >patch &&
|
||||||
|
check_patch patch &&
|
||||||
|
grep "^From: F R Om <from@example.com>\$" patch
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success '--no-from overrides format.from' '
|
||||||
|
|
||||||
|
git -c format.from="F R Om <from@example.com>" format-patch --no-from --stdout master..side |
|
||||||
|
sed -e "/^\$/q" >patch &&
|
||||||
|
check_patch patch &&
|
||||||
|
! grep "^From: F R Om <from@example.com>\$" patch
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success '--from overrides format.from' '
|
||||||
|
|
||||||
|
git -c format.from="F R Om <from@example.com>" format-patch --from --stdout master..side |
|
||||||
|
sed -e "/^\$/q" >patch &&
|
||||||
|
check_patch patch &&
|
||||||
|
! grep "^From: F R Om <from@example.com>\$" patch
|
||||||
|
'
|
||||||
|
|
||||||
test_expect_success '--no-to overrides config.to' '
|
test_expect_success '--no-to overrides config.to' '
|
||||||
|
|
||||||
git config --replace-all format.to \
|
git config --replace-all format.to \
|
||||||
|
Loading…
Reference in New Issue
Block a user