Junio C Hamano <gitster@xxxxxxxxx> writes: > Olivier Marin <dkr+ml.git@xxxxxxx> writes: > >> Junio C Hamano a écrit : >>> >>> static int parse_and_validate_options(int argc, const char *argv[], >>> - const char * const usage[]) >>> + const char * const usage[], >>> + const char *prefix) >>> { >>> int f = 0; >>> >>> argc = parse_options(argc, argv, builtin_commit_options, usage, 0); >>> + logfile = parse_options_fix_filename(prefix, logfile); >> >> It breaks the "git commit -F -" case, no? > > Does it? Ah, yeah, t7500 #15 does not go down to a subdirectory. Ok, this squashed in on top of the previous one should cover the case. Thanks for saving me in time from a major embarrassment. I already tagged 1.5.6.5 with the botched one but haven't pushed it out, so I can safely rewind. --- parse-options.c | 2 +- t/t7500-commit.sh | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletions(-) diff --git a/parse-options.c b/parse-options.c index d771bf4..12c8822 100644 --- a/parse-options.c +++ b/parse-options.c @@ -432,7 +432,7 @@ int parse_opt_approxidate_cb(const struct option *opt, const char *arg, */ extern const char *parse_options_fix_filename(const char *prefix, const char *file) { - if (!file || !prefix || is_absolute_path(file)) + if (!file || !prefix || is_absolute_path(file) || !strcmp("-", file)) return file; return prefix_filename(prefix, strlen(prefix), file); } diff --git a/t/t7500-commit.sh b/t/t7500-commit.sh index 2ab791b..823256a 100755 --- a/t/t7500-commit.sh +++ b/t/t7500-commit.sh @@ -159,4 +159,12 @@ test_expect_success 'commit message from file (2)' ' commit_msg_is "Log in sub directory" ' +test_expect_success 'commit message from stdin' ' + ( + cd subdir && + echo "Log with foo word" | git commit --allow-empty -F - + ) && + commit_msg_is "Log with foo word" +' + test_done -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html