Re: [PATCH v2 1/2] list-objects-filter: teach tree:# how to handle >0
- From
- Jonathan 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.