On 9/8/2020 9:07 AM, Đoàn Trần Công Danh wrote: > On 2020-09-04 15:42:01+0000, Derrick Stolee via GitGitGadget <gitgitgadget@xxxxxxxxx> wrote: >> From: Derrick Stolee <dstolee@xxxxxxxxxxxxx> >> >> A user may want to run certain maintenance tasks based on frequency, not >> conditions given in the repository. For example, the user may want to > > Hm, sorry but I couldn't decipher "not conditions" here. :| Awkward, yes. I intended to contrast frequency-based maintenance with threshold-based maintenance (git gc --auto). >> perform a 'prefetch' task every hour, or 'gc' task every day. To assist, > > I think it's better to say: "To assist those users", at least it's > easier to read for non-native English like me. Thanks. >> update the 'git maintenance run' command to include a >> '--schedule=<frequency>' option. The allowed frequencies are 'hourly', > > So, we have "--schedule=" here, ... > >> 'daily', and 'weekly'. These values are also allowed in a new config >> value 'maintenance.<task>.schedule'. >> >> The 'git maintenance run --schedule=<frequency>' checks the '*.schedule' > > and here, ... > >> config value for each enabled task to see if the configured frequency is >> at least as frequent as the frequency from the '--schedule' argument. We >> use the following order, for full clarity: >> >> 'hourly' > 'daily' > 'weekly' >> >> Use new 'enum schedule_priority' to track these values numerically. >> >> The following cron table would run the scheduled tasks with the correct >> frequencies: >> >> 0 1-23 * * * git -C <repo> maintenance run --scheduled=hourly >> 0 0 * * 1-6 git -C <repo> maintenance run --scheduled=daily >> 0 0 * * 0 git -C <repo> maintenance run --scheduled=weekly > > but it's spelt with "--scheduled=", here and below, mispell, I guess.> > Reading the patch, it looks like "--scheduled=" is mispelt. Yes, a previous version used "scheduled" and I didn't fix it here. >> @@ -1250,8 +1289,10 @@ static int maintenance_run_tasks(struct maintenance_run_opts *opts) >> continue; >> >> if (opts->auto_flag && >> - (!tasks[i].auto_condition || >> - !tasks[i].auto_condition())) >> + (!tasks[i].auto_condition || !tasks[i].auto_condition())) >> + continue; > > This line only add unnecessary noise to this patch. Thanks, -Stolee