Re: [PATCH 00/15] [RFC] Maintenance jobs and job runner
From: Junio C Hamano <hidden>
Date: 2020-04-07 20:08:26
"brian m. carlson" [off-list ref] writes:
If there are periodic tasks that should be done, even if only on large repos, then let's have a git gc --periodic that does them. I'm not sure that fetch should be in that set, but nothing prevents users from doing "git fetch origin && git gc --periodic". Let's make it as simple and straightforward as possible.
Yeah, thanks for bringing up "git gc" here. Earlier I mumbled sometrhing about "git repack", which seemed to have needlessly muddied the discussion, but "gc" is exactly the "we already have a wrapper the users are familiar with---why not extend it" thing.
I'm not opposed to seeing a tool that can schedule periodic maintenance jobs, perhaps in contrib, depending on whether other people think it should go. However, I think running periodic jobs is best handled on Unix with cron or anacron and not a custom tool or a command in Git. I've dealt with systems that implemented periodic tasks without using the existing tools for doing that, and I've found that usually that's a mistake. Despite seeming straightforward, there are a lot of tricky edge cases to deal with and it's easy to get wrong. We also don't have to reimplement all the features in the system scheduler and can let expert users use a different tool of their choice instead if cron (or the Windows equivalent) is not to their liking.
;-) You said it much better than I would have myself. Thanks.