scan reflogs independently from refs

Currently, the search for all reflogs depends on the existence of
corresponding refs under the .git/refs/ directory.  Let's scan the
.git/logs/ directory directly instead.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
Nicolas Pitre
2007-02-03 13:25:43 -05:00
committed by Junio C Hamano
parent a7e4fbf990
commit eb8381c885
5 changed files with 67 additions and 9 deletions

View File

@ -188,9 +188,9 @@ void mark_reachable_objects(struct rev_info *revs, int mark_reflog)
/* Add all external refs */
for_each_ref(add_one_ref, revs);
/* Add all reflog info from refs */
/* Add all reflog info */
if (mark_reflog)
for_each_ref(add_one_reflog, revs);
for_each_reflog(add_one_reflog, revs);
/*
* Set up the revision walk - this will move all commits