diff mbox series

[2/2] branch: error message checking out a branch in use

Message ID d217d15f-ddef-d9bf-07fa-464b4025ab3c@gmail.com (mailing list archive)
State New, archived
Headers show
Series branch: update error messages | expand

Commit Message

Rubén Justo Aug. 7, 2023, 8:42 p.m. UTC
Let's update the error message we show when the user tries to check out
a branch which is being used in another worktree, following the
guideline reasoned in 4970bedef2 (branch: update the message to refuse
touching a branch in-use, 2023-07-21).

Signed-off-by: Rubén Justo <rjusto@gmail.com>
---
 branch.c                | 2 +-
 t/t2400-worktree-add.sh | 3 ++-
 t/t3400-rebase.sh       | 2 +-
 3 files changed, 4 insertions(+), 3 deletions(-)

Comments

Taylor Blau Aug. 7, 2023, 9:34 p.m. UTC | #1
On Mon, Aug 07, 2023 at 10:42:40PM +0200, Rubén Justo wrote:
> Let's update the error message we show when the user tries to check out
> a branch which is being used in another worktree, following the
> guideline reasoned in 4970bedef2 (branch: update the message to refuse
> touching a branch in-use, 2023-07-21).
>
> Signed-off-by: Rubén Justo <rjusto@gmail.com>
> ---
>  branch.c                | 2 +-
>  t/t2400-worktree-add.sh | 3 ++-
>  t/t3400-rebase.sh       | 2 +-
>  3 files changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/branch.c b/branch.c
> index 3e4684f79f..98c199f7b7 100644
> --- a/branch.c
> +++ b/branch.c
> @@ -838,7 +838,7 @@ void die_if_checked_out(const char *branch, int ignore_current_worktree)
>
>  		if (is_shared_symref(worktrees[i], "HEAD", branch)) {
>  			skip_prefix(branch, "refs/heads/", &branch);
> -			die(_("'%s' is already checked out at '%s'"),
> +			die(_("'%s' already used by worktree at '%s'"),

I wonder if "'%s' is already used by ..." (with the additional "is"
between the branch name and "already") would be clearer / more natural.

Thanks,
Taylor
Rubén Justo Aug. 7, 2023, 10:49 p.m. UTC | #2
On 7/8/23 23:34, Taylor Blau wrote:
> On Mon, Aug 07, 2023 at 10:42:40PM +0200, Rubén Justo wrote:
>> Let's update the error message we show when the user tries to check out
>> a branch which is being used in another worktree, following the
>> guideline reasoned in 4970bedef2 (branch: update the message to refuse
>> touching a branch in-use, 2023-07-21).
>>
>> Signed-off-by: Rubén Justo <rjusto@gmail.com>
>> ---
>>  branch.c                | 2 +-
>>  t/t2400-worktree-add.sh | 3 ++-
>>  t/t3400-rebase.sh       | 2 +-
>>  3 files changed, 4 insertions(+), 3 deletions(-)
>>
>> diff --git a/branch.c b/branch.c
>> index 3e4684f79f..98c199f7b7 100644
>> --- a/branch.c
>> +++ b/branch.c
>> @@ -838,7 +838,7 @@ void die_if_checked_out(const char *branch, int ignore_current_worktree)
>>
>>  		if (is_shared_symref(worktrees[i], "HEAD", branch)) {
>>  			skip_prefix(branch, "refs/heads/", &branch);
>> -			die(_("'%s' is already checked out at '%s'"),
>> +			die(_("'%s' already used by worktree at '%s'"),
> 
> I wonder if "'%s' is already used by ..." (with the additional "is"
> between the branch name and "already") would be clearer / more natural.

I have no problem with that change.  I think I was trying to keep the message
sort ... the tests does not need to be adjusted.

> 
> Thanks,
> Taylor
> 

Thanks for reading carefully.
diff mbox series

Patch

diff --git a/branch.c b/branch.c
index 3e4684f79f..98c199f7b7 100644
--- a/branch.c
+++ b/branch.c
@@ -838,7 +838,7 @@  void die_if_checked_out(const char *branch, int ignore_current_worktree)
 
 		if (is_shared_symref(worktrees[i], "HEAD", branch)) {
 			skip_prefix(branch, "refs/heads/", &branch);
-			die(_("'%s' is already checked out at '%s'"),
+			die(_("'%s' already used by worktree at '%s'"),
 				branch, worktrees[i]->path);
 		}
 	}
diff --git a/t/t2400-worktree-add.sh b/t/t2400-worktree-add.sh
index 051363acbb..89447a4a0c 100755
--- a/t/t2400-worktree-add.sh
+++ b/t/t2400-worktree-add.sh
@@ -121,7 +121,8 @@  test_expect_success '"add" worktree creating new branch' '
 test_expect_success 'die the same branch is already checked out' '
 	(
 		cd here &&
-		test_must_fail git checkout newmain
+		test_must_fail git checkout newmain 2> actual &&
+		grep "already used by worktree at" actual
 	)
 '
 
diff --git a/t/t3400-rebase.sh b/t/t3400-rebase.sh
index 3ce918fdb8..d3df19a51f 100755
--- a/t/t3400-rebase.sh
+++ b/t/t3400-rebase.sh
@@ -421,7 +421,7 @@  test_expect_success 'refuse to switch to branch checked out elsewhere' '
 	git checkout main &&
 	git worktree add wt &&
 	test_must_fail git -C wt rebase main main 2>err &&
-	test_i18ngrep "already checked out" err
+	test_i18ngrep "already used by worktree at" err
 '
 
 test_expect_success MINGW,SYMLINKS_WINDOWS 'rebase when .git/logs is a symlink' '