Merge branch 'mv/sequencer-pick-error-diag'
authorJunio C Hamano <gitster@pobox.com>
Thu, 9 May 2013 20:30:19 +0000 (13:30 -0700)
committerJunio C Hamano <gitster@pobox.com>
Thu, 9 May 2013 20:30:19 +0000 (13:30 -0700)
Fix "git cherry-pick $annotated_tag", which was mistakenly rejected.

* mv/sequencer-pick-error-diag:
cherry-pick: picking a tag that resolves to a commit is OK

1  2 
sequencer.c
diff --combined sequencer.c
index cf8fbeb8d5ac2b6ca3b498f2115c02eeea22910a,f2c9d98f8f5cd3f3ff55444a8c76a3a7f00be9ec..ab6f8a722d1dfa8f9633d8c046aad26ef4d0404e
@@@ -216,7 -216,7 +216,7 @@@ static void print_advice(int show_hint
        if (msg) {
                fprintf(stderr, "%s\n", msg);
                /*
 -               * A conflict has occured but the porcelain
 +               * A conflict has occurred but the porcelain
                 * (typically rebase --interactive) wants to take care
                 * of the commit itself so remove CHERRY_PICK_HEAD
                 */
@@@ -1077,10 -1077,10 +1077,10 @@@ int sequencer_pick_revisions(struct rep
                        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);
        }