From: Eric Sunshine Date: Thu, 26 Mar 2015 13:51:10 GMT Subject: Re: [PATCH] merge: deprecate 'git merge HEAD ' syntax Message-ID: In-Reply-To: On Thu, Mar 26, 2015 at 12:58 AM, Junio C Hamano wrote: > We had this in "git merge" manual for eternity: > > 'git merge' HEAD ... > > [This] syntax ( `HEAD` ...) 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 ...`. > > I wanted to see how much damage we would incur to people by checking > what the damage to _our_ system, including the test scripts, if we > dropped the support for the syntax. The last time I tried this, I > thought that replacing the use of this syntax in "git pull" with its > obvious and trivial rewrite 'git merge -m ' broke some > output, and that is the primary reason why I stayed away from trying > this again, but it no longer seems to be the case with today's code > for some reason. > > 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 > --- > diff --git a/builtin/merge.c b/builtin/merge.c > index 3b0f8f9..0795358 100644 > --- a/builtin/merge.c > +++ b/builtin/merge.c > @@ -1182,6 +1182,7 @@ int cmd_merge(int argc, const char **argv, const char *prefix) > > if (!have_message && head_commit && > is_old_style_invocation(argc, argv, head_commit->object.sha1)) { > + warning("old-style 'git merge HEAD ' is deprecated."); To be a bit more helpful, perhaps point the user at "git merge -m ..." as the recommended replacement? > strbuf_addstr(&merge_msg, argv[0]); > head_arg = argv[1]; > argv += 2;