Code

provide more errors for the "merge into empty head" case
authorPaolo Bonzini <bonzini@gnu.org>
Thu, 21 Aug 2008 12:14:18 +0000 (14:14 +0200)
committerJunio C Hamano <gitster@pobox.com>
Fri, 22 Aug 2008 06:37:38 +0000 (23:37 -0700)
A squash merge into an unborn branch could be implemented by building the
index from the merged-from branch, and doing a single commit, but this is
not supported yet.

A non-fast-forward merge into an unborn branch does not make any sense,
because you cannot make a merge commit if you don't have a commit to use
as the parent.

Signed-off-by: Paolo Bonzini <bonzini@gnu.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin-merge.c

index a201c6628d6b2c736e53d69ef75accec7d73b4b6..7759a0b1e9a21148a69bbd1f2dc24902ba5651b5 100644 (file)
@@ -833,6 +833,11 @@ int cmd_merge(int argc, const char **argv, const char *prefix)
                if (argc != 1)
                        die("Can merge only exactly one commit into "
                                "empty head");
+               if (squash)
+                       die("Squash commit into empty head not supported yet");
+               if (!allow_fast_forward)
+                       die("Non-fast-forward commit does not make sense into "
+                           "an empty head");
                remote_head = peel_to_type(argv[0], 0, NULL, OBJ_COMMIT);
                if (!remote_head)
                        die("%s - not something we can merge", argv[0]);