From: Junio C Hamano Date: Wed, 22 May 2013 18:12:01 GMT Subject: Re: override merge.ff = false using --ff-only Message-ID: <7vzjvmj34e.fsf@alter.siamese.dyndns.org> In-Reply-To: Matt McClure writes: > I naively tried to override merge.ff = false using --ff-only on the > command line. I expected that it would override the configured default > and perform a fast-forward merge. Instead, it said: > > $ git config -l | grep -F 'merge.ff' > merge.ff=false > > $ git merge --ff-only foo > fatal: You cannot combine --no-ff with --ff-only. > > On the other hand, I see that --ff works just fine in the same initial state. > > $ git merge --ff foo > Updating b869407..17b5495 > Fast-forward > ... > 4 files changed, 2 insertions(+), 5 deletions(-) > > Would it be better if --ff-only refused to merge only if the commits > themselves prevented fast-forwarding? In general it would be better if any --ff related command line options made us ignore the configured default like merge.ff the user may have in the repository, not just --ff-only vs merge.ff combination, and your "On the other hand" demonstrates that it is the case for --ff from the command line. I do not offhand see why --ff-only should behave differently from that expectation.