The fifth round with the correction that a list itself cannot have performance implications -- asking for one may have. --- Changes in v5: * Rephrase implications that asking for an `omitted` list may have in [4/5] 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 v4: 1: 2501fea789 = 1: 292ae67548 MyFirstObjectWalk: use additional arg in config_fn_t 2: 6b336e15d6 = 2: 99284db8c1 MyFirstObjectWalk: fix misspelled "builtins/" 3: 83034594e2 = 3: e1b4a4c996 MyFirstObjectWalk: fix filtered object walk 4: f23ff9fd1b ! 4: e6030f1c0a 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. 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. ++able to populate an `omitted` list. Asking for this list of filtered objects ++may cause performance degradations, however, because in this case, 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: 582cb7d44a = 5: 0a3dbd1452 MyFirstObjectWalk: add stderr to pipe processing -- 2.43.0