# [PATCH] test: pull: add test for disabling pull.ff=only

3 messages from 2021-07-11 to 2021-07-12. Participants: Felipe Contreras, Bagas Sanjaya.
Thread: https://gitlist.dev/t/56094

## Felipe Contreras, 2021-07-11 17:07

Subject: [PATCH] test: pull: add test for disabling pull.ff=only
Message-ID: <20210711170703.651081-1-felipe.contreras@gmail.com>
URL: https://gitlist.dev/e/20210711170703.651081-1-felipe.contreras%40gmail.com

```
The advice clearly says it should be possible to override pull.ff=only
with --rebase:

  You can also pass --rebase, --no-rebase, or --ff-only on the command
  line to override the configured default per invocation.

Since the intended behavior of `git pull` is very easily forgotten let's
add a test to make sure it isn't.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
---
 t/t7601-merge-pull-config.sh | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/t/t7601-merge-pull-config.sh b/t/t7601-merge-pull-config.sh
index 52e8ccc933..72164593fd 100755
--- a/t/t7601-merge-pull-config.sh
+++ b/t/t7601-merge-pull-config.sh
@@ -183,6 +183,12 @@ test_expect_success 'pull prevents non-fast-forward with "only" in pull.ff' '
 	test_must_fail git pull . c3
 '
 
+test_expect_success 'pull allows non-fast-forward with "only" in pull.ff if --rebase' '
+	git reset --hard c1 &&
+	test_config pull.ff only &&
+	git pull --rebase . c3
+'
+
 test_expect_success 'merge c1 with c2 (ours in pull.twohead)' '
 	git reset --hard c1 &&
 	git config pull.twohead ours &&
-- 
2.32.0.172.gaf9b24eeb1


```

## Bagas Sanjaya, 2021-07-12 04:42

Subject: Re: [PATCH] test: pull: add test for disabling pull.ff=only
Message-ID: <ef5ca2bf-3a7a-aa9e-40a2-6b1fe04e323e@gmail.com>
URL: https://gitlist.dev/e/ef5ca2bf-3a7a-aa9e-40a2-6b1fe04e323e%40gmail.com
In-Reply-To: <20210711170703.651081-1-felipe.contreras@gmail.com>

```
On 12/07/21 00.07, Felipe Contreras wrote:
> The advice clearly says it should be possible to override pull.ff=only
> with --rebase:
> 
>    You can also pass --rebase, --no-rebase, or --ff-only on the command
>    line to override the configured default per invocation.
> 
> Since the intended behavior of `git pull` is very easily forgotten let's
> add a test to make sure it isn't.
> 

Is pull.ff=only only do fast-forward merge when pulling?

> +test_expect_success 'pull allows non-fast-forward with "only" in pull.ff if --rebase' '
> +	git reset --hard c1 &&
> +	test_config pull.ff only &&
> +	git pull --rebase . c3
> +'
> +

Better say 'pull allows non-fast-forward (using --rebase) regardless of 
pull.ff=only config'

-- 
An old man doll... just what I always wanted! - Clara

```

## Felipe Contreras, 2021-07-12 05:34

Subject: Re: [PATCH] test: pull: add test for disabling pull.ff=only
Message-ID: <60ebd47d9dc2f_a407e208f1@natae.notmuch>
URL: https://gitlist.dev/e/60ebd47d9dc2f_a407e208f1%40natae.notmuch
In-Reply-To: <ef5ca2bf-3a7a-aa9e-40a2-6b1fe04e323e@gmail.com>

```
Bagas Sanjaya wrote:
> On 12/07/21 00.07, Felipe Contreras wrote:
> > The advice clearly says it should be possible to override pull.ff=only
> > with --rebase:
> > 
> >    You can also pass --rebase, --no-rebase, or --ff-only on the command
> >    line to override the configured default per invocation.
> > 
> > Since the intended behavior of `git pull` is very easily forgotten let's
> > add a test to make sure it isn't.
> > 
> 
> Is pull.ff=only only do fast-forward merge when pulling?

Only when the pull is a merge pull (although there are proposals to
change that).

> > +test_expect_success 'pull allows non-fast-forward with "only" in pull.ff if --rebase' '
> > +	git reset --hard c1 &&
> > +	test_config pull.ff only &&
> > +	git pull --rebase . c3
> > +'
> > +
> 
> Better say 'pull allows non-fast-forward (using --rebase) regardless of 
> pull.ff=only config'

In English parentheses are used for stuff that isn't essential (i.e.
optional).

If you remove what is inside the parenthesis the title loses the most
important part, so I don't think that's an improvement.

Cheers.

-- 
Felipe Contreras

```
