git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v3 10/11] contrib: remove "git-new-workdir"

From
PWPhillip Wood <phillip.wood123@gmail.com>
Date
Sep 12, 2025, 20:05 UTC
Message-ID
<4bd78e37-1d96-4d98-b77f-47520200376b@gmail.com>
In-Reply-To
<e6003a2c-bc1b-4cf5-aae7-ef5aa9c82f10@gmail.com>
On 08/09/2025 16:22, Gabriel Scherer wrote:
Show 14 quoted lines
> 
> On 08/09/2025 11:58, Kristoffer Haugsbakk wrote:
>> On Mon, Sep 8, 2025, at 11:28, Gabriel Scherer wrote:
> 
> Thanks. I just tried this, but I think it does not suffice. The --force
> option is available to "git worktree add" to create a worktree for a
> branch that is already checked out. But typically my workflow is to
> create a worktree for a new feature branch, and there from that worktree
> temporarily switch to an existing branch using `git checkout`, and there
> I get a hard error (if another worktree has this branch) and there is no
> --force option to override the worktree limitation at 'checkout' time. I
> just tried to test whether worktrees created with --force would allow to
> switch to checked-out-in-other-worktrees branches in the future, but
> that does not appear to be the case.

If you really want to checkout the same branch in more than one worktree you can use "git checkout --ignore-other-worktrees". "git checkout --force" predates that option and will, amongst other things, overwrite uncommitted changes. Having a separate option avoids nasty surprises such as overwriting you uncommitted changes when checking out the same branch in more than one worktree.

Thanks
Phillip
Show 29 quoted lines
> 
>>> I understand
>>> why its designers felt that this would provide better guarantees (it
>>> is not a good idea to mutate branch names that are checked out
>>> somewhere else), but checking out various branches to test them and
>>> inspect their code (before returning to the feature branch I am
>>> actively working on) is a common part of my workflow.
>> I agree, that’s a great use of worktrees.  But I never feel like I have
>> to checkout the branch itself.  I detach on top of the branch.
> 
> 
> I'm afraid `git checkout -d` is not part of my typical git workflow. I
> could retrain myself to use it, when I get into a worktree error, but it
> is cumbersome to know of this new complexity¹, and various things work
> less well in detached state -- for example my bash prompt tells me in
> which branch I am, and in detached state it only shows the commit hash.
> 
> ¹: it would be nice if the fatal-error message on 'git checkout' when
> trying to checkout a branch that is active on another worktree would
> suggest using `git checkout -d` instead to proceed. I may try to send a
> patch to add this information.
> 
>>> Getting a 'fatal
>>> error' because some other, independent worktree also checked this
>>> branch out is a hindrance.
>>>
>>> Note: I don't know about the `worktree` implementation and whether the
>>> [snip]
> 
Previous: Junio C HamanoNext: Junio C Hamano
Message 21 of 25 in “Spring cleanup of "contrib/"”
  1. 00/11 Spring cleanup of "contrib/"Patrick Steinhardt, May 12, 2025
  2. 01/11 contrib: remove "remotes2config.sh"Patrick Steinhardt, May 12, 2025
  3. 02/11 contrib: remove "examples" directoryPatrick Steinhardt, May 12, 2025
  4. 03/11 contrib: remove remote-helper stubsPatrick Steinhardt, May 12, 2025
  5. 04/11 contrib: remove "thunderbird-patch-inline"Patrick Steinhardt, May 12, 2025
  6. Junio C HamanoMay 16, 2025
  7. Toon ClaesMay 26, 2025
  8. Junio C HamanoJun 4, 2025
  9. 05/11 contrib: remove "hooks" directoryPatrick Steinhardt, May 12, 2025
  10. 07/11 contrib: remove "persistent-https" remote helperPatrick Steinhardt, May 12, 2025
  11. 06/11 contrib: remove "mw-to-git"Patrick Steinhardt, May 12, 2025
  12. 08/11 contrib: remove "git-resurrect.sh"Patrick Steinhardt, May 12, 2025
  13. 09/11 contrib: remove "emacs" directoryPatrick Steinhardt, May 12, 2025
  14. 10/11 contrib: remove "git-new-workdir"Patrick Steinhardt, May 12, 2025
  15. Gabriel SchererSep 8, 2025
  16. Kristoffer HaugsbakkSep 8, 2025
  17. Gabriel SchererSep 8, 2025
  18. D. Ben KnobleSep 12, 2025
  19. Gabriel SchererSep 12, 2025
  20. Junio C HamanoSep 12, 2025
  21. Phillip WoodSep 12, 2025
  22. Junio C HamanoSep 12, 2025
  23. Junio C HamanoSep 8, 2025
  24. 11/11 contrib: remove some scripts in "stats" directoryPatrick Steinhardt, May 12, 2025
  25. Elijah NewrenMay 13, 2025

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.