On Wed, Jul 14, 2010 at 09:23:17AM -0700, Junio C Hamano wrote:
I wonder if swapping the order of things to check may make it easier to
read, though. If it was used, we want to compare gc.rerereresolved with
that timestamp, and otherwise we want to compare gc.rerereunresolved with
the timestamp of the creation. I.e. something like this...
That's even better.
quoted hunk ↗ jump to hunk
builtin/rerere.c | 14 +++++++-------
1 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/builtin/rerere.c b/builtin/rerere.c
index 7e45afe..6d1b580 100644
--- a/builtin/rerere.c
+++ b/builtin/rerere.c
@@ -59,16 +59,16 @@ static void garbage_collect(struct string_list *rr)
while ((e = readdir(dir))) {
if (is_dot_or_dotdot(e->d_name))
continue;
- then = rerere_created_at(e->d_name);
- if (!then)
- continue;
- if (has_rerere_resolution(e->d_name)) {
- then = rerere_last_used_at(e->d_name);
+
+ then = rerere_last_used_at(e->d_name);
+ if (then) {
+ cutoff = cutoff_resolve;
+ } else {
+ then = rerere_created_at(e->d_name);
if (!then)
continue;
- cutoff = cutoff_resolve;
- } else
cutoff = cutoff_noresolve;
+ }
if (then < now - cutoff * 86400)
string_list_append(e->d_name, &to_remove);
}