Re: Subject: Something like cat-file for the index?
Hi,
Enno Weichert <enno.weichert@gmail.com> writes:
Show 12 quoted lines
> Hi,
>
> I'd like to have a more technical look into the index file and what/how it
> stores data; call it educational spelunking.
>
> I know the index-format.txt but I'd really like to save me the work to
> implement a pretty-printed output based on it.
> I know ls-files but that's obviously not the whole thing.
>
> So: is there something like cat-file, that basically gives me a readable
> version of the information (version number and all...) in the index already
> implemented or did nobody care until now?
You can use `git ls-files --debug` and `git ls-files --stage` to get all the information about the files in the index. The meaning of the flags is the only thing that's not shown by the command, and I don't think there is a tool yet to examine them.
The undocumented --resolve-undo flag to git ls-files shows you the resolve undo data that is stored in the index.
If you build git yourself, the `test-dump-cache-tree` helper can be used to show all information about the cache-tree that is stored in the index.
The you can get the version of the index either by using `test-index-version` when you build git yourself, or by using `file .git/index`, which in addition will give you the number of entries that are in the index.
-- Thomas