diff options
| author | Junio C Hamano <junkio@cox.net> | 2006-12-27 01:47:57 -0800 | 
|---|---|---|
| committer | Junio C Hamano <junkio@cox.net> | 2006-12-27 01:47:57 -0800 | 
| commit | 4aec56d12ba66a321ce8a6db2ab60f81be5ccfc5 (patch) | |
| tree | ae0c68068d481ab68c133fae2266d55fb7b836bb /builtin-reflog.c | |
| parent | 48c3242450fe5fb18e6890812c000ed5c6291a98 (diff) | |
| download | git-4aec56d12ba66a321ce8a6db2ab60f81be5ccfc5.tar.gz | |
git-reflog: gc.* configuration and documentation.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'builtin-reflog.c')
| -rw-r--r-- | builtin-reflog.c | 25 | 
1 files changed, 23 insertions, 2 deletions
diff --git a/builtin-reflog.c b/builtin-reflog.c index de31967b99..d3f2f50d2b 100644 --- a/builtin-reflog.c +++ b/builtin-reflog.c @@ -5,6 +5,9 @@  #include "dir.h"  #include "tree-walk.h" +static unsigned long default_reflog_expire; +static unsigned long default_reflog_expire_unreachable; +  struct expire_reflog_cb {  	FILE *newlog;  	const char *ref; @@ -150,6 +153,17 @@ static int expire_reflog(const char *ref, const unsigned char *sha1, int unused,  	return status;  } +static int reflog_expire_config(const char *var, const char *value) +{ +	if (!strcmp(var, "gc.reflogexpire")) +		default_reflog_expire = approxidate(value); +	else if (!strcmp(var, "gc.reflogexpireunreachable")) +		default_reflog_expire_unreachable = approxidate(value); +	else +		return git_default_config(var, value); +	return 0; +} +  static const char reflog_expire_usage[] =  "git-reflog expire [--dry-run] [--expire=<time>] [--expire-unreachable=<time>] [--all] <refs>..."; @@ -159,11 +173,18 @@ static int cmd_reflog_expire(int argc, const char **argv, const char *prefix)  	unsigned long now = time(NULL);  	int i, status, do_all; +	git_config(reflog_expire_config); +  	save_commit_buffer = 0;  	do_all = status = 0;  	memset(&cb, 0, sizeof(cb)); -	cb.expire_total = now - 90 * 24 * 3600; -	cb.expire_unreachable = now - 30 * 24 * 3600; + +	if (!default_reflog_expire_unreachable) +		default_reflog_expire_unreachable = now - 30 * 24 * 3600; +	if (!default_reflog_expire) +		default_reflog_expire = now - 90 * 24 * 3600; +	cb.expire_total = default_reflog_expire; +	cb.expire_unreachable = default_reflog_expire_unreachable;  	for (i = 1; i < argc; i++) {  		const char *arg = argv[i];  | 
