Re: Bug? file at the same time being deleted and not registered

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 24 May 2010, Jeff King wrote:

On Mon, May 24, 2010 at 10:02:14AM +0200, Tomas Pospisek wrote:

Can you try running the output of "git diff-files --name-only" and "git
ls-files -o" through xxd or something that would show individual bytes?
My suspicion is that the "a_file" shown in each may not be bit-for-bit
identical.

 $ git diff-files --name-only
 $ # no output at all

Hrm, I had originally thought that your "git status" output showed
a_file as deleted in the working tree, which is why I suggested
diff-files. But looking at your output again, I see that it is scheduled
for deletion. In other words, the index entry has been removed entirely,
as if "git rm --cached a_file" had been issued.

So I think I was on the wrong track with the filename-munging, then.
Sorry to lead you astray. But the problem is that your index is missing
or bogus, which is even weirder.

Looking at your strace dump, I see it writing out the index (it writes
to index.lock and then renames it into place). Can you take a look at
your .git/index file? It should be 104 bytes and look something like:

 $ xxd .git/index
 0000000: 4449 5243 0000 0002 0000 0001 4bfa 367d  DIRC........K.6}
 0000010: 0000 0000 4bfa 367d 0000 0000 0000 0900  ....K.6}........
 0000020: 0099 801d 0000 81a4 0000 03e8 0000 03e8  ................
 0000030: 0000 0000 e69d e29b b2d1 d643 4b8b 29ae  ...........CK.).
 0000040: 775a d8c2 e48c 5391 0006 615f 6669 6c65  wZ....S...a_file
 0000050: 0000 0000 1f80 d668 c07b 5955 8678 4360  .......h.{YU.xC`
 0000060: 8215 6238 89be 9b4d

It won't match byte-for-byte because there is stat information in there,
but you should see a_file.

If it's empty or 32 bytes, then that explains what status is reporting
(but the question still remains how we got into that state).

There's no .git/index file there:

 $ ls -l .git/
 total 36
 drwxr-xr-x 2 tpo tpo 4096 2010-05-23 21:36 branches
 -rw-r--r-- 1 tpo tpo    4 2010-05-23 21:36 COMMIT_EDITMSG
 -rw-r--r-- 1 tpo tpo   73 2010-05-23 21:36 description
 -rw-r--r-- 1 tpo tpo   23 2010-05-23 21:36 HEAD
 drwxr-xr-x 2 tpo tpo 4096 2010-05-23 21:36 hooks
 drwxr-xr-x 2 tpo tpo 4096 2010-05-23 21:36 info
 drwxr-xr-x 3 tpo tpo 4096 2010-05-23 21:36 logs
 drwxr-xr-x 7 tpo tpo 4096 2010-05-24 09:26 objects
 drwxr-xr-x 4 tpo tpo 4096 2010-05-23 21:36 refs

*t
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]