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

"git commit" fails due to spurious file in index

From
RIRobert Irelan <rirelan@epic.com>
Date
Mar 4, 2013, 18:15 UTC
Message-ID
<2D9BD788B02ABA478C57929170AF952B7622B5@EXCH-MBX-3.epic.com>
Hello all:

This is my first time posting to this mailing list, but it appears to me, through a Google search, that this is where you go to report what might be bugs. I'm not sure if this is a bug or not, but it is mysterious to me.

My git repository has this directory structure (I don't know if the file names are necessary or not; only the leaf directories contain files):

    $ tree -ad -I.git
    .
    └── admin_scripts
        ├── integchk
        │   ├── 2012
        │   └── 2014
        ├── jrnadmin
        │   ├── 2012
        │   └── 2014
        └── logarchiver
            ├── 2012
            └── 2014
    10 directories

The last commit in this repo was a rearrangement of the hierarchy carried out using `git mv`. Before, the directory structure went `admin_scripts/version/script_name` instead of `admin_scripts/script_name/version`.

Now I'm attempting to some new files that I've already created into the repository, so that the repo now looks like this (`setup/2012` contains files, while `setup/2014` is empty):

    $ tree -ad -I.git
    .
    └── admin_scripts
        ├── integchk
        │   ├── 2012
        │   └── 2014
        ├── jrnadmin
        │   ├── 2012
        │   └── 2014
        ├── logarchiver
        │   ├── 2012
        │   └── 2014
        └── setup
            ├── 2012
            └── 2014
    13 directories

Now, when I run 'git add admin_script/setup' to add the new directory to the repo and then try to commit, I receive the following message:

    $ git commit
    mv: cannot stat `admin_scripts/setup/2012/setup': No such file or directory

The error message is correct in that `admin_scripts/setup/2012/setup` does not exist, either as a file or as a directory. However, I'm not attempting to add this path at all. Using grep, I've confirmed that the only place this path appears in any of my files is in `.git/index`.

Also, I can commit to other places in the repository without triggering any error. In addition, I can clone the repository to other locations and apply the problematic commit manually. This is how I've worked around the problem for now, and I've moved the repository that's exhibiting problems to another directory and started work on the cloned copy.

Why is this spurious path appearing in the index? Is it a bug, or a symptom that my repo has been somehow corrupted? Any help would be greatly appreciated.

Robert Irelan | Server Systems | Epic | (608) 271-9000
Next: Thomas Rast
Message 1 of 5 in “"git commit" fails due to spurious file in index”
  1. Robert IrelanMar 4, 2013
  2. Thomas RastMar 4, 2013
  3. Robert IrelanMar 5, 2013
  4. Torsten BögershausenMar 5, 2013
  5. Robert IrelanMar 5, 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.