# override merge.ff = false using --ff-only

3 messages from 2013-05-22 to 2013-05-22. Participants: Matt McClure, Yann Droneaud, Junio C Hamano.
Thread: https://gitlist.dev/t/33900

## Matt McClure, 2013-05-22 13:21

Subject: override merge.ff = false using --ff-only
Message-ID: <CAJELnLFqzVBd57vudsCFrTNMVxETO75GT5T5NO0sDMtgHZJU6g@mail.gmail.com>
URL: https://gitlist.dev/e/CAJELnLFqzVBd57vudsCFrTNMVxETO75GT5T5NO0sDMtgHZJU6g%40mail.gmail.com
In-Reply-To: <CAJELnLEGCshD9z9get62+T6Z83OdPJ+A5BNSzsHA1_OC1Q00Hw@mail.gmail.com>

```
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?

--
Matt McClure
http://matthewlmcclure.com
http://www.mapmyfitness.com/profile/matthewlmcclure

```

## Yann Droneaud, 2013-05-22 13:36

Subject: Re: override merge.ff = false using --ff-only
Message-ID: <428ac6eff0b1a118a9b09f0835ab65b5@meuh.org>
URL: https://gitlist.dev/e/428ac6eff0b1a118a9b09f0835ab65b5%40meuh.org
In-Reply-To: <CAJELnLFqzVBd57vudsCFrTNMVxETO75GT5T5NO0sDMtgHZJU6g@mail.gmail.com>

```
Hi,

Le 22.05.2013 15:21, Matt McClure a écrit :
> 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.
>

You might want to read the following messages from thread "git merge 
<tag> behavior"

http://article.gmane.org/gmane.comp.version-control.git/218519
http://article.gmane.org/gmane.comp.version-control.git/218755
http://article.gmane.org/gmane.comp.version-control.git/218786


Regards.

-- 
Yann Droneaud
OPTEYA

```

## Junio C Hamano, 2013-05-22 18:12

Subject: Re: override merge.ff = false using --ff-only
Message-ID: <7vzjvmj34e.fsf@alter.siamese.dyndns.org>
URL: https://gitlist.dev/e/7vzjvmj34e.fsf%40alter.siamese.dyndns.org
In-Reply-To: <CAJELnLFqzVBd57vudsCFrTNMVxETO75GT5T5NO0sDMtgHZJU6g@mail.gmail.com>

```
Matt McClure <matthewlmcclure@gmail.com> 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.

```
