git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* "git commit" fails due to spurious file in index
@ 2013-03-04 18:15 Robert Irelan
  2013-03-04 20:58 ` Thomas Rast
  2013-03-05 10:40 ` Torsten Bögershausen
  0 siblings, 2 replies; 5+ messages in thread
From: Robert Irelan @ 2013-03-04 18:15 UTC (permalink / raw)
  To: git@vger.kernel.org

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2013-03-05 15:31 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-03-04 18:15 "git commit" fails due to spurious file in index Robert Irelan
2013-03-04 20:58 ` Thomas Rast
2013-03-05 15:30   ` Robert Irelan
2013-03-05 10:40 ` Torsten Bögershausen
2013-03-05 15:30   ` Robert Irelan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).