Enhance builder-likeness of commit::topo::Builder
in gix-traverse
#1716
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Previously, the only way to create a
Builder
would be viaBuilder::from_iters
. That function takes as arguments both the tips and ends, and used to be the only possibility for specifying either of them during the building process.I would argue that the whole point of a builder is the ability to start with a minimal, setup and configure the resulting entity bit by bit. This would imo include the optional ends of a
Topo
, and I would also argue that there are valid use-cases in which a user would also like to add multiple distinct sets of tips without the need forIterator
chaining or, in the worst case, collecting them in another data structure first.These changes introduce a set of functions enabling alternative usage patterns.