Subject: Re: git maintenance broken on FreeBSD

From: Junio C Hamano <[email-masked]>
Date: Sat, 13 Aug 2022 10:26:05 -0700

Đoàn Trần Công Danh  <[email-masked]> writes:

> Then, we are getting back to point #0, we don't have universally way
> to specify stdin as input file for crontab(1) and "crontab -e" is
> optional.
>
> Perhaps, FreeBSD needs to carry this patch downstream; or
> we will invent new preprocessor, let's say CRONTAB_DASH_IS_STDIN
> which is defined in FreeBSD,

Does FreeBSD offer choices of cron implementations other than Vixie,
just like some Linux distributions?  If somebody on a non-FreeBSD
platform happens to choose to use Vixie, then they would presumably
have the same problem, so a compile-time switch, whose default is
hardcoded based on the target platform, would not work very well.
The default will be wrong for some users, and users can later choose
to switch between different cron implementations.

Configuration knob can be used as a workaround, but in this case, I
am not sure if it is worth doing.  What's the downside of securely
opening a temporary file and write whatever we are currently piping
to a spawned "crontab" command and then giving the path to that
temporary file to the "crontab" command?  Wouldn't that give us the
maximal portability without that much code, no?

I think this is all Derrick's code from 2fec604f (maintenance: add
start/stop subcommands, 2020-09-11), so let's add him to the
discussion.