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

Re: git push requires a worktree?

From
Stefan Beller <sbeller@google.com>
Date
May 30, 2018, 17:32 UTC
Message-ID
<CAGZ79kaT2KM0cZOSEXMpnr53TxUdH=gSbyQaGdBw1wEGnkK2Kw@mail.gmail.com>
In-Reply-To
<1527700562.4289.87.camel@novalis.org>
On Wed, May 30, 2018 at 10:16 AM, David Turner <novalis@novalis.org> wrote:
> I am doing a funny thing where I do git -C .git/modules/morx push
> fleem:fleem.
I can do that, too. :)
> This is failing in the case where I have a sparse
> checkout and the worktree directory "morx" (which is where
> .git/modules/morx/config's core.worktree points) doesn't exist.
I could reproduce that without sparseness by removing that directory.

Before removing the dir in the worktree, the push worked fine; after removing I got a

    fatal: cannot chdir to '../../../entropy': No such file or directory
> I don't know why git push cares about the worktree -- it'll happily
> work in a bare repo with no worktree at all, or if the worktree is an
> unrelated git repo or whatever.
I think we should unset the worktree config for submodules that are
not checked out. I confirm that running
  git config --unset -f .git/modules/<name>/config core.worktree
will have the push working as expected.
So I think it is not so much a bug in push, but there is
* a bug in the submodule data design: Why do we need to store
  core.worktree if there is no worktree? (I'll research if there are
  historic artefacts that would suggest we need that)
* the setup code for commands that do not have the
  NEED_WORK_TREE flag in git.c
> I can work around it, but if there's a bug, I think we should fix it.
I think so, too.
Previous: David TurnerNext: Duy Nguyen
Message 2 of 3 in “git push requires a worktree?”
  1. David TurnerMay 30, 2018
  2. Stefan BellerMay 30, 2018
  3. Duy NguyenMay 30, 2018

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.