mirror of
https://github.com/git/git
synced 2024-08-25 02:35:46 +00:00
Sync with Git 2.20.1
* maint: Git 2.20.1 .gitattributes: ensure t/oid-info/* has eol=lf t9902: 'send-email' test case requires PERL t4256: mark support files as LF-only parse-options: fix SunCC compiler warning help -a: handle aliases with long names gracefully help.h: fix coding style run-command: report exec failure
This commit is contained in:
commit
b21ebb671b
1
.gitattributes
vendored
1
.gitattributes
vendored
|
@ -9,6 +9,7 @@
|
|||
/command-list.txt eol=lf
|
||||
/GIT-VERSION-GEN eol=lf
|
||||
/mergetools/* eol=lf
|
||||
/t/oid-info/* eol=lf
|
||||
/Documentation/git-merge.txt conflict-marker-size=32
|
||||
/Documentation/gitk.txt conflict-marker-size=32
|
||||
/Documentation/user-manual.txt conflict-marker-size=32
|
||||
|
|
20
Documentation/RelNotes/2.20.1.txt
Normal file
20
Documentation/RelNotes/2.20.1.txt
Normal file
|
@ -0,0 +1,20 @@
|
|||
Git v2.20.1 Release Notes
|
||||
=========================
|
||||
|
||||
This release is primarily to fix brown-paper-bag breakages in the
|
||||
2.20.0 release.
|
||||
|
||||
Fixes since v2.20
|
||||
-----------------
|
||||
|
||||
* A few newly added tests were not portable and caused minority
|
||||
platforms to report false breakages, which have been fixed.
|
||||
|
||||
* Portability fix for a recent update to parse-options API.
|
||||
|
||||
* "git help -a" did not work well when an overly long alias is
|
||||
defined, which has been corrected.
|
||||
|
||||
* A recent update accidentally squelched an error message when the
|
||||
run_command API failed to run a missing command, which has been
|
||||
corrected.
|
|
@ -850,6 +850,8 @@ int cmd_blame(int argc, const char **argv, const char *prefix)
|
|||
case PARSE_OPT_HELP:
|
||||
case PARSE_OPT_ERROR:
|
||||
exit(129);
|
||||
case PARSE_OPT_COMPLETE:
|
||||
exit(0);
|
||||
case PARSE_OPT_DONE:
|
||||
if (ctx.argv[0])
|
||||
dashdash_pos = ctx.cpidx;
|
||||
|
|
|
@ -287,6 +287,8 @@ int cmd_shortlog(int argc, const char **argv, const char *prefix)
|
|||
case PARSE_OPT_HELP:
|
||||
case PARSE_OPT_ERROR:
|
||||
exit(129);
|
||||
case PARSE_OPT_COMPLETE:
|
||||
exit(0);
|
||||
case PARSE_OPT_DONE:
|
||||
goto parse_done;
|
||||
}
|
||||
|
|
|
@ -1086,6 +1086,8 @@ int cmd_update_index(int argc, const char **argv, const char *prefix)
|
|||
case PARSE_OPT_HELP:
|
||||
case PARSE_OPT_ERROR:
|
||||
exit(129);
|
||||
case PARSE_OPT_COMPLETE:
|
||||
exit(0);
|
||||
case PARSE_OPT_NON_OPTION:
|
||||
case PARSE_OPT_DONE:
|
||||
{
|
||||
|
|
10
help.c
10
help.c
|
@ -83,8 +83,9 @@ static void print_command_list(const struct cmdname_help *cmds,
|
|||
|
||||
for (i = 0; cmds[i].name; i++) {
|
||||
if (cmds[i].category & mask) {
|
||||
size_t len = strlen(cmds[i].name);
|
||||
printf(" %s ", cmds[i].name);
|
||||
mput_char(' ', longest - strlen(cmds[i].name));
|
||||
mput_char(' ', longest > len ? longest - len : 1);
|
||||
puts(_(cmds[i].help));
|
||||
}
|
||||
}
|
||||
|
@ -526,6 +527,13 @@ void list_all_cmds_help(void)
|
|||
|
||||
git_config(get_alias, &alias_list);
|
||||
string_list_sort(&alias_list);
|
||||
|
||||
for (i = 0; i < alias_list.nr; i++) {
|
||||
size_t len = strlen(alias_list.items[i].string);
|
||||
if (longest < len)
|
||||
longest = len;
|
||||
}
|
||||
|
||||
if (alias_list.nr) {
|
||||
printf("\n%s\n", _("Command aliases"));
|
||||
ALLOC_ARRAY(aliases, alias_list.nr + 1);
|
||||
|
|
2
help.h
2
help.h
|
@ -15,7 +15,7 @@ struct cmdnames {
|
|||
|
||||
static inline void mput_char(char c, unsigned int num)
|
||||
{
|
||||
while(num--)
|
||||
while (num--)
|
||||
putchar(c);
|
||||
}
|
||||
|
||||
|
|
|
@ -516,7 +516,7 @@ static int show_gitcomp(struct parse_opt_ctx_t *ctx,
|
|||
show_negated_gitcomp(original_opts, -1);
|
||||
show_negated_gitcomp(original_opts, nr_noopts);
|
||||
fputc('\n', stdout);
|
||||
exit(0);
|
||||
return PARSE_OPT_COMPLETE;
|
||||
}
|
||||
|
||||
static int usage_with_options_internal(struct parse_opt_ctx_t *,
|
||||
|
@ -638,6 +638,8 @@ int parse_options(int argc, const char **argv, const char *prefix,
|
|||
case PARSE_OPT_HELP:
|
||||
case PARSE_OPT_ERROR:
|
||||
exit(129);
|
||||
case PARSE_OPT_COMPLETE:
|
||||
exit(0);
|
||||
case PARSE_OPT_NON_OPTION:
|
||||
case PARSE_OPT_DONE:
|
||||
break;
|
||||
|
|
|
@ -208,6 +208,7 @@ extern int opterror(const struct option *opt, const char *reason, int flags);
|
|||
/*----- incremental advanced APIs -----*/
|
||||
|
||||
enum {
|
||||
PARSE_OPT_COMPLETE = -2,
|
||||
PARSE_OPT_HELP = -1,
|
||||
PARSE_OPT_DONE,
|
||||
PARSE_OPT_NON_OPTION,
|
||||
|
|
|
@ -728,6 +728,8 @@ int start_command(struct child_process *cmd)
|
|||
if (prepare_cmd(&argv, cmd) < 0) {
|
||||
failed_errno = errno;
|
||||
cmd->pid = -1;
|
||||
if (!cmd->silent_exec_failure)
|
||||
error_errno("cannot run %s", cmd->argv[0]);
|
||||
goto end_of_spawn;
|
||||
}
|
||||
|
||||
|
|
1
t/.gitattributes
vendored
1
t/.gitattributes
vendored
|
@ -16,6 +16,7 @@ t[0-9][0-9][0-9][0-9]/* -whitespace
|
|||
/t4135/* eol=lf
|
||||
/t4211/* eol=lf
|
||||
/t4252/* eol=lf
|
||||
/t4256/1/* eol=lf
|
||||
/t5100/* eol=lf
|
||||
/t5515/* eol=lf
|
||||
/t556x_common eol=lf
|
||||
|
|
|
@ -13,11 +13,13 @@ cat >hello-script <<-EOF
|
|||
EOF
|
||||
|
||||
test_expect_success 'start_command reports ENOENT (slash)' '
|
||||
test-tool run-command start-command-ENOENT ./does-not-exist
|
||||
test-tool run-command start-command-ENOENT ./does-not-exist 2>err &&
|
||||
test_i18ngrep "\./does-not-exist" err
|
||||
'
|
||||
|
||||
test_expect_success 'start_command reports ENOENT (no slash)' '
|
||||
test-tool run-command start-command-ENOENT does-not-exist
|
||||
test-tool run-command start-command-ENOENT does-not-exist 2>err &&
|
||||
test_i18ngrep "does-not-exist" err
|
||||
'
|
||||
|
||||
test_expect_success 'run_command can run a command' '
|
||||
|
@ -33,7 +35,8 @@ test_expect_success 'run_command is restricted to PATH' '
|
|||
write_script should-not-run <<-\EOF &&
|
||||
echo yikes
|
||||
EOF
|
||||
test_must_fail test-tool run-command run-command should-not-run
|
||||
test_must_fail test-tool run-command run-command should-not-run 2>err &&
|
||||
test_i18ngrep "should-not-run" err
|
||||
'
|
||||
|
||||
test_expect_success !MINGW 'run_command can run a script without a #! line' '
|
||||
|
|
|
@ -1539,7 +1539,7 @@ test_expect_success 'complete tree filename with metacharacters' '
|
|||
EOF
|
||||
'
|
||||
|
||||
test_expect_success 'send-email' '
|
||||
test_expect_success PERL 'send-email' '
|
||||
test_completion "git send-email --cov" "--cover-letter " &&
|
||||
test_completion "git send-email ma" "master "
|
||||
'
|
||||
|
|
Loading…
Reference in a new issue