From: Johannes Sixt <j.sixt@viscovery.net>
To: Junio C Hamano <gitster@pobox.com>
Cc: "SZEDER Gábor" <szeder@ira.uka.de>, git@vger.kernel.org
Subject: Re: [RFC PATCH] rerere: fix overeager gc
Date: Thu, 08 Jul 2010 08:27:00 +0200 [thread overview]
Message-ID: <4C356FB4.6060308@viscovery.net> (raw)
In-Reply-To: <7vmxu923up.fsf@alter.siamese.dyndns.org>
Instead of this series, I'll use this for a while; i.e., check the
timestamp of thisimage, and if it does not exist, check the directory's
timestamp. It doesn't pass t4200.20 because the test doesn't set the
timestamps of thisimage and the directory into the past.
diff --git a/builtin/rerere.c b/builtin/rerere.c
index 980d542..49fcbf7 100644
--- a/builtin/rerere.c
+++ b/builtin/rerere.c
@@ -13,10 +13,14 @@ static const char git_rerere_usage[] =
static int cutoff_noresolve = 15;
static int cutoff_resolve = 60;
-static time_t rerere_created_at(const char *name)
+static time_t rerere_last_used_at(const char *name)
{
struct stat st;
- return stat(rerere_path(name, "preimage"), &st) ? (time_t) 0 : st.st_mtime;
+ if (!stat(rerere_path(name, "thisimage"), &st))
+ return st.st_mtime;
+ if (errno == ENOENT && !stat(rerere_path(name, "."), &st))
+ return st.st_mtime;
+ return (time_t) 0;
}
static void unlink_rr_item(const char *name)
@@ -53,7 +57,7 @@ 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);
+ then = rerere_last_used_at(e->d_name);
if (!then)
continue;
cutoff = (has_rerere_resolution(e->d_name)
prev parent reply other threads:[~2010-07-08 6:27 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-06-29 11:38 [RFC PATCH] rerere: fix overeager gc SZEDER Gábor
2010-06-29 17:59 ` Junio C Hamano
2010-06-30 6:12 ` Johannes Sixt
2010-06-30 8:01 ` SZEDER Gábor
2010-06-30 15:22 ` Junio C Hamano
2010-06-30 15:40 ` Johannes Sixt
2010-07-01 9:36 ` [PATCH v2] " SZEDER Gábor
2010-07-01 10:10 ` Johannes Sixt
2010-07-01 11:07 ` [PATCH 1/2] mingw: utime() handles NULL times parameter SZEDER Gábor
2010-07-01 12:16 ` [PATCH 1/2 fixed] mingw_utime(): handle " Johannes Sixt
2010-07-01 11:07 ` [PATCH 2/2] rerere: fix overeager gc SZEDER Gábor
2010-07-01 16:27 ` [RFC PATCH] " Junio C Hamano
2010-07-02 5:49 ` Johannes Sixt
2010-07-02 17:25 ` Junio C Hamano
2010-07-05 6:02 ` Johannes Sixt
2010-07-08 14:35 ` [PATCH v4] " SZEDER Gábor
2010-07-09 0:06 ` [RFC PATCH] " Junio C Hamano
2010-07-12 23:42 ` [PATCH 1/2] mingw_utime(): handle NULL times parameter SZEDER Gábor
2010-07-12 23:42 ` [PATCH 2/2] rerere: fix overeager gc SZEDER Gábor
2010-07-13 0:40 ` Junio C Hamano
2010-07-14 12:19 ` SZEDER Gábor
2010-07-14 16:23 ` Junio C Hamano
2010-07-14 18:33 ` SZEDER Gábor
2010-07-08 6:27 ` Johannes Sixt [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4C356FB4.6060308@viscovery.net \
--to=j.sixt@viscovery.net \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=szeder@ira.uka.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.