Junio C Hamano  committed b81e00a

git-merge: a deprecation notice of the ancient command line syntax

The ancient form of git merge command used in the original sample script
has been copied from Linus and are still found everywhere, I think, and
people may still have it in their scripts, but on the other hand, it is so
unintuitive that even people reasonably familiar with git are surprised by
accidentally triggering the support to parse this ancient form.

Gently nudge people to upgrade their script to more recent and readable
style for eventual removal of the original syntax.

Signed-off-by: Junio C Hamano <>

  • Participants
  • Parent commits 78d553b
  • Branches master

Comments (0)

Files changed (1)

File builtin-merge.c

 	return 1;
+static const char deprecation_warning[] =
+	"'git merge <msg> HEAD <commit>' is deprecated. Please update\n"
+	"your script to use 'git merge -m <msg> <commit>' instead.\n"
+	"In future versions of git, this syntax will be removed.";
 static struct commit *is_old_style_invocation(int argc, const char **argv)
 	struct commit *second_token = NULL;
 			die("'%s' is not a commit", argv[1]);
 		if (hashcmp(second_token->object.sha1, head))
 			return NULL;
+		warning(deprecation_warning);
 	return second_token;