Merge branch 'lh/systemd-timers'

"git maintenance" scheduler learned to use systemd timers as a
possible backend.

* lh/systemd-timers:
  maintenance: add support for systemd timers on Linux
  maintenance: `git maintenance run` learned `--scheduler=<scheduler>`
  cache.h: Introduce a generic "xdg_config_home_for(…)" function
This commit is contained in:
Junio C Hamano
2021-09-20 15:20:40 -07:00
5 changed files with 700 additions and 86 deletions

13
path.c
View File

@ -1510,21 +1510,28 @@ int looks_like_command_line_option(const char *str)
return str && str[0] == '-';
}
char *xdg_config_home(const char *filename)
char *xdg_config_home_for(const char *subdir, const char *filename)
{
const char *home, *config_home;
assert(subdir);
assert(filename);
config_home = getenv("XDG_CONFIG_HOME");
if (config_home && *config_home)
return mkpathdup("%s/git/%s", config_home, filename);
return mkpathdup("%s/%s/%s", config_home, subdir, filename);
home = getenv("HOME");
if (home)
return mkpathdup("%s/.config/git/%s", home, filename);
return mkpathdup("%s/.config/%s/%s", home, subdir, filename);
return NULL;
}
char *xdg_config_home(const char *filename)
{
return xdg_config_home_for("git", filename);
}
char *xdg_cache_home(const char *filename)
{
const char *home, *cache_home;