]> git.ipfire.org Git - thirdparty/git.git/commit
Make git prune remove temporary packs that look like write failures
authorDavid Steven Tweed <d.s.tweed@reading.ac.uk>
Thu, 7 Feb 2008 02:55:14 +0000 (02:55 +0000)
committerJunio C Hamano <gitster@pobox.com>
Mon, 11 Feb 2008 20:22:58 +0000 (12:22 -0800)
commit8464010f974245b1e392d34ddbfb914fcf3d8c23
tree420e72fb71c667be1e8518f71a7f81cd5951810e
parent65ae89bc315753e7bb31e941e77e002003665bc0
Make git prune remove temporary packs that look like write failures

Write errors when repacking (eg, due to out-of-space conditions)
can leave temporary packs (and possibly other files beginning
with "tmp_") lying around which no existing
codepath removes and which aren't obvious to the casual user.
These can also be multi-megabyte files wasting noticeable space.
Unfortunately there's no way to definitely tell in builtin-prune
that a tmp_ file is not being used by a concurrent process,
such as a fetch. However, it is documented that pruning should
only be done on a quiet repository and --expire is honoured
(using code from Johannes Schindelin, along with a test case
he wrote) so that its safety is the same as that of loose
object pruning.

Since they might be signs of a problem (unlike orphaned loose
objects) the names of any removed files are printed.

Signed-off-by: David Tweed (david.tweed@gmail.com)
Acked-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin-prune.c
t/t5304-prune.sh [new file with mode: 0644]