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:
Junio C Hamano 2016-08-10 12:33:18 -07:00
Родитель e674762786 6bc6b6c0dc
Коммит db40a62239
4 изменённых файлов: 63 добавлений и 1 удалений

Просмотреть файл

@ -1253,6 +1253,16 @@ format.attach::
value as the boundary. See the --attach option in
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::
A boolean which can enable or disable sequence numbers in patch
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 do_signoff;
static int base_auto;
static char *from;
static const char *signature = git_version_string;
static const char *signature_file;
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);
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);
}
@ -1384,7 +1396,6 @@ int cmd_format_patch(int argc, const char **argv, const char *prefix)
int quiet = 0;
int reroll_count = -1;
char *branch_name = NULL;
char *from = NULL;
char *base_commit = NULL;
struct base_tree_info bases;

Просмотреть файл

@ -2182,6 +2182,7 @@ _git_config ()
format.attach
format.cc
format.coverLetter
format.from
format.headers
format.numbered
format.pretty

Просмотреть файл

@ -229,6 +229,46 @@ check_patch () {
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' '
git config --replace-all format.to \