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

Re: [RFC PATCH 1/6] leak fix: cache_put_path

From
Calvin Wan <calvinwan@google.com>
Date
Feb 14, 2023, 21:39 UTC
Message-ID
<CAFySSZD9BZA9Qa5Z5KQymkowB9YtasUnNMehtA1feg43UsfwFw@mail.gmail.com>
In-Reply-To
<xmqqa61g550j.fsf@gitster.g>
On Tue, Feb 14, 2023 at 1:08 PM Junio C Hamano <gitster@pobox.com> wrote:
Show 23 quoted lines
>
> Calvin Wan <calvinwan@google.com> writes:
>
> >> Assuming that the "last one wins" is the sensible thing to do, the
> >> change proposed by this patch does seem reasonable way to plug the
> >> leak.
> >
> > Swapping this functionality to "first one wins" or erroring out breaks many
> > tests that are setup improperly. If we continue with the "last one wins"
> > precedence, then a warning and documentation should be added. We
> > definitely should not swap it to "first one wins" -- one doesn't make sense
> > than the other, but "last one wins" at least has precedence. If we choose
> > to error out during config parsing when duplicated submodule paths are
> > detected, then those respective tests will also need to be updated.
>
> These tests expect the same submodule to be registered at different
> paths?  Is that a set-up that is expected to happen commonly in real
> life?  If so, yes, the current behaviour needs to be kept (with some
> documentation to explain why it makes sense and how it is usefully
> used).  If not, these tests may need to be updated to test scenarios
> that are closer to the real life, I guess, plus an additional test
> that makes sure such a .gitmodules file is diagnosed as an error
> with the code to do that some time in the future.

If you look at t4027-diff-submodule.sh:git diff HEAD with dirty submodule (work tree, refs match) [.gitmodules], it's two different submodules pointing to the same path (or more precisely a second submodule is manually added to .gitmodules with a path to the first submodule). This is a setup that is not expected to happen commonly in real life so updating this test makes sense to me.

Previous: Junio C HamanoNext: Junio C Hamano
Message 6 of 40 in “add: block invalid submodules”
  1. 0/6 add: block invalid submodulesCalvin Wan, Feb 13, 2023
  2. 1/6 leak fix: cache_put_pathCalvin Wan, Feb 13, 2023
  3. Junio C HamanoFeb 13, 2023
  4. Calvin WanFeb 14, 2023
  5. Junio C HamanoFeb 14, 2023
  6. Calvin WanFeb 14, 2023
  7. Junio C HamanoFeb 14, 2023
  8. 3/6 tests: Use `git submodule add` instead of `git add`Calvin Wan, Feb 13, 2023
  9. 4/6 tests: use `git submodule add` and fix expected diffsCalvin Wan, Feb 13, 2023
  10. Junio C HamanoFeb 13, 2023
  11. Junio C HamanoFeb 13, 2023
  12. 5/6 tests: use `git submodule add` and fix expected statusCalvin Wan, Feb 13, 2023
  13. 6/6 add: reject nested repositoriesCalvin Wan, Feb 13, 2023
  14. Jeff KingFeb 13, 2023
  15. Junio C HamanoFeb 14, 2023
  16. Jeff KingFeb 14, 2023
  17. Junio C HamanoFeb 14, 2023
  18. Calvin WanFeb 14, 2023
  19. 2/6 t4041, t4060: modernize test styleCalvin Wan, Feb 13, 2023
  20. Junio C HamanoFeb 13, 2023
  21. Calvin WanFeb 14, 2023
  22. 0/6 add: block invalid submodulesCalvin Wan, Feb 28, 2023
  23. 1/6 t4041, t4060: modernize test styleCalvin Wan, Feb 28, 2023
  24. Glen ChooMar 6, 2023
  25. Calvin WanMar 6, 2023
  26. 2/6 tests: Use `git submodule add` instead of `git add`Calvin Wan, Feb 28, 2023
  27. Junio C HamanoFeb 28, 2023
  28. Calvin WanMar 3, 2023
  29. Glen ChooMar 6, 2023
  30. 3/6 tests: use `git submodule add` and fix expected diffsCalvin Wan, Feb 28, 2023
  31. Glen ChooMar 6, 2023
  32. Junio C HamanoMar 6, 2023
  33. 4/6 tests: use `git submodule add` and fix expected statusCalvin Wan, Feb 28, 2023
  34. Glen ChooMar 7, 2023
  35. 5/6 tests: remove duplicate .gitmodules pathCalvin Wan, Feb 28, 2023
  36. Junio C HamanoFeb 28, 2023
  37. Calvin WanMar 2, 2023
  38. Glen ChooMar 7, 2023
  39. 6/6 add: reject nested repositoriesCalvin Wan, Feb 28, 2023
  40. Glen ChooMar 7, 2023

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.