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

Re: [PATCH v4 0/5] Fixes for Documentation/MyFirstObjectWalk.txt

From
Kyle Lippincott <spectral@google.com>
Date
Mar 27, 2024, 01:04 UTC
Message-ID
<ezbbu7ibxxrzogb4w46qvqgtwowtaf7e5o5y5dcb53gq7ko33c@g6eror27glzn>
In-Reply-To
<20240326130902.7111-1-dirk@gouders.net>
On Tue, Mar 26, 2024 at 02:08:35PM +0100, Dirk Gouders wrote:
Show 48 quoted lines
> The 4th round of this series.
> 
> Chances are that I just waste your time with my attemt [4/5].
> My appologies in advance, should this be the case.
> 
> Recently, there was a discussion [1] on the groff mailing list and I
> guess I couldn't resist to try to practice what I read in the linked
> resources ;-)
> 
> [1] https://lists.gnu.org/archive/html/groff/2024-03/msg00014.html
> 
> Could be that the remaining controversal part of [4/5] should just be
> left untouched, because it is consuming so much time -- I summarized
> all those versions, so that all incarnations can be compared in one
> view:
> 
> * Original:
> 
> Asking `traverse_commit_list_filtered()` to populate the `omitted`
> list means that our object walk does not perform any better than an
> unfiltered object walk; all reachable objects are walked in order to
> populate the list.
> 
> * v3:
> 
> Note that this means that our object walk will not perform any better
> than an unfiltered object walk; all reachable objects are walked in
> order to populate the list.
> 
> * Junio's suggestion (with minor rearrangement):
> 
> Note that our object walk with this function will not perform any
> better than the previous unfiltered walk, because all reachable
> objects need to be walked in order to populate the list of filtered
> objects.
> 
> * Kyle's suggestion:
> 
> Note that requesting the list of filtered objects may have performance
> implications; all reachable objects will be visited in order to
> populate the list of filtered objects.
> 
> * My new attempt (v4):
> 
> This list of filtered objects may have performance implications,
> however, because despite filtering objects, the possibly much larger
> set of all reachable objects must be processed in order to populate
> that list.

I agree with the issues Junio raised on this phrasing, and trust in Junio's judgement to get to a clear phrasing :) I'll be unresponsive to email for at least the next two weeks, so please don't block awaiting my response on any future rerolls.

