Thread (4 messages) flat view 4 messages, 1 author, 2016-06-15
DORMANTno replies

[PATCH 0/3] Enumerating reflog entries in a wrong order

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:56:20

The for_each_reflog_ent() function yields reflog entries from the
oldest to newer, and is inefficient when we know what we are looking
for are near the newest end (e.g. "find the nth newest reflog entry
that matches 'checkout: moving from X to Y'").  To optimize for the
common case, we introduced for_each_recent_reflog_ent() to scan only
the newest part (i.e. tail) of the reflog file, but it is difficult
to use this function correctly.

Just bite the bullet and stop working around the API that reads the
file in a wrong order.  The new for_each_reflog_ent_reverse()
function gives us reflog entries from the newest to older.

Junio C Hamano (3):
  for_each_reflog_ent(): extract a helper to process a single entry
  for_each_recent_reflog_ent(): simplify opening of a reflog file
  reflog: add for_each_reflog_ent_reverse() API

 refs.c      | 161 +++++++++++++++++++++++++++++++++++++++++++-----------------
 refs.h      |   2 +-
 sha1_name.c |  48 +++++++-----------
 3 files changed, 134 insertions(+), 77 deletions(-)

-- 
1.8.2-rc3-189-g94c4d42
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help