From: kristofferhaugsbakk@fastmail.com
To: git@vger.kernel.org
Cc: Kristoffer Haugsbakk <code@khaugsbakk.name>, gitster@pobox.com
Subject: [PATCH v2] checkout: refer to other-worktree branch, not ref
Date: Thu, 10 Oct 2024 20:39:29 +0200 [thread overview]
Message-ID: <fcfbcd3868bda75dd0463e04739047e74d239d32.1728585467.git.code@khaugsbakk.name> (raw)
In-Reply-To: <259fcbb61f13873421d50df77f151130fdbf0166.1728494795.git.code@khaugsbakk.name>
From: Kristoffer Haugsbakk <code@khaugsbakk.name>
We can only check out commits or branches, not refs in general. And the
problem here is if another worktree is using the branch that we want to
check out.
Let’s be more direct and just talk about branches instead of refs.
Also replace “be held” with “in use”. Further, “in use” is not
restricted to a branch being checked out (e.g. the branch could be busy
on a rebase), hence generalize to “or otherwise in use” in the option
description.
Signed-off-by: Kristoffer Haugsbakk <code@khaugsbakk.name>
---
Notes (series):
v2:
• Commit to replacing “be held” with “in use”
• Also mention “in use” in the commit message
• Add “or otherwise in use”
• Flow/format `--ignore-other-worktrees` paragraph since a line was
getting long
❦
(from v1)
I also change “is holding” to “is using”. This has plenty of
precedence:
1. The code ultimately calls
`builtin/checkout.c:die_if_switching_to_a_branch_in_use` which says
that we die if the branch is “in use” by another worktree, just like
we do here for the new description string on
`--ignore-other-worktrees` (c.f. “holding the given ref”).
2. `man git checkout` uses the phrase “in use by” when talking about the
branch being checked out in another worktree.
Documentation/git-checkout.txt | 8 ++++----
builtin/checkout.c | 2 +-
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/Documentation/git-checkout.txt b/Documentation/git-checkout.txt
index 8bdfa54ab09..bf26655764f 100644
--- a/Documentation/git-checkout.txt
+++ b/Documentation/git-checkout.txt
@@ -290,10 +290,10 @@ Note that this option uses the no overlay mode by default (see also
`--overlay`), and currently doesn't support overlay mode.
--ignore-other-worktrees::
- `git checkout` refuses when the wanted ref is already checked
- out by another worktree. This option makes it check the ref
- out anyway. In other words, the ref can be held by more than one
- worktree.
+ `git checkout` refuses when the wanted branch is already checked
+ out or otherwise in use by another worktree. This option makes
+ it check the branch out anyway. In other words, the branch can
+ be in use by more than one worktree.
--overwrite-ignore::
--no-overwrite-ignore::
diff --git a/builtin/checkout.c b/builtin/checkout.c
index 9c30000d3af..c449558e663 100644
--- a/builtin/checkout.c
+++ b/builtin/checkout.c
@@ -1716,7 +1716,7 @@ static struct option *add_common_switch_branch_options(
N_("update ignored files (default)"),
PARSE_OPT_NOCOMPLETE),
OPT_BOOL(0, "ignore-other-worktrees", &opts->ignore_other_worktrees,
- N_("do not check if another worktree is holding the given ref")),
+ N_("do not check if another worktree is using this branch")),
OPT_END()
};
struct option *newopts = parse_options_concat(prevopts, options);
Interdiff against v1:
diff --git a/Documentation/git-checkout.txt b/Documentation/git-checkout.txt
index b00b375dd27..bf26655764f 100644
--- a/Documentation/git-checkout.txt
+++ b/Documentation/git-checkout.txt
@@ -291,9 +291,9 @@ Note that this option uses the no overlay mode by default (see also
--ignore-other-worktrees::
`git checkout` refuses when the wanted branch is already checked
- out by another worktree. This option makes it check the branch
- out anyway. In other words, the branch can be held by more than one
- worktree.
+ out or otherwise in use by another worktree. This option makes
+ it check the branch out anyway. In other words, the branch can
+ be in use by more than one worktree.
--overwrite-ignore::
--no-overwrite-ignore::
--
2.46.1.641.g54e7913fcb6
prev parent reply other threads:[~2024-10-10 18:39 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-09 17:27 [PATCH] checkout: refer to other-worktree branch, not ref Kristoffer Haugsbakk
2024-10-09 17:36 ` Kristoffer Haugsbakk
2024-10-09 18:46 ` Junio C Hamano
2024-10-10 18:23 ` Kristoffer Haugsbakk
2024-10-10 18:39 ` kristofferhaugsbakk [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=fcfbcd3868bda75dd0463e04739047e74d239d32.1728585467.git.code@khaugsbakk.name \
--to=kristofferhaugsbakk@fastmail.com \
--cc=code@khaugsbakk.name \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).