On Sun, Mar 22, 2020 at 12:04:24PM +0100, SZEDER Gábor wrote: > On Sun, Mar 22, 2020 at 01:36:35AM -0400, Jeff King wrote: > > The "--input=none" option > > isn't "no input"; it's actually "take all existing graphed objects as > > input" (i.e., it implies --append). So each of those objects will > > already have been examined in an earlier stage. > > Yeah, we discussed it earlier that '--input=none' doesn't properly > describe what it tries to accomplish, and suggested '--input=exists' > (or was it 'existing'?) instead. Good idea. I don't remember discussing '--input=exist{s,ing}', specifically, but I do think that '--input=none' is not as clear as it could be. I sent [1], which I think may be a step in the right direction. I'll look forward to your thoughts. > > > Where the last step is taking all commits listed in any pack, which is > > > cheap to iterate. > > > > I'm not sure it's all that cheap. It has to find the type of every > > object in every pack. And finding types involves walking delta chains. > > Indeed, that's just about the most expensive way to find all commits, > in my experience it can be well over a magnitude slower than > '--reachable'. Thanks, Taylor [1]: https://lore.kernel.org/git/e0f42a2f3c0162a5d43bb2bce0f69264b59f92e9.1584994172.git.me@xxxxxxxxxxxx/