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

Re: [PATCH 1/1] t1403: prefer test_path_exists helper function

From
Junio C Hamano <gitster@pobox.com>
Date
Mar 4, 2025, 18:30 UTC
Message-ID
<xmqq1pvcps2f.fsf@gitster.g>
In-Reply-To
<CAPig+cS3QZhZ=W2WfM3T3EngaMOSV37KH4Pqp78QHzOAODtenA@mail.gmail.com>
Eric Sunshine <sunshine@sunshineco.com> writes:
Show 15 quoted lines
> On Tue, Mar 4, 2025 at 12:49 PM Junio C Hamano <gitster@pobox.com> wrote:
>> Eric Sunshine <sunshine@sunshineco.com> writes:
>> > On Tue, Mar 4, 2025 at 7:05 AM Junio C Hamano <gitster@pobox.com> wrote:
>> >> Mahendra Dani <danimahendra0904@gmail.com> writes:
>> >> >> >       remove_object() {
>> >> >> >               file=$(sha1_file "$*") &&
>> >> >> > -             test -e "$file" &&
>> >> >> > +             test_path_exists "$file" &&
>> >> >> >               rm -f "$file"
>> >> >> >       } &&
> ...
> Yes, I understood the implication of your suggestion, but as mentioned
> above, it's not clear (at least to me) why `test -e "$file"` is there
> at all since this test is not about checking functionality of `git
> commit`.

Yup, I do not see much point in "test -e" there in the original, and it does not change even if it were "test -f".

I would understand if the author wanted to have a "slightly more intelligent 'rm -f' that knows where a loose object is located, and removes the named object no matter what", but if the objective were to ensure the object is missing, I wouldn't have written it to return non-zero when the object were missing in the first place.

And if the purpose of the function is to catch unexpected cases, such as "the loose object file should be there but isn't" and "we located the file but we failed to remove it", then it shouldn't have the 'test -e' guard and 'rm' shouldn't have been used with '-f'.

So, I agree with you that the original is already iffy.
Thanks.
Previous: Eric SunshineNext: Mahendra Dani
Message 16 of 31 in “t1403: prefer test_path_exists helper function”
  1. Mahendra DaniMar 1, 2025
  2. 1/1 t1403: prefer test_path_exists helper functionMahendra Dani, Mar 1, 2025
  3. Patrick SteinhardtMar 3, 2025
  4. Mahendra DaniMar 4, 2025
  5. Junio C HamanoMar 4, 2025
  6. Mahendra DaniMar 4, 2025
  7. Junio C HamanoMar 4, 2025
  8. Mahendra DaniMar 4, 2025
  9. Junio C HamanoMar 4, 2025
  10. Mahendra DaniMar 4, 2025
  11. Junio C HamanoMar 4, 2025
  12. Eric SunshineMar 4, 2025
  13. Junio C HamanoMar 4, 2025
  14. Eric SunshineMar 4, 2025
  15. Eric SunshineMar 4, 2025
  16. Junio C HamanoMar 4, 2025
  17. [GSOC][PATCH v2 0/1] t1403: verify path exists and is a fileMahendra Dani, Mar 4, 2025
  18. [GSOC][PATCH v3 0/1] t1403: verify path exists and is a fileMahendra Dani, Mar 4, 2025
  19. 1/1 t1403: verify that path exists and is a fileMahendra Dani, Mar 4, 2025
  20. Junio C HamanoMar 4, 2025
  21. Junio C HamanoMar 4, 2025
  22. Mahendra DaniMar 4, 2025
  23. 0/1 t1403: verify path exists and is a fileMahendra Dani, Mar 4, 2025
  24. 0/1 t1403: verify path exists and is a fileMahendra Dani, Mar 4, 2025
  25. 1/1 t1403: verify that path exists and is a fileMahendra Dani, Mar 4, 2025
  26. Junio C HamanoMar 4, 2025
  27. Mahendra DaniMar 4, 2025
  28. Junio C HamanoMar 4, 2025
  29. 1/1 t1403: verify that path exists and is a fileMahendra Dani, Mar 4, 2025
  30. Patrick SteinhardtMar 4, 2025
  31. Mahendra DaniMar 4, 2025

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.