# Subject: Something like cat-file for the index?

3 messages from 2014-01-10 to 2014-01-10. Participants: Enno Weichert, Thomas Gummerer.
Thread: https://gitlist.dev/t/35632

## Enno Weichert, 2014-01-10 11:53

Subject: Subject: Something like cat-file for the index?
Message-ID: <CABtFQN6n_FKTfGt1ubkL51t8n_iJ0vcYW4ZEYLOkAsFNCq0GQw@mail.gmail.com>
URL: https://gitlist.dev/e/CABtFQN6n_FKTfGt1ubkL51t8n_iJ0vcYW4ZEYLOkAsFNCq0GQw%40mail.gmail.com

```
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?

```

## Thomas Gummerer, 2014-01-10 12:58

Subject: Re: Subject: Something like cat-file for the index?
Message-ID: <871u0g2dtn.fsf@gmail.com>
URL: https://gitlist.dev/e/871u0g2dtn.fsf%40gmail.com
In-Reply-To: <CABtFQN6n_FKTfGt1ubkL51t8n_iJ0vcYW4ZEYLOkAsFNCq0GQw@mail.gmail.com>

```

Hi,

Enno Weichert <enno.weichert@gmail.com> writes:
> 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

```

## Enno Weichert, 2014-01-10 14:27

Subject: Re: Subject: Something like cat-file for the index?
Message-ID: <CABtFQN4q9un81W3G-o7tbG3-LUSEf2YdP0e9zP84JGYu6qwOfw@mail.gmail.com>
URL: https://gitlist.dev/e/CABtFQN4q9un81W3G-o7tbG3-LUSEf2YdP0e9zP84JGYu6qwOfw%40mail.gmail.com
In-Reply-To: <871u0g2dtn.fsf@gmail.com>

```
Thank you :)

On 1/10/14, Thomas Gummerer <t.gummerer@gmail.com> wrote:
>
> Hi,
>
> Enno Weichert <enno.weichert@gmail.com> writes:
>> 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
>

```
