From: Derrick Stolee <derrickstolee@github•com>
To: Tao Klerks <tao@klerks•biz>, git <git@vger•kernel.org>
Subject: Re: "git maintenance" - detect status?
Date: Tue, 14 Feb 2023 12:07:58 -0500 [thread overview]
Message-ID: <2eb324c9-4908-5ace-4724-72c2815674fb@github.com> (raw)
In-Reply-To: <CAPMMpohJ1gajTYOA9ZJjq=hASA9ry9fKP02TYH2dDF+VBeek8w@mail.gmail.com>
On 2/14/2023 5:50 AM, Tao Klerks wrote:
> However, I can't figure out how to test the current state of
> scheduling, from within git:
> * There's no config value representing "scheduling is enabled" (as
> far as I can tell)
> * There's no "git maintenance" subcommand for "check on the
> scheduling tasks" (as far as I can tell)
>
> In principle I guess it's possible to check for the Task Scheduler
> entries and their status in Windows, for example, but that sounds...
> like relying on implementation details.
>
> Is there any correct cross-platform way to detect the scheduling state?
Not currently, but you do make a good point about the scheduler
being an implementation detail.
You're making a good case for a new subcommand like 'git maintenance
status' that would report these details. It could even be a three-
tiered result:
$ git maintenance status
global scheduler: on
repository schedule: enabled
foreground maintenance: disabled
...or something like that. Not sure how to properly describe the
maintenance.auto config option as anything other than "foreground
maintenance", even if it launches maintenance processes in the
background on most platforms.
Of course, it could be worth exploring more about the specific
schedule the repository is scheduled for. It could describe the
maintenance.strategy value that is assumed (if there is one) or
even break down the tasks that will be run on different cadences:
$ git maintenance status
global scheduler: on
repository schedule: enabled
strategy: incremental
hourly: prefetch, commit-graph
daily: incremental-repack
weekly: pack-refs
foreground maintenance: disabled
Finally, making this something machine-readable (say, key=value
lines or JSON output) could be valuable behind an argument.
These are all just "top of mind" thoughts when I read your
questions, so feel free to disregard any or all of it. Just
ideas to think about.
Thanks,
-Stolee
prev parent reply other threads:[~2023-02-14 17:08 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-02-14 10:50 "git maintenance" - detect status? Tao Klerks
2023-02-14 17:07 ` Derrick Stolee [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=2eb324c9-4908-5ace-4724-72c2815674fb@github.com \
--to=derrickstolee@github$(echo .)com \
--cc=git@vger$(echo .)kernel.org \
--cc=tao@klerks$(echo .)biz \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox