Subject: Re: [PATCH v2 1/1] maintenance: use systemd timers on Linux

From: Phillip Wood <[email-masked]>
Date: Wed, 12 May 2021 14:38:26 +0100

Hi Đoàn

On 12/05/2021 01:29, Đoàn Trần Công Danh wrote:
> On 2021-05-10 15:25:07+0900, Junio C Hamano <[email-masked]> wrote:
>> Eric Sunshine <[email-masked]> writes:
>>
>>>> I think others have strong opinion on not using "%1$s",
>>>> and prefer simple "%s" and using "exec_path" twice instead.
>>>
>>> I brought it up only because I hadn't seen it in Git sources, and
>>> wasn't sure if we'd want to start using it. Aside from Ævar, who
>>> seemed reasonably in favor of it, nobody else chimed in, so it could
>>> go either way, I suppose.
>>
>> If this were a piece of code that _everybody_ would use on _all_ the
>> supported platforms, I would suggest declaring that this is a
>> weather-balloon to see if some platforms have trouble using it.  But
>> unfortunately this is not such a piece of code.  Dependence on
>> systemd should strictly be opt-in.
> 
> Yes, dependence on systemd should be strictly opt-in.
> Although, I don't use systemd-based distro, so it is irrelevant to me.
> I think it's none of Git (the project) business to decide which
> scheduler should be given higher priority. It's crontab when
> maintenance was introduced, it should be crontab, now.

You seem to be simultaneously arguing that git should be neutral on the 
choice of scheduler while saying it should prioritize crontab. The 
commit message and cover letter list a number of difficulties with the 
strategy of prioritizing crontab over systemd when both are installed. I 
think we should aim for the solution that has the most chance of working 
without user intervention.

> Another point for eternal bikeshedding: why do we limit ourselves in
> crontab and systemd, how about other homebrew schedulers? What should
> we do if another scheduler raise to be the big star in the scheduler
> world?

We should support the default scheduler on each platform - that was the 
rod we made for our own back when we decided to use the platform's 
scheduler rather than having a cross platform git maintenance daemon. It 
just happens that there are two possible default schedulers on linux so 
we need to support both of them.

Best Wishes

Phillip

> I guess we should take some templates for running on {,un}register
> instead? However, I think such design may open another can of worms.
> So, I don't know.
> 
>