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

Re: 'git rev-parse --show-toplevel' errors out with per-worktree configs

From
CMClement Moyroud <clement.moyroud@gmail.com>
Date
Jul 14, 2020, 21:34 UTC
Message-ID
<CABXAcUx9ubCi485xoawSERH4pEjAFJcfGbdNiRL7KkwAmFrMsw@mail.gmail.com>
In-Reply-To
<CABXAcUzvZgHwsfL8VaevnDeyyce_5sWtd2istA55CgnzFE1Z6A@mail.gmail.com>
Show 22 quoted lines
> > IOW, this works:
> > git clone <url> non-bare
> > (cd non-bare && git worktree add -b master2 ../wtree1 master)
> > (cd wtree1 && git rev-parse --show-toplevel)
> >
> > This does not:
> > git clone -c extensions.worktreeConfig=true <url> bare.git
> > (cd bare.git && git worktree add -b master2 ../wtree2 master)
> > (cd wtree2 && git rev-parse --show-toplevel)
> >
>
> Sorry, I mixed up my examples.
>
> This works:
> git clone -c extensions.worktreeConfig=true <url> non-bare
> (cd non-bare && git worktree add -b master2 ../wtree1 master)
> (cd wtree1 && git rev-parse --show-toplevel)
>
> This does not:
> git clone -c extensions.worktreeConfig=true --mirror <url> bare.git
> (cd bare.git && git worktree add -b master2 ../wtree2 master)
> (cd wtree2 && git rev-parse --show-toplevel)

OK, I figured it out by looking at environment.c. The issue is that the base mirror is bare, but the worktree isn't. This makes it work: (cd wtree2 && git config --worktree core.bare true)

This is confusing - should this be set automatically, or referenced more clearly in the 'Configuration File' section of the git-worktree doc?

Thanks,
Clément
Previous: Clement Moyroud
Message 3 of 3 in “'git rev-parse --show-toplevel' errors out with per-worktree configs”
  1. Clement MoyroudJul 14, 2020
  2. Clement MoyroudJul 14, 2020
  3. Clement MoyroudJul 14, 2020

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.