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

Bug when moving submodules (I think?)

From
fREW Schmidt <frioux@gmail.com>
Date
Dec 18, 2013, 23:32 UTC
Message-ID
<20131218233146.GR17291@wanderlust>

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. 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

I am using git v1.8.5.1 built from source on the latest ubuntu. If there is anything else I can do to help repro this please do not hesitate to ask.

-- 
fREW Schmidt
http://blog.afoolishmanifesto.com
Next: Jens Lehmann
Message 1 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.