git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH/RFC v3 04/13] Add documentation of the index-v5 file format

From
Junio C Hamano <gitster@pobox.com>
Date
Aug 9, 2012, 23:13 UTC
Message-ID
<7vfw7vmzfb.fsf@alter.siamese.dyndns.org>
In-Reply-To
<7vobmjn0wv.fsf@alter.siamese.dyndns.org>
Junio C Hamano <gitster@pobox.com> writes:
Show 13 quoted lines
>> +== Design explanations
>> + ...
>> +[3] The data of the cache-tree extension and the resolve undo
>> +    extension is now part of the index itself, but if other extensions
>> +    come up in the future, there is no need to change the index, they
>> +    can simply be added at the end.
>
> Interesting.  When we added extensions, we said that there is no
> need to change the index to add new features, they can simply be
> added at the end.  Perhaps the file offset table can be added as an
> extension to v2 to give us the same bisectability, allowing us a
> single entry in-place replacementability, without defining an
> entirely different format?

Just to avoid wasting people's time, in case they try to respond to this part which was tongue-in-cheek.

There is a valid technical reason why the above cannot be done with the original index format and why a new extension does not make sense. There is no quick way to locate the extensions section in the file without reading all the entries first, so by the time you know where the extensions are, you already know all the paths, and have enough information to build a table necessary to do the bisection without a separate data in a new extension.

Previous: Thomas GummererNext: Thomas Gummerer
Message 17 of 34 in “Introduce index file format version 5”
  1. 0/13 Introduce index file format version 5Thomas Gummerer, Aug 8, 2012
  2. 01/13 Move index v2 specific functions to their own fileThomas Gummerer, Aug 8, 2012
  3. Nguyen Thai Ngoc DuyAug 8, 2012
  4. Thomas GummererAug 8, 2012
  5. Junio C HamanoAug 9, 2012
  6. Thomas GummererAug 9, 2012
  7. Junio C HamanoAug 10, 2012
  8. Nguyen Thai Ngoc DuyAug 10, 2012
  9. Thomas RastAug 10, 2012
  10. Junio C HamanoAug 10, 2012
  11. Thomas GummererAug 10, 2012
  12. 02/13 t2104: Don't fail for index versions other than [23]Thomas Gummerer, Aug 8, 2012
  13. 03/13 t3700: Avoid interfering with the racy codeThomas Gummerer, Aug 8, 2012
  14. 04/13 Add documentation of the index-v5 file formatThomas Gummerer, Aug 8, 2012
  15. Junio C HamanoAug 9, 2012
  16. Thomas GummererAug 9, 2012
  17. Junio C HamanoAug 9, 2012
  18. 05/13 Make in-memory format aware of stat_crcThomas Gummerer, Aug 8, 2012
  19. 06/13 Read index-v5Thomas Gummerer, Aug 8, 2012
  20. Nguyen Thai Ngoc DuyAug 8, 2012
  21. Johannes SixtAug 8, 2012
  22. Junio C HamanoAug 8, 2012
  23. Thomas GummererAug 8, 2012
  24. 07/13 Read resolve-undo dataThomas Gummerer, Aug 8, 2012
  25. Junio C HamanoAug 9, 2012
  26. Thomas GummererAug 9, 2012
  27. Junio C HamanoAug 10, 2012
  28. Thomas GummererAug 10, 2012
  29. 08/13 Read cache-tree in index-v5Thomas Gummerer, Aug 8, 2012
  30. 09/13 Write index-v5Thomas Gummerer, Aug 8, 2012
  31. 10/13 Write index-v5 cache-tree dataThomas Gummerer, Aug 8, 2012
  32. 11/13 Write resolve-undo data for index-v5Thomas Gummerer, Aug 8, 2012
  33. 12/13 update-index.c: always rewrite the index when index-version is givenThomas Gummerer, Aug 8, 2012
  34. 13/13 p0002-index.sh: add perf test for the index formatsThomas Gummerer, Aug 8, 2012

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.