Merge branch 'jc/cutoff-config'
"[gc] rerereResolved = 5.days" used to be invalid, as the variable is defined to take an integer counting the number of days. It now is allowed. * jc/cutoff-config: rerere: allow approxidate in gc.rerereResolved/gc.rerereUnresolved rerere: represent time duration in timestamp_t internally t4200: parameterize "rerere gc" custom expiry test t4200: gather "rerere gc" together t4200: make "rerere gc" test more robust t4200: give us a clean slate after "rerere gc" tests
This commit is contained in:
22
config.c
22
config.c
@ -2094,6 +2094,28 @@ int git_config_get_expiry(const char *key, const char **output)
|
||||
return ret;
|
||||
}
|
||||
|
||||
int git_config_get_expiry_in_days(const char *key, timestamp_t *expiry, timestamp_t now)
|
||||
{
|
||||
char *expiry_string;
|
||||
intmax_t days;
|
||||
timestamp_t when;
|
||||
|
||||
if (git_config_get_string(key, &expiry_string))
|
||||
return 1; /* no such thing */
|
||||
|
||||
if (git_parse_signed(expiry_string, &days, maximum_signed_value_of_type(int))) {
|
||||
const int scale = 86400;
|
||||
*expiry = now - days * scale;
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (!parse_expiry_date(expiry_string, &when)) {
|
||||
*expiry = when;
|
||||
return 0;
|
||||
}
|
||||
return -1; /* thing exists but cannot be parsed */
|
||||
}
|
||||
|
||||
int git_config_get_untracked_cache(void)
|
||||
{
|
||||
int val = -1;
|
||||
|
||||
Reference in New Issue
Block a user