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 <gitster@pobox.com>
Junio C Hamano committed
Nov 30, 2009 at 16:23 UTC
b81e00a965c62ca72a4b9db425ee173de147808d
1 file changed
+6
builtin-merge.c
+6
@@ -789,6 +789,11 @@ static int suggest_conflicts(void)
789
return 1;
790
}
791
792
+static const char deprecation_warning[] =
793
+ "'git merge <msg> HEAD <commit>' is deprecated. Please update\n"
794
+ "your script to use 'git merge -m <msg> <commit>' instead.\n"
795
+ "In future versions of git, this syntax will be removed.";
796
+
797
static struct commit *is_old_style_invocation(int argc, const char **argv)
798
{
799
struct commit *second_token = NULL;
@@ -802,6 +807,7 @@ static struct commit *is_old_style_invocation(int argc, const char **argv)
807
die("'%s' is not a commit", argv[1]);
808
if (hashcmp(second_token->object.sha1, head))
809
return NULL;
810
+ warning(deprecation_warning);
811
}
812
return second_token;
813
}