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

Re: fatal: ... is already checked out at ...

From
Eric Sunshine <sunshine@sunshineco.com>
Date
Apr 4, 2019, 08:30 UTC
Message-ID
<CAPig+cSqH44wWRiESm=UA1k9V6S_jmF-hyQp34XaUJuZWQ1aYg@mail.gmail.com>
In-Reply-To
<CAG2YSPzAiJW1tH7xm9bqh00VYZrpFS4RQLZ4HK7aWoPm2RxD0g@mail.gmail.com>

On Wed, Apr 3, 2019 at 6:15 PM Mark Kharitonov <mark.kharitonov@gmail.com> wrote:

Show 18 quoted lines
> C:\Dayforce\56 [release/r-856 ≡]> git --version
> git version 2.18.0.windows.1
> C:\Dayforce\56 [release/r-856 ≡]> git worktree list
> [...]
> C:/Dayforce/56     f9c36d3a2b [release/r-856]
> C:/Dayforce/56     f9c36d3a2b [release/r-856]
>
> Item #1 - how come I have two instances of release/r-856 in the git
> worktree list output?
>
> C:\Dayforce\56 [release/r-856 ≡]> git co onboarding/r-856/james-config
> Switched to branch 'onboarding/r-856/james-config'
> Your branch is up to date with 'origin/onboarding/r-856/james-config'.
> C:\Dayforce\56 [onboarding/r-856/james-config ≡]> git co release/r-856
> fatal: 'release/r-856' is already checked out at 'C:/Dayforce/56'
>
> Item #2 - why cannot I checkout release/r-856, if I am already in the
> right working tree? I suppose it is connected to item #1

You probably hit the bug reported in [1], which was fixed by [2] which made it into Git 2.20.0. Specifically, prior to 2.20.0, you could get invalid duplicate worktree entries like this:

    $ git worktree add foo bar
    $ rm -rf foo
    $ git worktree add foo bar
    $ git worktree list
    ...
    foo  deadbeef [bar]
    foo  deadbeef [bar]

If you don't have any changes in C:/Dayforce/56, an easy way to recover from the situation is to blast the directory, prune the worktree list, and re-create:

    $ rm -rf C:/Dayforce/56
    $ git worktree prune -v
    $ git worktree list # just to verify that duplicate entries are gone
    $ git worktree add C:/Dayforce/56 release/r-856

[1]: https://public-inbox.org/git/20180821193556.GA859@sigill.intra.peff.net/ [2]: https://public-inbox.org/git/20180828212026.21989-6-sunshine@sunshineco.com/

Previous: Mark Kharitonov
Message 2 of 2 in “fatal: ... is already checked out at ...”
  1. Mark KharitonovApr 3, 2019
  2. Eric SunshineApr 4, 2019

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.