Add "--expire <time>" option to 'git prune'
authorJohannes Schindelin <Johannes.Schindelin@gmx.de>
Thu, 29 Nov 2007 20:59:55 +0000 (20:59 +0000)
committerJunio C Hamano <gitster@pobox.com>
Fri, 30 Nov 2007 23:47:01 +0000 (15:47 -0800)
commitf01913e4190bed98f918ec575229943a0ee47d83
treec04e9f0017668acdb60db48bb4c0dd88cc8606dc
parent28391a80a94d2b59d1d21f8264fe5dab91d77249
Add "--expire <time>" option to 'git prune'

Earlier, 'git prune' would prune all loose unreachable objects.
This could be quite dangerous, as the objects could be used in
an ongoing operation.

This patch adds a mode to expire only loose, unreachable objects
which are older than a certain time.  For example, by

git prune --expire 14.days

you can prune only those objects which are loose, unreachable
and older than 14 days (and thus probably outdated).

The implementation uses st.st_mtime rather than st.st_ctime,
because it can be tested better, using 'touch -d <time>' (and
omitting the test when the platform does not support that
command line switch).

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/git-prune.txt
builtin-prune.c
t/t1410-reflog.sh