[PATCH] cherry-pick: better error message when the parameter is a non-commit
- From
Miklos Vajna <vmiklos@suse.cz>
- Date
- Apr 3, 2013, 09:27 UTC
- Message-ID
- <20130403092704.GC21520@suse.cz>
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 <vmiklos@suse.cz> --- 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