Re: [PATCH] merge: allow using --no-ff and --ff-only at the same time
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:57:57
Miklos Vajna [off-list ref] writes:
OK, so if I get it right, the problem is that users got used to that the --ff-only not only means a precondition for the merge, but also means "either don't create a merge commit or fail", while my patch would change this second behaviour.
It is not just "users got used to". "We do not want to create a merge commit with this operation." is what "--ff-only" means from the day one [*1*]. For a merge not to create an extra merge commit, the other history has to be a proper descendant, but that "precondition" is a mere logical consequence of the ultimate goal of the mode.
I could imagine then new switches, like 'git merge --pre=ff --update=no-ff" could provide these, though I'm not sure if it makes sense to add such generic switches till the only user is "ff".
Yes, that is why I said "if one were designing it from scratch, I could see..." in a very weak form. [Footnote] *1* 13474835 (Teach 'git merge' and 'git pull' the option --ff-only, 2009-10-29) and also $gmane/107768 whose documentation part says: "Refuse to merge unless the merge is resolved as a fast-forward."