On Tue, Apr 20, 2021 at 9:42 PM Junio C Hamano <gitster@xxxxxxxxx> wrote: > Nicely done. > > I as a reader of this patch do have to wonder, with the above very > limited log message material, how useful did "debug_reflog_expire()" > machinery used to be without any tracing. It wasn't; that's why I'm changing it :-) I noticed a test failure with reftable, and adding this function showed me I was expiring the entries in the reverse order, so that git reflog delete branch@{1} would remove one but oldest entry in the reflog. > Not a problem with this patch at all, and certainly it does not have > to be part of this series, but it feels very backwards, at least to > me, to have the method should_prune in ref backends. As a function > to make a policy decision (e.g. "this has a timestamp older than X, > so needs to be pruned", "the author of this change I do not like, so > let's prune it ;-)"), it is more natural to have it as independent > as possible from the individual backends, no? the should_prune function is passed in into the ref backend as an argument of type reflog_expiry_should_prune_fn to the refs_reflog_expire() function. -- Han-Wen Nienhuys - Google Munich I work 80%. Don't expect answers from me on Fridays. -- Google Germany GmbH, Erika-Mann-Strasse 33, 80636 Munich Registergericht und -nummer: Hamburg, HRB 86891 Sitz der Gesellschaft: Hamburg Geschäftsführer: Paul Manicle, Halimah DeLaine Prado