On Tue, Feb 09 2021, Derrick Stolee wrote: > On 2/9/2021 9:06 AM, Ævar Arnfjörð Bjarmason wrote: >> >> On Thu, Oct 15 2020, Derrick Stolee via GitGitGadget wrote: >> >>> +--schedule:: >>> + When combined with the `run` subcommand, run maintenance tasks >>> + only if certain time conditions are met, as specified by the >>> + `maintenance.<task>.schedule` config value for each `<task>`. >>> + This config value specifies a number of seconds since the last >>> + time that task ran, according to the `maintenance.<task>.lastRun` >>> + config value. The tasks that are tested are those provided by >>> + the `--task=<task>` option(s) or those with >>> + `maintenance.<task>.enabled` set to true. >> >> I see from searching on list and from spying on your repo that patches >> for this maintenance.<task>.lastRun feature exist, but there's no code >> for it in git.git. >> >> So we've got a 2.30.0 release with a mention of that, and it can't work, >> because it's only in the doc due to b08ff1fee00 (maintenance: add >> --schedule option and config, 2020-09-11). > > Thank you for pointing out this docbug. This is based on an early > version of the patch series and should have been changed. > > Please see this patch which attempts to do a better job. I can > create a new thread with this submission if we need more edits. > > Thanks, > -Stolee > > --- >8 --- > > From 46436b06caf65ee824e781603a8108413bb87705 Mon Sep 17 00:00:00 2001 > From: Derrick Stolee <dstolee@xxxxxxxxxxxxx> > Date: Tue, 9 Feb 2021 11:51:32 -0500 > Subject: [PATCH] maintenance: properly document --schedule > MIME-Version: 1.0 > Content-Type: text/plain; charset=UTF-8 > Content-Transfer-Encoding: 8bit > > The documentation for the '--schedule' option is incorrect and based on > an early version of the background maintenance feature. Update the > documentation to describe the actual use of the option. > > The most important thing is that Git takes this option as a hint for > which tasks it should run. Users should not run this command arbitrarily > and expect that Git will enforce some timing restrictions. > > Reported-by: Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> > Signed-off-by: Derrick Stolee <dstolee@xxxxxxxxxxxxx> > --- > Documentation/git-maintenance.txt | 16 ++++++++-------- > 1 file changed, 8 insertions(+), 8 deletions(-) > > diff --git a/Documentation/git-maintenance.txt b/Documentation/git-maintenance.txt > index 6fec1eb8dc2..d4b5aea6760 100644 > --- a/Documentation/git-maintenance.txt > +++ b/Documentation/git-maintenance.txt > @@ -155,15 +155,15 @@ OPTIONS > exceeds the `gc.autoPackLimit` config setting. Not compatible with > the `--schedule` option. > > ---schedule:: > +--schedule=<frequency>:: > When combined with the `run` subcommand, run maintenance tasks > - only if certain time conditions are met, as specified by the > - `maintenance.<task>.schedule` config value for each `<task>`. > - This config value specifies a number of seconds since the last > - time that task ran, according to the `maintenance.<task>.lastRun` > - config value. The tasks that are tested are those provided by > - the `--task=<task>` option(s) or those with > - `maintenance.<task>.enabled` set to true. > + whose `maintenance.<task>.schedule` config value is equal to > + `<frequency>`. There is no timing restriction imposed by this > + option, but instead is used to inform the Git process which > + frequency to use. The command scheduler created by > + `git maintenance start` runs this command with `<frequency>` > + equal to `hourly`, `daily`, and `weekly` at the appropriate > + intervals. > > --quiet:: > Do not report progress or other information over `stderr`. + CC Junio Late reply, I was reminded of this again. This patch looks good to me, but I see it never got picked up, and our docs still mention an unsupported "lastRun". Junio: I think it makes sense to just pick this up...