Per-ref reflog expiry configuration
authorJunio C Hamano <gitster@pobox.com>
Mon, 16 Jun 2008 06:48:46 +0000 (23:48 -0700)
committerJunio C Hamano <gitster@pobox.com>
Sun, 29 Jun 2008 05:07:00 +0000 (22:07 -0700)
commit3cb22b8efe2cab60dc0ef5e265c414bd826d83ef
tree0316747696c00bdc6fd44394dae956d4f37ca06c
parent336d09daf288492946f0c51f071da11643f8363d
Per-ref reflog expiry configuration

In addition to gc.reflogexpireunreachable and gc.reflogexpire, this lets
you set gc.<pattern>.reflogexpireunreachable and gc.<pattern>.reflogexpire
variables.

When "git reflog expire" expires reflog entry for $ref, the expiry timers
are taken from the first <pattern> that matches $ref (and if there isn't
the global default value is used).

For example, you could:

[gc "refs/stash"]
reflogexpire = never
reflogexpireunreachable = never

[gc "refs/remotes/*"]
reflogexpire = 7 days
reflogexpireunreachable = 3 days

[gc]
reflogexpire = 90 days
reflogexpireunreachable = 30 days

Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin-reflog.c