path: root/builtin/merge.c
diff options
authorJunio C Hamano <>2015-03-26 04:58:45 (GMT)
committerJunio C Hamano <>2015-04-29 20:28:10 (GMT)
commitd45366e8aa922037e7e84c3f35924d2b1399a453 (patch)
treebe02e30d9f0719dcbbc227bcf55dfee32bf3de25 /builtin/merge.c
parent74e8bc59cb324d2d7a55c90195db004219770eec (diff)
merge: deprecate 'git merge <message> HEAD <commit>' syntax
We had this in "git merge" manual for eternity: 'git merge' <msg> HEAD <commit>... [This] syntax (<msg> `HEAD` <commit>...) is supported for historical reasons. Do not use it from the command line or in new scripts. It is the same as `git merge -m <msg> <commit>...`. With the update to "git merge" to make it understand what is recorded in FETCH_HEAD directly, including Octopus merge cases, we now can rewrite the use of this syntax in "git pull" with a simple "git merge FETCH_HEAD". Also there are quite a few fallouts in the test scripts, and it turns out that "git cvsimport" also uses this old syntax to record a merge. Judging from this result, I would not be surprised if dropping the support of the old syntax broke scripts people have written and been relying on for the past ten years. But at least we can start the deprecation process by throwing a warning message when the syntax is used. With luck, we might be able to drop the support in a few years. Signed-off-by: Junio C Hamano <>
Diffstat (limited to 'builtin/merge.c')
1 files changed, 1 insertions, 0 deletions
diff --git a/builtin/merge.c b/builtin/merge.c
index 42f9fcc..67fbfaf 100644
--- a/builtin/merge.c
+++ b/builtin/merge.c
@@ -1299,6 +1299,7 @@ int cmd_merge(int argc, const char **argv, const char *prefix)
if (!have_message &&
is_old_style_invocation(argc, argv, head_commit->object.sha1)) {
+ warning("old-style 'git merge <msg> HEAD <commit>' is deprecated.");
strbuf_addstr(&merge_msg, argv[0]);
head_arg = argv[1];
argv += 2;