]> git.ipfire.org Git - thirdparty/git.git/commit
maintenance: extract platform-specific scheduling
authorDerrick Stolee <dstolee@microsoft.com>
Tue, 24 Nov 2020 04:16:42 +0000 (04:16 +0000)
committerJunio C Hamano <gitster@pobox.com>
Tue, 24 Nov 2020 21:02:29 +0000 (13:02 -0800)
commit31345d5545e755bf79143841f3840ae5bcd0ac0b
treef792fbd1623a8f1f0ae8cbe174570941cd24de1e
parent0016b618182f642771dc589cf0090289f9fe1b4f
maintenance: extract platform-specific scheduling

The existing schedule mechanism using 'cron' is supported by POSIX
platforms, but not Windows. It also works slightly differently on
macOS to significant detriment of the user experience. To allow for
new implementations on these platforms, extract a method that
performs the platform-specific scheduling mechanism. This will be
swapped at compile time with new implementations on specialized
platforms.

As we add this generality, rename GIT_TEST_CRONTAB to
GIT_TEST_MAINT_SCHEDULER. Further, this variable is now parsed as
"<scheduler>:<command>" so we can test platform-specific scheduling
logic even when not on the correct platform. By specifying the
<scheduler> in this string, we will be able to test all three sets of
Git logic from a Linux machine.

Co-authored-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/gc.c
t/t7900-maintenance.sh
t/test-lib.sh