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>
Junio C Hamano committed
May 9, 2013 at 13:27 UTC
7c0b0d8deae040969d78eb141d899e225f1577e6
1 file changed
+3
-3
sequencer.c
+3
-3
@@ -1077,10 +1077,10 @@ int sequencer_pick_revisions(struct replay_opts *opts)
1077
continue;
1078
1079
if (!get_sha1(name, sha1)) {
1080
- enum object_type type = sha1_object_info(sha1, NULL);
1081
-
1082
- if (type > 0 && type != OBJ_COMMIT)
1080
+ if (!lookup_commit_reference_gently(sha1, 1)) {
1081
+ enum object_type type = sha1_object_info(sha1, NULL);
1082
die(_("%s: can't cherry-pick a %s"), name, typename(type));
1083
+ }
1084
} else
1085
die(_("%s: bad revision"), name);
1086
}