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

Re: [PATCH] show-index: fix uninitialized hash function

From
Abhijeet Sonar <abhijeet.nkt@gmail.com>
Date
Jul 15, 2024, 10:31 UTC
Message-ID
<c61a88c0-a45f-4d8c-b9f5-bb5853362709@gmail.com>
In-Reply-To
<xmqqbk32oc7g.fsf@gitster.g>
On 12/07/24 21:05, Junio C Hamano wrote:
Show 18 quoted lines
> Abhijeet Sonar <abhijeet.nkt@gmail.com> writes:
> 
>> As stated in the docs, show-index should use SHA1 as the default hash algorithm
>> when run outsize of a repository.  However, 'the_hash_algo' is currently left
>> uninitialized if we are not in a repository and no explicit hash funciton is
>> specified, causing a crash.  Fix it by falling back to SHA1 when it is found
>> uninitialized.
>>
>> Signed-off-by: Abhijeet Sonar <abhijeet.nkt@gmail.com>
>> ---
>>  builtin/show-index.c | 3 +++
>>  1 file changed, 3 insertions(+)
> 
> Nicely described.
> 
> We'd probably want to protect this with a new test, so that
> regardless of the choice of GIT_TEST_DEFAULT_HASH, the command
> should behave as advertised.

I wrote a test which build an index file using a `hash-object | pack-objects` chain. I am not sure if its the best way to do this, I would appreciate some guidance on this.

Another way I can think of is having an index file sit along with the tests in the codebase which will be read by `show-index` instead of generating one on the fly. Thoughts?

Thanks.
Show 19 quoted lines
> 
> Having said that, I am not sure if --object-format specified on the
> command line, or picked up from the repository, makes much sense in
> the context of the command, especially for the longer term [*].  The
> command is designed to read from its standard input a byte-stream,
> which is assumed to be an .idx file of _any_ origin, so ideally it
> should be able to tell what hash the incoming data uses and use that
> hash algorithm, without being told from the command line?
> 
> But that longer-term worry has nothing to do with the validity of
> this patch (but the lack of test does).  Thanks.
> 
> [Footnote]
> 
>  * Perhaps the file format does not make it obvious what hash
>    algorithm it uses, so it may be hard to auto-detect without
>    additional code.  But if that is the case, it would be something
>    we may want to eventually fix.
> 
Previous: brian m. carlsonNext: Eric Sunshine
Message 26 of 27 in “show-index: fix uninitialized hash function”
  1. show-index: fix uninitialized hash functionAbhijeet Sonar, Jul 12, 2024
  2. Junio C HamanoJul 12, 2024
  3. show-index: fix uninitialized hash functionAbhijeet Sonar, Jul 15, 2024
  4. Re* [PATCH v2] show-index: fix uninitialized hash functionJunio C Hamano, Jul 15, 2024
  5. show-index: fix uninitialized hash functionAbhijeet Sonar, Oct 26, 2024
  6. Taylor BlauOct 28, 2024
  7. Patrick SteinhardtOct 28, 2024
  8. Taylor BlauOct 28, 2024
  9. show-index: fix uninitialized hash functionAbhijeet Sonar, Nov 1, 2024
  10. Junio C HamanoNov 2, 2024
  11. Abhijeet SonarNov 2, 2024
  12. 0/2 show-index: fix uninitialized hash functionAbhijeet Sonar, Nov 4, 2024
  13. 1/2 show-index: fix uninitialized hash functionAbhijeet Sonar, Nov 4, 2024
  14. 2/2 t5300: add test for 'show-index --object-format'Abhijeet Sonar, Nov 4, 2024
  15. Junio C HamanoNov 5, 2024
  16. 0/2 show-index: fix uninitialized hash functionAbhijeet Sonar, Nov 9, 2024
  17. 1/2 show-index: fix uninitialized hash functionAbhijeet Sonar, Nov 9, 2024
  18. 2/2 t5300: add test for 'show-index --object-format'Abhijeet Sonar, Nov 9, 2024
  19. Junio C HamanoNov 11, 2024
  20. Patrick SteinhardtDec 16, 2024
  21. Junio C HamanoDec 16, 2024
  22. Abhijeet SonarOct 29, 2024
  23. Abhijeet SonarOct 29, 2024
  24. Abhijeet SonarOct 26, 2024
  25. brian m. carlsonJul 15, 2024
  26. Abhijeet SonarJul 15, 2024
  27. Eric SunshineJul 12, 2024

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.