diff options
| author | Kevin Lyles <klyles+github@epic.com> | 2024-09-03 22:06:47 +0000 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2024-09-04 09:19:04 -0700 |
| commit | e65b0c7c36683a8634b345af1cc3dc7676b3904a (patch) | |
| tree | 5f215c26474055ee3a924f9f3e42e02ea31ba6a6 /fetch-pack.c | |
| parent | 68c57590d36a47eee57d9d2e73de213f74c044c9 (diff) | |
builtin/cat-file: mark 'git cat-file' sparse-index compatible
This change affects how 'git cat-file' works with the index when
specifying an object with the ":<path>" syntax (which will give file
contents from the index).
'git cat-file' expands a sparse index to a full index any time contents
are requested from the index by specifying an object with the ":<path>"
syntax. This is true even when the requested file is part of the sparse
index, and results in much slower 'git cat-file' operations when working
within the sparse index.
Mark 'git cat-file' as not needing a full index, so that you only pay
the cost of expanding the sparse index to a full index when you request
a file outside of the sparse index.
Add tests to ensure both that:
- 'git cat-file' returns the correct file contents whether or not the
file is in the sparse index
- 'git cat-file' expands to the full index any time you request
something outside of the sparse index
Signed-off-by: Kevin Lyles <klyles+github@epic.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'fetch-pack.c')
0 files changed, 0 insertions, 0 deletions
