Johannes Schindelin <Johannes.Schindelin@xxxxxx> writes: >> FWIW, the duplication is really tiny: according to >> >> $ wc $(grep -l REFTABLE_STANDALONE *[ch]) >> >> it's just 431 lines of code. > > The `merge_bases_many()` function has only 33 lines of code, partially > duplicating `get_reachable_subset()`. Yet, it had a bug in it for two > years that was not found. It does not affect the current discussion, but what you are giving is a revisionist view of the world. The latter function came MUCH later to do a bit more than the former. The bug was caused by the fact that those that added the latter neglected the responsibility of maintaining the former to the same degree when new feature like commit-graph were added to the latter. The root cause was that the latter one did not share the code with the former one when it was introduced. That does make it appear similar to the situation we have at hand with duplicated utility functions. > How much worse will the situation be with your 431 lines of code. > > Even more so when you consider the fact that you intend to shove the same > duplication down libgit2's throat. It's "triplicating" code. > > So I find the argument you made above quite unconvincing. > > Ciao, > Dscho