builtin-merge.c: Fix option parsing

Now "git merge -m" needs a message, and errors out with the usage
text if none is given.
This way, t7600-merge.sh is fixed.

Signed-off-by: Michele Ballabio <barra_cuda@katamail.com>
Acked-by: Miklos Vajna <vmiklos@frugalware.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Michele Ballabio 2008-07-20 14:34:47 +02:00 committed by Junio C Hamano
parent ec96224e21
commit 74f5b7fba4
2 changed files with 4 additions and 3 deletions

View file

@ -66,10 +66,11 @@ static int option_parse_message(const struct option *opt,
if (unset)
strbuf_setlen(buf, 0);
else {
else if (arg) {
strbuf_addf(buf, "%s\n\n", arg);
have_message = 1;
}
} else
return error("switch `m' requires a value");
return 0;
}

View file

@ -221,7 +221,7 @@ test_expect_success 'setup' '
test_debug 'gitk --all'
test_expect_failure 'test option parsing' '
test_expect_success 'test option parsing' '
test_must_fail git merge -$ c1 &&
test_must_fail git merge --no-such c1 &&
test_must_fail git merge -s foobar c1 &&