> Sorry for being unclear here. I don't think (honestly I don't remember, > it's been almost a month) that I meant to you should use the skipList. > > Looking at that code again we use object_on_skiplist() to do an early > punt in report(), but also fsck_blob(), presumably you never want the > latter, and that early punting wouldn't be needed if your report() > function intercepted the modules blob id for stashing it away / later > reporting / whatever. > > So yeah, I'm 99% sure now that's not what I meant :) > > What I meant with: > > Or if we want to keep the "print <list> | process"[...] > > Is that we have an existing ad-hoc IPC model for these commands in > passing along the skipList, which is made more complex because sometimes > the initial process reads the file, sometimes it passes it along as-is > to the child. > > And then there's this patch that passes OIDs too, but through a > different mechanism. > > I was suggesting that perhaps it made more sense to refactor both so > they could use the same mechanism, because we're potentially passing two > lists of OIDs between the two. Just one goes via line-at-a-time in the > output, the other via a config option on the command-line. Thanks for your explanation. I still think that they are quite different - skiplist is a user-written file containing a list of OIDs that will likely never change, whereas my list of dangling .gitmodules is a list of OIDs dynamically generated (and thus, always different) whenever a fetch is done. So I think it's quite reasonable to pass skiplist as a file name, and my list should be passed line-by-line.