[PATCH] cherry-pick: better error message when the parameter is a non-commit
From: Miklos Vajna <hidden>
Date: 2016-06-15 22:56:37
When copy&paste goes wrong, and the user e.g. tries to cherry-pick a blob, the error message used to be: fatal: BUG: expected exactly one commit from walk Instead, now it is: fatal: Can't cherry-pick a blob Signed-off-by: Miklos Vajna <redacted> --- sequencer.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/sequencer.c b/sequencer.c
index baa0310..0ac00d4 100644
--- a/sequencer.c
+++ b/sequencer.c@@ -1082,8 +1082,15 @@ int sequencer_pick_revisions(struct replay_opts *opts) if (prepare_revision_walk(opts->revs)) die(_("revision walk setup failed")); cmit = get_revision(opts->revs); - if (!cmit || get_revision(opts->revs)) + if (!cmit || get_revision(opts->revs)) { + unsigned char sha1[20]; + if (!get_sha1(opts->revs->cmdline.rev->name, sha1)) { + enum object_type type = sha1_object_info(sha1, NULL); + if (type > 0 && type != OBJ_COMMIT) + die(_("Can't cherry-pick a %s"), typename(type)); + } die("BUG: expected exactly one commit from walk"); + } return single_pick(cmit, opts); }
--
1.8.1.4