summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Michele Ballabio <barra_cuda@katamail.com>2008-07-20 14:34:47 +0200
committerLibravatar Junio C Hamano <gitster@pobox.com>2008-07-20 13:37:26 -0700
commit74f5b7fba420eb6b807db48d0ee7a000202f8225 (patch)
tree102b124ac549cac5ecdcac1d0efbacc298d21e7f
parentTeach 'git merge' that some merge strategies no longer exist (diff)
downloadtgif-74f5b7fba420eb6b807db48d0ee7a000202f8225.tar.xz
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>
-rw-r--r--builtin-merge.c5
-rwxr-xr-xt/t7600-merge.sh2
2 files changed, 4 insertions, 3 deletions
diff --git a/builtin-merge.c b/builtin-merge.c
index 06b9970306..e97c79e60c 100644
--- a/builtin-merge.c
+++ b/builtin-merge.c
@@ -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;
}
diff --git a/t/t7600-merge.sh b/t/t7600-merge.sh
index 26cf8dc7c1..5eeb6c2b27 100755
--- a/t/t7600-merge.sh
+++ b/t/t7600-merge.sh
@@ -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 &&