On Thu, Jul 19, 2012 at 03:39:24PM -0700, Junio C Hamano wrote: > > Similarly, for_each_reflog_ent learns to fallback to > > graveyard refs, which allows the reflog walker to work. > > However, this is slightly less friendly, as the revision > > parser expects the matching ref to exist before it realizes > > that we are interested in the reflog. Therefore you must use > > "git log -g deleted@{1}" insted of "git log -g deleted" to > > walk a deleted reflog. > > This may or may not be related, but I vaguely recall that "log -g" > traversal hack had a corner case where the walking stops prematurely > upon seeing a gap (or creation/deletion that has 0{40})? Do you > recall if we have ever dealt with that? >From my tests, I think it is probably still broken (if you do a delete, create, delete sequence on a branch and then walk the reflog, it stops prematurely at the 0{40} sha1). But what _should_ it show for such an entry? There is no commit to show in the reflog walker, but it would still be nice to say "BTW, there was a deletion even here". Obviously just skipping it and showing the next entry would be better than the current behavior of stopping the traversal, but I feel like there must be some better behavior. -Peff -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html