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

Re: Bug when moving submodules (I think?)

From
Jens Lehmann <jens.lehmann@web.de>
Date
Dec 20, 2013, 19:13 UTC
Message-ID
<52B496EE.70204@web.de>
In-Reply-To
<20131218233146.GR17291@wanderlust>
Am 19.12.2013 00:32, schrieb fREW Schmidt:
Show 12 quoted lines
> I tried to make a script to repro this from scratch but ran into other
> issues, which may or may not be a bug.  I'll put that at the end.
> 
> To repro all you have to do is: 
> 
>  git checkout git://github.com/frioux/dotfiles
>  git reset --hard 92c85161ceec9e52b0b2d2de893ba11f49c80198
>  git mv zsh .zsh
> 
> (sha included so this email continues to be valid in the future)
> 
> You can now see that .git/index.lock has been left behind.

Thanks for the recipe, I can reproduce this crash and am working on a fix (looks like mv chokes on an empty submodule). I'll look into the problems you describe below too while doing that.

Show 29 quoted lines
>  On a
> non-fresh checkout (I'm not sure why my old checkout is special) I get
> the following error:
> 
>  git: builtin/mv.c:248: cmd_mv: Assertion `pos >= 0' failed.
> 
> I assumed this was just related to moving submodules that are in
> subdirectories, but when I do that from a fresh repo I get a different
> error.
> 
>  mkdir -p test/a test/b
>  cd test/a
>  git init
>  touch a.txt
>  git add a.txt
>  git ci -m 'initial commit'
>  cd ../b
>  git init
>  mkdir c
>  touch c/c.txt
>  git submodule add ../a c/a
>  git ci -m 'initial commit'
>  git mv c d
>  git status
> 
> And the error:
> 
>  fatal: Could not chdir to '../../../../c/a': No such file or directory
>  fatal: 'git status --porcelain' failed in submodule d/a
Previous: fREW Schmidt
Message 2 of 2 in “Bug when moving submodules (I think?)”
  1. fREW SchmidtDec 18, 2013
  2. Jens LehmannDec 20, 2013

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.