mirror of
https://github.com/git/git
synced 2024-08-27 03:29:21 +00:00
Merge branch 'pb/commit-verbose-config'
"git commit" learned to pay attention to "commit.verbose" configuration variable and act as if "--verbose" option was given from the command line. * pb/commit-verbose-config: commit: add a commit.verbose config variable t7507-commit-verbose: improve test coverage by testing number of diffs parse-options.c: make OPTION_COUNTUP respect "unspecified" values t/t7507: improve test coverage t0040-parse-options: improve test coverage test-parse-options: print quiet as integer t0040-test-parse-options.sh: fix style issues
This commit is contained in:
commit
5d5f1c236b
|
@ -1141,6 +1141,10 @@ commit.template::
|
|||
Specify the pathname of a file to use as the template for
|
||||
new commit messages.
|
||||
|
||||
commit.verbose::
|
||||
A boolean or int to specify the level of verbose with `git commit`.
|
||||
See linkgit:git-commit[1].
|
||||
|
||||
credential.helper::
|
||||
Specify an external helper to be called when a username or
|
||||
password credential is needed; the helper may consult external
|
||||
|
|
|
@ -290,7 +290,8 @@ configuration variable documented in linkgit:git-config[1].
|
|||
what changes the commit has.
|
||||
Note that this diff output doesn't have its
|
||||
lines prefixed with '#'. This diff will not be a part
|
||||
of the commit message.
|
||||
of the commit message. See the `commit.verbose` configuration
|
||||
variable in linkgit:git-config[1].
|
||||
+
|
||||
If specified twice, show in addition the unified diff between
|
||||
what would be committed and the worktree files, i.e. the unstaged
|
||||
|
|
|
@ -144,8 +144,12 @@ There are some macros to easily define options:
|
|||
|
||||
`OPT_COUNTUP(short, long, &int_var, description)`::
|
||||
Introduce a count-up option.
|
||||
`int_var` is incremented on each use of `--option`, and
|
||||
reset to zero with `--no-option`.
|
||||
Each use of `--option` increments `int_var`, starting from zero
|
||||
(even if initially negative), and `--no-option` resets it to
|
||||
zero. To determine if `--option` or `--no-option` was encountered at
|
||||
all, initialize `int_var` to a negative value, and if it is still
|
||||
negative after parse_options(), then neither `--option` nor
|
||||
`--no-option` was seen.
|
||||
|
||||
`OPT_BIT(short, long, &int_var, description, mask)`::
|
||||
Introduce a boolean option.
|
||||
|
|
|
@ -114,6 +114,7 @@ static char *fixup_message, *squash_message;
|
|||
static int all, also, interactive, patch_interactive, only, amend, signoff;
|
||||
static int edit_flag = -1; /* unspecified */
|
||||
static int quiet, verbose, no_verify, allow_empty, dry_run, renew_authorship;
|
||||
static int config_commit_verbose = -1; /* unspecified */
|
||||
static int no_post_rewrite, allow_empty_message;
|
||||
static char *untracked_files_arg, *force_date, *ignore_submodule_arg;
|
||||
static char *sign_commit;
|
||||
|
@ -1515,6 +1516,11 @@ static int git_commit_config(const char *k, const char *v, void *cb)
|
|||
sign_commit = git_config_bool(k, v) ? "" : NULL;
|
||||
return 0;
|
||||
}
|
||||
if (!strcmp(k, "commit.verbose")) {
|
||||
int is_bool;
|
||||
config_commit_verbose = git_config_bool_or_int(k, v, &is_bool);
|
||||
return 0;
|
||||
}
|
||||
|
||||
status = git_gpg_config(k, v, NULL);
|
||||
if (status)
|
||||
|
@ -1661,9 +1667,13 @@ int cmd_commit(int argc, const char **argv, const char *prefix)
|
|||
if (parse_commit(current_head))
|
||||
die(_("could not parse HEAD commit"));
|
||||
}
|
||||
verbose = -1; /* unspecified */
|
||||
argc = parse_and_validate_options(argc, argv, builtin_commit_options,
|
||||
builtin_commit_usage,
|
||||
prefix, current_head, &s);
|
||||
if (verbose == -1)
|
||||
verbose = (config_commit_verbose < 0) ? 0 : config_commit_verbose;
|
||||
|
||||
if (dry_run)
|
||||
return dry_run_commit(argc, argv, prefix, current_head, &s);
|
||||
index_file = prepare_index(argc, argv, prefix, current_head, 0);
|
||||
|
|
|
@ -110,6 +110,8 @@ static int get_value(struct parse_opt_ctx_t *p,
|
|||
return 0;
|
||||
|
||||
case OPTION_COUNTUP:
|
||||
if (*(int *)opt->value < 0)
|
||||
*(int *)opt->value = 0;
|
||||
*(int *)opt->value = unset ? 0 : *(int *)opt->value + 1;
|
||||
return 0;
|
||||
|
||||
|
|
|
@ -7,7 +7,8 @@ static int integer = 0;
|
|||
static unsigned long magnitude = 0;
|
||||
static unsigned long timestamp;
|
||||
static int abbrev = 7;
|
||||
static int verbose = 0, dry_run = 0, quiet = 0;
|
||||
static int verbose = -1; /* unspecified */
|
||||
static int dry_run = 0, quiet = 0;
|
||||
static char *string = NULL;
|
||||
static char *file = NULL;
|
||||
static int ambiguous;
|
||||
|
@ -90,7 +91,7 @@ int main(int argc, char **argv)
|
|||
printf("string: %s\n", string ? string : "(not set)");
|
||||
printf("abbrev: %d\n", abbrev);
|
||||
printf("verbose: %d\n", verbose);
|
||||
printf("quiet: %s\n", quiet ? "yes" : "no");
|
||||
printf("quiet: %d\n", quiet);
|
||||
printf("dry run: %s\n", dry_run ? "yes" : "no");
|
||||
printf("file: %s\n", file ? file : "(not set)");
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@ test_description='our own option parser'
|
|||
|
||||
. ./test-lib.sh
|
||||
|
||||
cat > expect << EOF
|
||||
cat >expect <<\EOF
|
||||
usage: test-parse-options <options>
|
||||
|
||||
--yes get a boolean
|
||||
|
@ -49,22 +49,22 @@ Standard options
|
|||
EOF
|
||||
|
||||
test_expect_success 'test help' '
|
||||
test_must_fail test-parse-options -h > output 2> output.err &&
|
||||
test_must_fail test-parse-options -h >output 2>output.err &&
|
||||
test_must_be_empty output.err &&
|
||||
test_i18ncmp expect output
|
||||
'
|
||||
|
||||
mv expect expect.err
|
||||
|
||||
cat >expect.template <<EOF
|
||||
cat >expect.template <<\EOF
|
||||
boolean: 0
|
||||
integer: 0
|
||||
magnitude: 0
|
||||
timestamp: 0
|
||||
string: (not set)
|
||||
abbrev: 7
|
||||
verbose: 0
|
||||
quiet: no
|
||||
verbose: -1
|
||||
quiet: 0
|
||||
dry run: no
|
||||
file: (not set)
|
||||
EOF
|
||||
|
@ -156,7 +156,7 @@ test_expect_success 'OPT_MAGNITUDE() 3giga' '
|
|||
check magnitude: 3221225472 -m 3g
|
||||
'
|
||||
|
||||
cat > expect << EOF
|
||||
cat >expect <<\EOF
|
||||
boolean: 2
|
||||
integer: 1729
|
||||
magnitude: 16384
|
||||
|
@ -164,7 +164,7 @@ timestamp: 0
|
|||
string: 123
|
||||
abbrev: 7
|
||||
verbose: 2
|
||||
quiet: no
|
||||
quiet: 0
|
||||
dry run: yes
|
||||
file: prefix/my.file
|
||||
EOF
|
||||
|
@ -176,7 +176,7 @@ test_expect_success 'short options' '
|
|||
test_must_be_empty output.err
|
||||
'
|
||||
|
||||
cat > expect << EOF
|
||||
cat >expect <<\EOF
|
||||
boolean: 2
|
||||
integer: 1729
|
||||
magnitude: 16384
|
||||
|
@ -184,7 +184,7 @@ timestamp: 0
|
|||
string: 321
|
||||
abbrev: 10
|
||||
verbose: 2
|
||||
quiet: no
|
||||
quiet: 0
|
||||
dry run: no
|
||||
file: prefix/fi.le
|
||||
EOF
|
||||
|
@ -204,15 +204,15 @@ test_expect_success 'missing required value' '
|
|||
test_expect_code 129 test-parse-options --file
|
||||
'
|
||||
|
||||
cat > expect << EOF
|
||||
cat >expect <<\EOF
|
||||
boolean: 1
|
||||
integer: 13
|
||||
magnitude: 0
|
||||
timestamp: 0
|
||||
string: 123
|
||||
abbrev: 7
|
||||
verbose: 0
|
||||
quiet: no
|
||||
verbose: -1
|
||||
quiet: 0
|
||||
dry run: no
|
||||
file: (not set)
|
||||
arg 00: a1
|
||||
|
@ -222,32 +222,32 @@ EOF
|
|||
|
||||
test_expect_success 'intermingled arguments' '
|
||||
test-parse-options a1 --string 123 b1 --boolean -j 13 -- --boolean \
|
||||
> output 2> output.err &&
|
||||
>output 2>output.err &&
|
||||
test_must_be_empty output.err &&
|
||||
test_cmp expect output
|
||||
'
|
||||
|
||||
cat > expect << EOF
|
||||
cat >expect <<\EOF
|
||||
boolean: 0
|
||||
integer: 2
|
||||
magnitude: 0
|
||||
timestamp: 0
|
||||
string: (not set)
|
||||
abbrev: 7
|
||||
verbose: 0
|
||||
quiet: no
|
||||
verbose: -1
|
||||
quiet: 0
|
||||
dry run: no
|
||||
file: (not set)
|
||||
EOF
|
||||
|
||||
test_expect_success 'unambiguously abbreviated option' '
|
||||
test-parse-options --int 2 --boolean --no-bo > output 2> output.err &&
|
||||
test-parse-options --int 2 --boolean --no-bo >output 2>output.err &&
|
||||
test_must_be_empty output.err &&
|
||||
test_cmp expect output
|
||||
'
|
||||
|
||||
test_expect_success 'unambiguously abbreviated option with "="' '
|
||||
test-parse-options --int=2 > output 2> output.err &&
|
||||
test-parse-options --int=2 >output 2>output.err &&
|
||||
test_must_be_empty output.err &&
|
||||
test_cmp expect output
|
||||
'
|
||||
|
@ -256,74 +256,74 @@ test_expect_success 'ambiguously abbreviated option' '
|
|||
test_expect_code 129 test-parse-options --strin 123
|
||||
'
|
||||
|
||||
cat > expect << EOF
|
||||
cat >expect <<\EOF
|
||||
boolean: 0
|
||||
integer: 0
|
||||
magnitude: 0
|
||||
timestamp: 0
|
||||
string: 123
|
||||
abbrev: 7
|
||||
verbose: 0
|
||||
quiet: no
|
||||
verbose: -1
|
||||
quiet: 0
|
||||
dry run: no
|
||||
file: (not set)
|
||||
EOF
|
||||
|
||||
test_expect_success 'non ambiguous option (after two options it abbreviates)' '
|
||||
test-parse-options --st 123 > output 2> output.err &&
|
||||
test-parse-options --st 123 >output 2>output.err &&
|
||||
test_must_be_empty output.err &&
|
||||
test_cmp expect output
|
||||
'
|
||||
|
||||
cat > typo.err << EOF
|
||||
error: did you mean \`--boolean\` (with two dashes ?)
|
||||
cat >typo.err <<\EOF
|
||||
error: did you mean `--boolean` (with two dashes ?)
|
||||
EOF
|
||||
|
||||
test_expect_success 'detect possible typos' '
|
||||
test_must_fail test-parse-options -boolean > output 2> output.err &&
|
||||
test_must_fail test-parse-options -boolean >output 2>output.err &&
|
||||
test_must_be_empty output &&
|
||||
test_cmp typo.err output.err
|
||||
'
|
||||
|
||||
cat > typo.err << EOF
|
||||
error: did you mean \`--ambiguous\` (with two dashes ?)
|
||||
cat >typo.err <<\EOF
|
||||
error: did you mean `--ambiguous` (with two dashes ?)
|
||||
EOF
|
||||
|
||||
test_expect_success 'detect possible typos' '
|
||||
test_must_fail test-parse-options -ambiguous > output 2> output.err &&
|
||||
test_must_fail test-parse-options -ambiguous >output 2>output.err &&
|
||||
test_must_be_empty output &&
|
||||
test_cmp typo.err output.err
|
||||
'
|
||||
|
||||
cat > expect <<EOF
|
||||
cat >expect <<\EOF
|
||||
boolean: 0
|
||||
integer: 0
|
||||
magnitude: 0
|
||||
timestamp: 0
|
||||
string: (not set)
|
||||
abbrev: 7
|
||||
verbose: 0
|
||||
quiet: no
|
||||
verbose: -1
|
||||
quiet: 0
|
||||
dry run: no
|
||||
file: (not set)
|
||||
arg 00: --quux
|
||||
EOF
|
||||
|
||||
test_expect_success 'keep some options as arguments' '
|
||||
test-parse-options --quux > output 2> output.err &&
|
||||
test-parse-options --quux >output 2>output.err &&
|
||||
test_must_be_empty output.err &&
|
||||
test_cmp expect output
|
||||
test_cmp expect output
|
||||
'
|
||||
|
||||
cat > expect <<EOF
|
||||
cat >expect <<\EOF
|
||||
boolean: 0
|
||||
integer: 0
|
||||
magnitude: 0
|
||||
timestamp: 1
|
||||
string: (not set)
|
||||
abbrev: 7
|
||||
verbose: 0
|
||||
quiet: yes
|
||||
verbose: -1
|
||||
quiet: 1
|
||||
dry run: no
|
||||
file: (not set)
|
||||
arg 00: foo
|
||||
|
@ -331,12 +331,12 @@ EOF
|
|||
|
||||
test_expect_success 'OPT_DATE() works' '
|
||||
test-parse-options -t "1970-01-01 00:00:01 +0000" \
|
||||
foo -q > output 2> output.err &&
|
||||
foo -q >output 2>output.err &&
|
||||
test_must_be_empty output.err &&
|
||||
test_cmp expect output
|
||||
'
|
||||
|
||||
cat > expect <<EOF
|
||||
cat >expect <<\EOF
|
||||
Callback: "four", 0
|
||||
boolean: 5
|
||||
integer: 4
|
||||
|
@ -344,112 +344,112 @@ magnitude: 0
|
|||
timestamp: 0
|
||||
string: (not set)
|
||||
abbrev: 7
|
||||
verbose: 0
|
||||
quiet: no
|
||||
verbose: -1
|
||||
quiet: 0
|
||||
dry run: no
|
||||
file: (not set)
|
||||
EOF
|
||||
|
||||
test_expect_success 'OPT_CALLBACK() and OPT_BIT() work' '
|
||||
test-parse-options --length=four -b -4 > output 2> output.err &&
|
||||
test-parse-options --length=four -b -4 >output 2>output.err &&
|
||||
test_must_be_empty output.err &&
|
||||
test_cmp expect output
|
||||
'
|
||||
|
||||
cat > expect <<EOF
|
||||
cat >expect <<\EOF
|
||||
Callback: "not set", 1
|
||||
EOF
|
||||
|
||||
test_expect_success 'OPT_CALLBACK() and callback errors work' '
|
||||
test_must_fail test-parse-options --no-length > output 2> output.err &&
|
||||
test_must_fail test-parse-options --no-length >output 2>output.err &&
|
||||
test_i18ncmp expect output &&
|
||||
test_i18ncmp expect.err output.err
|
||||
'
|
||||
|
||||
cat > expect <<EOF
|
||||
cat >expect <<\EOF
|
||||
boolean: 1
|
||||
integer: 23
|
||||
magnitude: 0
|
||||
timestamp: 0
|
||||
string: (not set)
|
||||
abbrev: 7
|
||||
verbose: 0
|
||||
quiet: no
|
||||
verbose: -1
|
||||
quiet: 0
|
||||
dry run: no
|
||||
file: (not set)
|
||||
EOF
|
||||
|
||||
test_expect_success 'OPT_BIT() and OPT_SET_INT() work' '
|
||||
test-parse-options --set23 -bbbbb --no-or4 > output 2> output.err &&
|
||||
test-parse-options --set23 -bbbbb --no-or4 >output 2>output.err &&
|
||||
test_must_be_empty output.err &&
|
||||
test_cmp expect output
|
||||
'
|
||||
|
||||
test_expect_success 'OPT_NEGBIT() and OPT_SET_INT() work' '
|
||||
test-parse-options --set23 -bbbbb --neg-or4 > output 2> output.err &&
|
||||
test-parse-options --set23 -bbbbb --neg-or4 >output 2>output.err &&
|
||||
test_must_be_empty output.err &&
|
||||
test_cmp expect output
|
||||
'
|
||||
|
||||
cat > expect <<EOF
|
||||
cat >expect <<\EOF
|
||||
boolean: 6
|
||||
integer: 0
|
||||
magnitude: 0
|
||||
timestamp: 0
|
||||
string: (not set)
|
||||
abbrev: 7
|
||||
verbose: 0
|
||||
quiet: no
|
||||
verbose: -1
|
||||
quiet: 0
|
||||
dry run: no
|
||||
file: (not set)
|
||||
EOF
|
||||
|
||||
test_expect_success 'OPT_BIT() works' '
|
||||
test-parse-options -bb --or4 > output 2> output.err &&
|
||||
test-parse-options -bb --or4 >output 2>output.err &&
|
||||
test_must_be_empty output.err &&
|
||||
test_cmp expect output
|
||||
'
|
||||
|
||||
test_expect_success 'OPT_NEGBIT() works' '
|
||||
test-parse-options -bb --no-neg-or4 > output 2> output.err &&
|
||||
test-parse-options -bb --no-neg-or4 >output 2>output.err &&
|
||||
test_must_be_empty output.err &&
|
||||
test_cmp expect output
|
||||
'
|
||||
|
||||
test_expect_success 'OPT_COUNTUP() with PARSE_OPT_NODASH works' '
|
||||
test-parse-options + + + + + + > output 2> output.err &&
|
||||
test-parse-options + + + + + + >output 2>output.err &&
|
||||
test_must_be_empty output.err &&
|
||||
test_cmp expect output
|
||||
'
|
||||
|
||||
cat > expect <<EOF
|
||||
cat >expect <<\EOF
|
||||
boolean: 0
|
||||
integer: 12345
|
||||
magnitude: 0
|
||||
timestamp: 0
|
||||
string: (not set)
|
||||
abbrev: 7
|
||||
verbose: 0
|
||||
quiet: no
|
||||
verbose: -1
|
||||
quiet: 0
|
||||
dry run: no
|
||||
file: (not set)
|
||||
EOF
|
||||
|
||||
test_expect_success 'OPT_NUMBER_CALLBACK() works' '
|
||||
test-parse-options -12345 > output 2> output.err &&
|
||||
test-parse-options -12345 >output 2>output.err &&
|
||||
test_must_be_empty output.err &&
|
||||
test_cmp expect output
|
||||
'
|
||||
|
||||
cat >expect <<EOF
|
||||
cat >expect <<\EOF
|
||||
boolean: 0
|
||||
integer: 0
|
||||
magnitude: 0
|
||||
timestamp: 0
|
||||
string: (not set)
|
||||
abbrev: 7
|
||||
verbose: 0
|
||||
quiet: no
|
||||
verbose: -1
|
||||
quiet: 0
|
||||
dry run: no
|
||||
file: (not set)
|
||||
EOF
|
||||
|
@ -460,7 +460,7 @@ test_expect_success 'negation of OPT_NONEG flags is not ambiguous' '
|
|||
test_cmp expect output
|
||||
'
|
||||
|
||||
cat >>expect <<'EOF'
|
||||
cat >>expect <<\EOF
|
||||
list: foo
|
||||
list: bar
|
||||
list: baz
|
||||
|
@ -476,4 +476,118 @@ test_expect_success '--no-list resets list' '
|
|||
test_cmp expect output
|
||||
'
|
||||
|
||||
cat >expect <<\EOF
|
||||
boolean: 0
|
||||
integer: 0
|
||||
magnitude: 0
|
||||
timestamp: 0
|
||||
string: (not set)
|
||||
abbrev: 7
|
||||
verbose: -1
|
||||
quiet: 3
|
||||
dry run: no
|
||||
file: (not set)
|
||||
EOF
|
||||
|
||||
test_expect_success 'multiple quiet levels' '
|
||||
test-parse-options -q -q -q >output 2>output.err &&
|
||||
test_must_be_empty output.err &&
|
||||
test_cmp expect output
|
||||
'
|
||||
|
||||
cat >expect <<\EOF
|
||||
boolean: 0
|
||||
integer: 0
|
||||
magnitude: 0
|
||||
timestamp: 0
|
||||
string: (not set)
|
||||
abbrev: 7
|
||||
verbose: 3
|
||||
quiet: 0
|
||||
dry run: no
|
||||
file: (not set)
|
||||
EOF
|
||||
|
||||
test_expect_success 'multiple verbose levels' '
|
||||
test-parse-options -v -v -v >output 2>output.err &&
|
||||
test_must_be_empty output.err &&
|
||||
test_cmp expect output
|
||||
'
|
||||
|
||||
cat >expect <<\EOF
|
||||
boolean: 0
|
||||
integer: 0
|
||||
magnitude: 0
|
||||
timestamp: 0
|
||||
string: (not set)
|
||||
abbrev: 7
|
||||
verbose: -1
|
||||
quiet: 0
|
||||
dry run: no
|
||||
file: (not set)
|
||||
EOF
|
||||
|
||||
test_expect_success '--no-quiet sets --quiet to 0' '
|
||||
test-parse-options --no-quiet >output 2>output.err &&
|
||||
test_must_be_empty output.err &&
|
||||
test_cmp expect output
|
||||
'
|
||||
|
||||
cat >expect <<\EOF
|
||||
boolean: 0
|
||||
integer: 0
|
||||
magnitude: 0
|
||||
timestamp: 0
|
||||
string: (not set)
|
||||
abbrev: 7
|
||||
verbose: -1
|
||||
quiet: 0
|
||||
dry run: no
|
||||
file: (not set)
|
||||
EOF
|
||||
|
||||
test_expect_success '--no-quiet resets multiple -q to 0' '
|
||||
test-parse-options -q -q -q --no-quiet >output 2>output.err &&
|
||||
test_must_be_empty output.err &&
|
||||
test_cmp expect output
|
||||
'
|
||||
|
||||
cat >expect <<\EOF
|
||||
boolean: 0
|
||||
integer: 0
|
||||
magnitude: 0
|
||||
timestamp: 0
|
||||
string: (not set)
|
||||
abbrev: 7
|
||||
verbose: 0
|
||||
quiet: 0
|
||||
dry run: no
|
||||
file: (not set)
|
||||
EOF
|
||||
|
||||
test_expect_success '--no-verbose sets verbose to 0' '
|
||||
test-parse-options --no-verbose >output 2>output.err &&
|
||||
test_must_be_empty output.err &&
|
||||
test_cmp expect output
|
||||
'
|
||||
|
||||
cat >expect <<\EOF
|
||||
boolean: 0
|
||||
integer: 0
|
||||
magnitude: 0
|
||||
timestamp: 0
|
||||
string: (not set)
|
||||
abbrev: 7
|
||||
verbose: 0
|
||||
quiet: 0
|
||||
dry run: no
|
||||
file: (not set)
|
||||
EOF
|
||||
|
||||
test_expect_success '--no-verbose resets multiple verbose to 0' '
|
||||
test-parse-options -v -v -v --no-verbose >output 2>output.err &&
|
||||
test_must_be_empty output.err &&
|
||||
test_cmp expect output
|
||||
'
|
||||
|
||||
test_done
|
||||
|
|
|
@ -3,11 +3,10 @@
|
|||
test_description='verbose commit template'
|
||||
. ./test-lib.sh
|
||||
|
||||
cat >check-for-diff <<EOF
|
||||
#!$SHELL_PATH
|
||||
exec grep '^diff --git' "\$1"
|
||||
write_script "check-for-diff" <<\EOF &&
|
||||
grep '^diff --git' "$1" >out
|
||||
exit 0
|
||||
EOF
|
||||
chmod +x check-for-diff
|
||||
test_set_editor "$PWD/check-for-diff"
|
||||
|
||||
cat >message <<'EOF'
|
||||
|
@ -23,7 +22,8 @@ test_expect_success 'setup' '
|
|||
'
|
||||
|
||||
test_expect_success 'initial commit shows verbose diff' '
|
||||
git commit --amend -v
|
||||
git commit --amend -v &&
|
||||
test_line_count = 1 out
|
||||
'
|
||||
|
||||
test_expect_success 'second commit' '
|
||||
|
@ -39,13 +39,15 @@ check_message() {
|
|||
|
||||
test_expect_success 'verbose diff is stripped out' '
|
||||
git commit --amend -v &&
|
||||
check_message message
|
||||
check_message message &&
|
||||
test_line_count = 1 out
|
||||
'
|
||||
|
||||
test_expect_success 'verbose diff is stripped out (mnemonicprefix)' '
|
||||
git config diff.mnemonicprefix true &&
|
||||
git commit --amend -v &&
|
||||
check_message message
|
||||
check_message message &&
|
||||
test_line_count = 1 out
|
||||
'
|
||||
|
||||
cat >diff <<'EOF'
|
||||
|
@ -96,4 +98,60 @@ test_expect_success 'verbose diff is stripped out with set core.commentChar' '
|
|||
test_i18ngrep "Aborting commit due to empty commit message." err
|
||||
'
|
||||
|
||||
test_expect_success 'status does not verbose without --verbose' '
|
||||
git status >actual &&
|
||||
! grep "^diff --git" actual
|
||||
'
|
||||
|
||||
test_expect_success 'setup -v -v' '
|
||||
echo dirty >file
|
||||
'
|
||||
|
||||
for i in true 1
|
||||
do
|
||||
test_expect_success "commit.verbose=$i and --verbose omitted" "
|
||||
git -c commit.verbose=$i commit --amend &&
|
||||
test_line_count = 1 out
|
||||
"
|
||||
done
|
||||
|
||||
for i in false -2 -1 0
|
||||
do
|
||||
test_expect_success "commit.verbose=$i and --verbose omitted" "
|
||||
git -c commit.verbose=$i commit --amend &&
|
||||
test_line_count = 0 out
|
||||
"
|
||||
done
|
||||
|
||||
for i in 2 3
|
||||
do
|
||||
test_expect_success "commit.verbose=$i and --verbose omitted" "
|
||||
git -c commit.verbose=$i commit --amend &&
|
||||
test_line_count = 2 out
|
||||
"
|
||||
done
|
||||
|
||||
for i in true false -2 -1 0 1 2 3
|
||||
do
|
||||
test_expect_success "commit.verbose=$i and --verbose" "
|
||||
git -c commit.verbose=$i commit --amend --verbose &&
|
||||
test_line_count = 1 out
|
||||
"
|
||||
|
||||
test_expect_success "commit.verbose=$i and --no-verbose" "
|
||||
git -c commit.verbose=$i commit --amend --no-verbose &&
|
||||
test_line_count = 0 out
|
||||
"
|
||||
|
||||
test_expect_success "commit.verbose=$i and -v -v" "
|
||||
git -c commit.verbose=$i commit --amend -v -v &&
|
||||
test_line_count = 2 out
|
||||
"
|
||||
done
|
||||
|
||||
test_expect_success "status ignores commit.verbose=true" '
|
||||
git -c commit.verbose=true status >actual &&
|
||||
! grep "^diff --git actual"
|
||||
'
|
||||
|
||||
test_done
|
||||
|
|
Loading…
Reference in a new issue