summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2013-05-09 13:27:49 -0700
committerJunio C Hamano <gitster@pobox.com>2013-05-09 13:29:53 -0700
commit7c0b0d8deae040969d78eb141d899e225f1577e6 (patch)
tree748a3e43c12c51eb75ec676f00d50ccf8f25ff81
parent21246dbb9e0af278bc671e32e45a6cae4ad38b6f (diff)
downloadgit-7c0b0d8deae040969d78eb141d899e225f1577e6.tar.gz
cherry-pick: picking a tag that resolves to a commit is OK
Earlier, 21246dbb9e0a (cherry-pick: make sure all input objects are commits, 2013-04-11) tried to catch an unlikely "git cherry-pick $blob" as an error, but broke a more important use case to cherry-pick a tag that points at a commit. Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--sequencer.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sequencer.c b/sequencer.c
index 61fdb6805c..f2c9d98f8f 100644
--- a/sequencer.c
+++ b/sequencer.c
@@ -1077,10 +1077,10 @@ int sequencer_pick_revisions(struct replay_opts *opts)
continue;
if (!get_sha1(name, sha1)) {
- enum object_type type = sha1_object_info(sha1, NULL);
-
- if (type > 0 && type != OBJ_COMMIT)
+ if (!lookup_commit_reference_gently(sha1, 1)) {
+ enum object_type type = sha1_object_info(sha1, NULL);
die(_("%s: can't cherry-pick a %s"), name, typename(type));
+ }
} else
die(_("%s: bad revision"), name);
}