Show 76 quoted lines
> 
> --
> Changes in v4:
> * Used the proper `git show` for references in [1/5] and [3/5]
> * Another attempt to write clear speach in [4/5]
> 
> Changes in v3:
> * Reword the description in [4/5]
> * Add a missing slash in [5/5]
> 
> Changes in v2:
> * Added Emily to Cc in the hope for a review
> * Remove superfluous tags from [1/5] and [3/5]
> * Replace bashism `|&` by `2>&1 |` in [5/5]
> --
> Dirk Gouders (5):
>   MyFirstObjectWalk: use additional arg in config_fn_t
>   MyFirstObjectWalk: fix misspelled "builtins/"
>   MyFirstObjectWalk: fix filtered object walk
>   MyFirstObjectWalk: fix description for counting omitted objects
>   MyFirstObjectWalk: add stderr to pipe processing
> 
>  Documentation/MyFirstObjectWalk.txt | 37 ++++++++++++++++-------------
>  1 file changed, 21 insertions(+), 16 deletions(-)
> 
> Range-diff against v3:
> 1:  0eeb4b78ac ! 1:  102cbc54c4 MyFirstObjectWalk: use additional arg in config_fn_t
>     @@ Metadata
>       ## Commit message ##
>          MyFirstObjectWalk: use additional arg in config_fn_t
>      
>     -    Commit a4e7e317 (config: add ctx arg to config_fn_t) added a fourth
>     -    argument to config_fn_t but did not change relevant function calls
>     -    in Documentation/MyFirstObjectWalk.txt.
>     +    Commit a4e7e317f8 (config: add ctx arg to config_fn_t, 2023-06-28)
>     +    added a fourth argument to config_fn_t but did not change relevant
>     +    function calls in Documentation/MyFirstObjectWalk.txt.
>      
>          Fix those calls and the example git_walken_config() to use
>          that additional argument.
> 2:  3122ae2472 = 2:  5fb7953f31 MyFirstObjectWalk: fix misspelled "builtins/"
> 3:  f21348ab80 ! 3:  b88518df0b MyFirstObjectWalk: fix filtered object walk
>     @@ Metadata
>       ## Commit message ##
>          MyFirstObjectWalk: fix filtered object walk
>      
>     -    Commit f0d2f849 (MyFirstObjectWalk: update recommended usage)
>     -    changed a call of parse_list_objects_filter() in a way that
>     -    probably never worked: parse_list_objects_filter() always needed a
>     -    pointer as its first argument.
>     +    Commit f0d2f84919 (MyFirstObjectWalk: update recommended usage,
>     +    2022-03-09) changed a call of parse_list_objects_filter() in a way
>     +    that probably never worked: parse_list_objects_filter() always needed
>     +    a pointer as its first argument.
>      
>          Fix this by removing the CALLOC_ARRAY and passing the address of
>          rev->filter to parse_list_objects_filter() in accordance to
> 4:  cfa4b9ce50 ! 4:  11510630af MyFirstObjectWalk: fix description for counting omitted objects
>     @@ Documentation/MyFirstObjectWalk.txt: points to the same tree object as its grand
>      -reachable objects are walked in order to populate the list.
>      +filter, like with `git log --filter=<spec> --filter-print-omitted`. To do this,
>      +change `traverse_commit_list()` to `traverse_commit_list_filtered()`, which is
>     -+able to populate an `omitted` list. Note that this means that our object walk
>     -+will not perform any better than an unfiltered object walk; all reachable
>     -+objects are walked in order to populate the list.
>     ++able to populate an `omitted` list.  This list of filtered objects may have
>     ++performance implications, however, because despite filtering objects, the possibly
>     ++much larger set of all reachable objects must be processed in order to
>     ++populate that list.
>       
>       First, add the `struct oidset` and related items we will use to iterate it:
>       
> 5:  c571abb49d = 5:  8920313ee2 MyFirstObjectWalk: add stderr to pipe processing
> -- 
> 2.43.0
> 
Previous: Dirk GoudersNext: Dirk Gouders
Message 33 of 49 in “Fixes for Documentation/MyFirstObjectWalk.txt”
  1. 0/5 Fixes for Documentation/MyFirstObjectWalk.txtDirk Gouders, Mar 19, 2024
  2. 1/5 MyFirstObjectWalk: use additional arg in config_fn_tDirk Gouders, Mar 19, 2024
  3. Kyle LippincottMar 23, 2024
  4. 2/5 MyFirstObjectWalk: fix misspelled "builtins/"Dirk Gouders, Mar 19, 2024
  5. 3/5 MyFirstObjectWalk: fix filtered object walkDirk Gouders, Mar 19, 2024
  6. 4/5 MyFirstObjectWalk: fix description for counting omitted objectsDirk Gouders, Mar 19, 2024
  7. Kyle LippincottMar 23, 2024
  8. Dirk GoudersMar 23, 2024
  9. 5/5 MyFirstObjectWalk: add stderr to pipe processingDirk Gouders, Mar 19, 2024
  10. Kyle LippincottMar 23, 2024
  11. Dirk GoudersMar 23, 2024
  12. Kyle LippincottMar 23, 2024
  13. Dirk GoudersMar 23, 2024
  14. Junio C HamanoMar 24, 2024
  15. 0/5 Fixes for Documentation/MyFirstObjectWalk.txtDirk Gouders, Mar 25, 2024
  16. 2/5 MyFirstObjectWalk: fix misspelled "builtins/"Dirk Gouders, Mar 25, 2024
  17. 3/5 MyFirstObjectWalk: fix filtered object walkDirk Gouders, Mar 25, 2024
  18. 4/5 MyFirstObjectWalk: fix description for counting omitted objectsDirk Gouders, Mar 25, 2024
  19. Junio C HamanoMar 25, 2024
  20. Dirk GoudersMar 25, 2024
  21. Junio C HamanoMar 25, 2024
  22. Kyle LippincottMar 25, 2024
  23. 5/5 MyFirstObjectWalk: add stderr to pipe processingDirk Gouders, Mar 25, 2024
  24. 1/5 MyFirstObjectWalk: use additional arg in config_fn_tDirk Gouders, Mar 25, 2024
  25. Junio C HamanoMar 25, 2024
  26. Dirk GoudersMar 25, 2024
  27. Kyle LippincottMar 25, 2024
  28. Dirk GoudersMar 25, 2024
  29. Junio C HamanoMar 25, 2024
  30. Kyle LippincottMar 25, 2024
  31. Dirk GoudersMar 25, 2024
  32. 0/5 Fixes for Documentation/MyFirstObjectWalk.txtDirk Gouders, Mar 26, 2024
  33. Kyle LippincottMar 27, 2024
  34. Dirk GoudersMar 27, 2024
  35. 0/5 Fixes for Documentation/MyFirstObjectWalk.txtDirk Gouders, Mar 27, 2024
  36. 1/5 MyFirstObjectWalk: use additional arg in config_fn_tDirk Gouders, Mar 27, 2024
  37. 2/5 MyFirstObjectWalk: fix misspelled "builtins/"Dirk Gouders, Mar 27, 2024
  38. 3/5 MyFirstObjectWalk: fix filtered object walkDirk Gouders, Mar 27, 2024
  39. 4/5 MyFirstObjectWalk: fix description for counting omitted objectsDirk Gouders, Mar 27, 2024
  40. 5/5 MyFirstObjectWalk: add stderr to pipe processingDirk Gouders, Mar 27, 2024
  41. 1/5 MyFirstObjectWalk: use additional arg in config_fn_tDirk Gouders, Mar 26, 2024
  42. 2/5 MyFirstObjectWalk: fix misspelled "builtins/"Dirk Gouders, Mar 26, 2024
  43. 3/5 MyFirstObjectWalk: fix filtered object walkDirk Gouders, Mar 26, 2024
  44. 4/5 MyFirstObjectWalk: fix description for counting omitted objectsDirk Gouders, Mar 26, 2024
  45. Junio C HamanoMar 26, 2024
  46. Dirk GoudersMar 26, 2024
  47. Junio C HamanoMar 26, 2024
  48. Dirk GoudersMar 27, 2024
  49. 5/5 MyFirstObjectWalk: add stderr to pipe processingDirk Gouders, Mar 26, 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.