# [PATCH] p3400: replace calls to `git checkout -b' by `git checkout -B'

2 messages from 2018-11-09 to 2018-11-10. Participants: Alban Gruin, Johannes Schindelin.
Thread: https://gitlist.dev/t/49788

## Alban Gruin, 2018-11-09 21:19

Subject: [PATCH] p3400: replace calls to `git checkout -b' by `git checkout -B'
Message-ID: <20181109211923.6425-1-alban.gruin@gmail.com>
URL: https://gitlist.dev/e/20181109211923.6425-1-alban.gruin%40gmail.com

```
p3400 makes a copy of the current repository to test git-rebase
performance, and creates new branches in the copy with `git checkout
-b'.  If the original repository has branches with the same name as the
script is trying to create, this operation will fail.

This replaces these calls by `git checkout -B' to force the creation and
update of these branches.

Signed-off-by: Alban Gruin <alban.gruin@gmail.com>
---
 t/perf/p3400-rebase.sh | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/t/perf/p3400-rebase.sh b/t/perf/p3400-rebase.sh
index ce271ca4c1..d202aaed06 100755
--- a/t/perf/p3400-rebase.sh
+++ b/t/perf/p3400-rebase.sh
@@ -6,9 +6,9 @@ test_description='Tests rebase performance'
 test_perf_default_repo
 
 test_expect_success 'setup rebasing on top of a lot of changes' '
-	git checkout -f -b base &&
-	git checkout -b to-rebase &&
-	git checkout -b upstream &&
+	git checkout -f -B base &&
+	git checkout -B to-rebase &&
+	git checkout -B upstream &&
 	for i in $(seq 100)
 	do
 		# simulate huge diffs
@@ -35,8 +35,8 @@ test_perf 'rebase on top of a lot of unrelated changes' '
 
 test_expect_success 'setup rebasing many changes without split-index' '
 	git config core.splitIndex false &&
-	git checkout -b upstream2 to-rebase &&
-	git checkout -b to-rebase2 upstream
+	git checkout -B upstream2 to-rebase &&
+	git checkout -B to-rebase2 upstream
 '
 
 test_perf 'rebase a lot of unrelated changes without split-index' '
-- 
2.19.1


```

## Johannes Schindelin, 2018-11-10 21:05

Subject: Re: [PATCH] p3400: replace calls to `git checkout -b' by `git checkout -B'
Message-ID: <nycvar.QRO.7.76.6.1811102205070.45@tvgsbejvaqbjf.bet>
URL: https://gitlist.dev/e/nycvar.QRO.7.76.6.1811102205070.45%40tvgsbejvaqbjf.bet
In-Reply-To: <20181109211923.6425-1-alban.gruin@gmail.com>

```
Hi Alban,

On Fri, 9 Nov 2018, Alban Gruin wrote:

> p3400 makes a copy of the current repository to test git-rebase
> performance, and creates new branches in the copy with `git checkout
> -b'.  If the original repository has branches with the same name as the
> script is trying to create, this operation will fail.
> 
> This replaces these calls by `git checkout -B' to force the creation and
> update of these branches.

Both the explanation and the patch make sense to me.

Thanks,
Dscho

> 
> Signed-off-by: Alban Gruin <alban.gruin@gmail.com>
> ---
>  t/perf/p3400-rebase.sh | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/t/perf/p3400-rebase.sh b/t/perf/p3400-rebase.sh
> index ce271ca4c1..d202aaed06 100755
> --- a/t/perf/p3400-rebase.sh
> +++ b/t/perf/p3400-rebase.sh
> @@ -6,9 +6,9 @@ test_description='Tests rebase performance'
>  test_perf_default_repo
>  
>  test_expect_success 'setup rebasing on top of a lot of changes' '
> -	git checkout -f -b base &&
> -	git checkout -b to-rebase &&
> -	git checkout -b upstream &&
> +	git checkout -f -B base &&
> +	git checkout -B to-rebase &&
> +	git checkout -B upstream &&
>  	for i in $(seq 100)
>  	do
>  		# simulate huge diffs
> @@ -35,8 +35,8 @@ test_perf 'rebase on top of a lot of unrelated changes' '
>  
>  test_expect_success 'setup rebasing many changes without split-index' '
>  	git config core.splitIndex false &&
> -	git checkout -b upstream2 to-rebase &&
> -	git checkout -b to-rebase2 upstream
> +	git checkout -B upstream2 to-rebase &&
> +	git checkout -B to-rebase2 upstream
>  '
>  
>  test_perf 'rebase a lot of unrelated changes without split-index' '
> -- 
> 2.19.1
> 
> 

```
