diff mbox series

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

Message ID 20210711170703.651081-1-felipe.contreras@gmail.com (mailing list archive)
State New, archived
Headers show
Series test: pull: add test for disabling pull.ff=only | expand

Commit Message

Felipe Contreras July 11, 2021, 5:07 p.m. UTC
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(+)

Comments

Bagas Sanjaya July 12, 2021, 4:42 a.m. UTC | #1
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'
Felipe Contreras July 12, 2021, 5:34 a.m. UTC | #2
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.
diff mbox series

Patch

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 &&