summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 87bf9a7)
raw | patch | inline | side by side (parent: 87bf9a7)
author | Tay Ray Chuan <rctay89@gmail.com> | |
Wed, 2 Nov 2011 16:17:12 +0000 (00:17 +0800) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Wed, 2 Nov 2011 19:35:37 +0000 (12:35 -0700) |
Modify the option parsing heuristic to handle all -m (rename) cases,
including the no-arg case.
Previously, this "fell through" to the (argc <= 2) case and caused
segfault.
Reported-by: Stefan Näwe <stefan.naewe@atlas-elektronik.com>
Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
including the no-arg case.
Previously, this "fell through" to the (argc <= 2) case and caused
segfault.
Reported-by: Stefan Näwe <stefan.naewe@atlas-elektronik.com>
Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/branch.c | patch | blob | history |
diff --git a/builtin/branch.c b/builtin/branch.c
index 009b7138ac72c5845225ce1f801be908ede4e3b4..51ca6a02d7433f1394de10a7f6ef1aa565ac03e2 100644 (file)
--- a/builtin/branch.c
+++ b/builtin/branch.c
else if (list)
return print_ref_list(kinds, detached, verbose, abbrev,
with_commit, argv);
- else if (rename && (argc == 1))
- rename_branch(head, argv[0], rename > 1);
- else if (rename && (argc == 2))
- rename_branch(argv[0], argv[1], rename > 1);
- else if (argc <= 2) {
+ else if (rename) {
+ if (argc == 1)
+ rename_branch(head, argv[0], rename > 1);
+ else if (argc == 2)
+ rename_branch(argv[0], argv[1], rename > 1);
+ else
+ usage_with_options(builtin_branch_usage, options);
+ } else if (argc <= 2) {
if (kinds != REF_LOCAL_BRANCH)
die(_("-a and -r options to 'git branch' do not make sense with a branch name"));
create_branch(head, argv[0], (argc == 2) ? argv[1] : head,