From: Jeff King Date: Thu, 11 Oct 2018 14:06:10 GMT Subject: Re: [PATCH v3 4/7] revision.c: begin refactoring --topo-order logic Message-ID: <20181011140610.GD27312@sigill.intra.peff.net> In-Reply-To: On Fri, Sep 21, 2018 at 10:39:32AM -0700, Derrick Stolee via GitGitGadget wrote: > [..] > When setting revs->limited only because revs->topo_order is true, > only do so if generation numbers are not available. There is no > reason to use the new logic as it will behave similarly when all > generation numbers are INFINITY or ZERO. > > In prepare_revision_walk(), if we have revs->topo_order but not > revs->limited, then we trigger the new logic. It breaks the logic > into three pieces, to fit with the existing framework: Nicely explained. Your abstracted init/next/expand API seems sane, but of course the real test will be reading the later patches that make use of it. :) The patch matches my understanding of your explanation. -Peff