Re: [RFC PATCH] rerere: fix overeager gc
- From
SZEDER Gábor <szeder@ira.uka.de>
- Date
- Jun 30, 2010, 08:01 UTC
- Message-ID
- <20100630080109.GA4264@neumann>
- In-Reply-To
- <4C2AE04E.9090901@viscovery.net>
Hi,
thank you both for your comments.
On Wed, Jun 30, 2010 at 08:12:30AM +0200, Johannes Sixt wrote:
Show 10 quoted lines
> Am 6/29/2010 19:59, schrieb Junio C Hamano: > > One possibility is to look at the timestamp of the directory itself > > instead. Then we can safely gc otherwise-unused "thisimage" file when > > rerere is not in use. I wonder if directory m_time timestamps are usable > > for this purpose on non-POSIX platforms? > > I don't think that will work at all: We only use fopen() to write > thisimage, which only truncates the file, but doesn't modify mtime of the > directory. Nor do we create any other (temporary) directory entries that > would modify the mtime.
Indeed; on Linux I have:
drwxr-xr-x 2 szeder szeder 4096 2010-06-24 10:59 .git/rr-cache/13e67feeb07f97d6fccc2257d793d93ec4e730bf/
-rw-r--r-- 1 szeder szeder 3095 2010-06-30 04:56 .git/rr-cache/13e67feeb07f97d6fccc2257d793d93ec4e730bf/thisimage
> Would it be possible to update the timestamp of preimage every time it is > used (e.g., in rerere.c:merge()), and check for that?
Will take a look.
Best, Gábor