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

Re: [PATCH v2 1/2] list-objects-filter: teach tree:# how to handle >0

From
JTJonathan Tan <jonathantanmy@google.com>
Date
Jan 8, 2019, 23:19 UTC
Message-ID
<20190108231945.36970-1-jonathantanmy@google.com>
In-Reply-To
<54fba0d3-4b8e-1faf-4b2d-e67c1f5fbf02@comcast.net>
Show 15 quoted lines
> > Any reason for moving "case LOFS_BLOB" (and "case LOFS_BEGIN_TREE"
> > below) after LOFS_END_TREE?
> 
> I put LOFS_BLOB and after LOFS_END_TREE since that is the order in all 
> the other filter logic functions. I put LOFS_BEGIN_TREE at the end 
> (which is different from the other filter logic functions) because it's 
> usually better to put simpler things before longer or more complex 
> things. LOFS_BEGIN_TREE is much more complex and if it were not the last 
> switch section, it would tend to hide the sections that come after it.
> 
> FWIW, I consider this the coding corollary of the end-weight problem in 
> linguistics - see https://www.thoughtco.com/end-weight-grammar-1690594 - 
> this is not my original idea, but something from the book Perl Best 
> Practices, although that book only mentioned it in the context of 
> ordering clauses in single statements rather than ordering entire blocks.

OK - my thinking was that we should minimize the diff, but this reasoning makes sense to me.

Show 7 quoted lines
> > Here, filter_trees_update_omits() is
> > only ever used to remove a blob from the omits set, since once this blob
> > is encountered with include_it == true, it is marked as LOFR_MARK_SEEN
> > and will not be traversed again.
> It is possible that include_it can be false and then in a later 
> invocation it can be true. In that case, the blob will be added to the 
> set and then removed from it.
Ah...yes, you're right.
> For your reference, here is an interdiff for this particular patch after 
> applying your comments:
The interdiff looks good, thanks. All my issues are resolved.
Previous: Matthew DeVoreNext: Junio C Hamano
Message 5 of 24 in “support for filtering trees and blobs based on depth”
  1. 0/2 support for filtering trees and blobs based on depthMatthew DeVore, Dec 10, 2018
  2. 1/2 list-objects-filter: teach tree:# how to handle >0Matthew DeVore, Dec 10, 2018
  3. Jonathan TanJan 8, 2019
  4. Matthew DeVoreJan 8, 2019
  5. Jonathan TanJan 8, 2019
  6. Junio C HamanoJan 8, 2019
  7. Jonathan TanJan 8, 2019
  8. Junio C HamanoJan 8, 2019
  9. MATTHEW DEVOREJan 9, 2019
  10. 2/2 tree:<depth>: skip some trees even when collecting omitsMatthew DeVore, Dec 10, 2018
  11. Jonathan TanJan 8, 2019
  12. Jonathan TanJan 8, 2019
  13. MATTHEW DEVOREJan 9, 2019
  14. Matthew DeVoreJan 9, 2019
  15. Junio C HamanoDec 11, 2018
  16. Matthew DeVoreJan 8, 2019
  17. 0/2 support for filtering trees and blobs based on depthMatthew DeVore, Jan 9, 2019
  18. 1/2 list-objects-filter: teach tree:# how to handle >0Matthew DeVore, Jan 9, 2019
  19. 2/2 tree:<depth>: skip some trees even when collecting omitsMatthew DeVore, Jan 9, 2019
  20. Jonathan TanJan 9, 2019
  21. Junio C HamanoJan 15, 2019
  22. Junio C HamanoJan 15, 2019
  23. Matthew DeVoreJan 17, 2019
  24. Junio C HamanoJan 17, 2019

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.