threads / patch / 56094

patchtest: pull: add test for disabling pull.ff=only

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

## tl;dr

3 messages between Jul 11, 2021 and Jul 12, 2021. Diffs are folded; open one to read it.

replies: 2people: 2as markdown or json

Felipe Contreras· Jul 11, 2021, 17:07 UTC · lore

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(+)
Show changes to t/t7601-merge-pull-config.sh +6 −0
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· Jul 12, 2021, 04:42 UTC · re: Felipe Contreras · lore

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

On 12/07/21 00.07, Felipe Contreras wrote:
Show 9 quoted lines
> 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?
Show 6 quoted lines
> +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· Jul 12, 2021, 05:34 UTC · re: Bagas Sanjaya · lore

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

Bagas Sanjaya wrote:
Show 12 quoted lines
> 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).

Show 9 quoted lines
> > +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

← back to recent threads