From: Paolo Bonzini <bonzini@gnu.org>
Date: Thu, 21 Aug 2008 12:14:18 +0000 (+0200)
Subject: provide more errors for the "merge into empty head" case
X-Git-Tag: v1.6.1-rc1~319
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4be636f42cd75f865204817c307eb1a7b464109c;p=git

provide more errors for the "merge into empty head" case

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>
---

diff --git a/builtin-merge.c b/builtin-merge.c
index a201c6628d..7759a0b1e9 100644
--- a/builtin-merge.c
+++ b/builtin-merge.c
@@ -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]);