From: Danh Doan <email@example.com> To: Derrick Stolee <firstname.lastname@example.org> Cc: Junio C Hamano <email@example.com>, Phillip Wood <firstname.lastname@example.org>, Derrick Stolee via GitGitGadget <email@example.com>, firstname.lastname@example.org, email@example.com, firstname.lastname@example.org, Derrick Stolee <email@example.com> Subject: Re: [PATCH 01/15] run-job: create barebones builtin Date: Tue, 7 Apr 2020 07:58:28 +0700 [thread overview] Message-ID: <20200407005828.GC2568@danh.dev> (raw) In-Reply-To: <firstname.lastname@example.org> On 2020-04-06 10:42:23-0400, Derrick Stolee <email@example.com> wrote: > Of course, not every platform has "cron" but that just means we need a > cross-platform way to launch Git processes on some schedule. That could > be a command that creates a cron job on platforms that have it, and on There's Unix system that doesn't have cron. People could use other scheduler mechanism. A lot of systemd users uses systemd-timer. I'm using snooze. Each of those set of utilities have different grammar and configuration. > Windows it could create a scheduled task instead. > > But what should we launch? It should probably be a Git command that > checks config for a list of repositories, then runs "the maintenance > command" on each of those repos. > > I'm inserting a break here to draw the eye to a new proposed design: > > --- > > Create a "git maintenance" builtin. This has a few subcommands: > > 1. "run" will run the configured maintenance on the current repo. This > should become the single entry point for users to say "please clean > up my repo." What _exactly_ it does can be altered with config. I'll > list some possibilities after listing the subcommands. > > 2. "run-on-repos" uses command-line arguments or config to launch "git > -C <dir> maintenance run" for all configured directories. The > intention is that this is launched on some schedule by a platform- > specific scheduling mechanism (i.e. cron). So, IIUC, Git will have a _hard_ dependencies on cron on *nix? Else, we're gonna received a bug-report that some tools doesn't work? I've seen some bug report in our distro that "git add -p" doesn't work like documented, because it's in "git-perl" packages. When we merge "git-perl" back to git, other people (who never use "git add -p" and git-sendemail) complain why does we add a hard dependencies on perl to git. > (This subcommand could use a better name.) > > 3. "schedule" adds the current repository to the configured list of > repositories for running with "run-on-repos". It will also initialize > the platform-specific scheduling mechanism. This may be to start the > schedule for the first time OR to update how frequent "run-on-repos" > is run, as appropriate. > > 4. (OPTIONAL) "mode <mode>" adjusts the config for the current repo to > change the type of maintenance requested for this repo. For example, > "simple" could just run "git gc --auto" using a normal range. > "incremental" could run the maintenance tasks from this series. > Finally, "server" could run maintenance tasks as if we are serving > the repo to others, so we repack aggressively with full bitmaps, and > more frequently. -- Danh
next prev parent reply other threads:[~2020-04-07 0:58 UTC|newest] Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-04-03 20:47 [PATCH 00/15] [RFC] Maintenance jobs and job runner Derrick Stolee via GitGitGadget 2020-04-03 20:48 ` [PATCH 01/15] run-job: create barebones builtin Derrick Stolee via GitGitGadget 2020-04-05 15:10 ` Phillip Wood 2020-04-05 19:21 ` Junio C Hamano 2020-04-06 14:42 ` Derrick Stolee 2020-04-07 0:58 ` Danh Doan [this message] 2020-04-07 10:54 ` Derrick Stolee 2020-04-07 14:16 ` Danh Doan 2020-04-07 14:30 ` Johannes Schindelin 2020-04-03 20:48 ` [PATCH 02/15] run-job: implement commit-graph job Derrick Stolee via GitGitGadget 2020-05-20 19:08 ` Josh Steadmon 2020-04-03 20:48 ` [PATCH 03/15] run-job: implement fetch job Derrick Stolee via GitGitGadget 2020-04-05 15:14 ` Phillip Wood 2020-04-06 12:48 ` Derrick Stolee 2020-04-05 20:28 ` Junio C Hamano 2020-04-06 12:46 ` Derrick Stolee 2020-05-20 19:08 ` Josh Steadmon 2020-04-03 20:48 ` [PATCH 04/15] run-job: implement loose-objects job Derrick Stolee via GitGitGadget 2020-04-05 20:33 ` Junio C Hamano 2020-04-03 20:48 ` [PATCH 05/15] run-job: implement pack-files job Derrick Stolee via GitGitGadget 2020-05-27 22:17 ` Josh Steadmon 2020-04-03 20:48 ` [PATCH 06/15] run-job: auto-size or use custom pack-files batch Derrick Stolee via GitGitGadget 2020-04-03 20:48 ` [PATCH 07/15] config: add job.pack-files.batchSize option Derrick Stolee via GitGitGadget 2020-04-03 20:48 ` [PATCH 08/15] job-runner: create builtin for job loop Derrick Stolee via GitGitGadget 2020-04-03 20:48 ` [PATCH 09/15] job-runner: load repos from config by default Derrick Stolee via GitGitGadget 2020-04-05 15:18 ` Phillip Wood 2020-04-06 12:49 ` Derrick Stolee 2020-04-05 15:41 ` Phillip Wood 2020-04-06 12:57 ` Derrick Stolee 2020-04-03 20:48 ` [PATCH 10/15] job-runner: use config to limit job frequency Derrick Stolee via GitGitGadget 2020-04-05 15:24 ` Phillip Wood 2020-04-03 20:48 ` [PATCH 11/15] job-runner: use config for loop interval Derrick Stolee via GitGitGadget 2020-04-03 20:48 ` [PATCH 12/15] job-runner: add --interval=<span> option Derrick Stolee via GitGitGadget 2020-04-03 20:48 ` [PATCH 13/15] job-runner: skip a job if job.<job-name>.enabled is false Derrick Stolee via GitGitGadget 2020-04-03 20:48 ` [PATCH 14/15] job-runner: add --daemonize option Derrick Stolee via GitGitGadget 2020-04-03 20:48 ` [PATCH 15/15] runjob: customize the loose-objects batch size Derrick Stolee via GitGitGadget 2020-04-03 21:40 ` [PATCH 00/15] [RFC] Maintenance jobs and job runner Junio C Hamano 2020-04-04 0:16 ` Derrick Stolee 2020-04-07 0:50 ` Danh Doan 2020-04-07 10:59 ` Derrick Stolee 2020-04-07 14:26 ` Danh Doan 2020-04-07 14:43 ` Johannes Schindelin 2020-04-07 1:48 ` brian m. carlson 2020-04-07 20:08 ` Junio C Hamano 2020-04-07 22:23 ` Johannes Schindelin 2020-04-08 0:01 ` brian m. carlson 2020-05-27 22:39 ` Josh Steadmon 2020-05-28 0:47 ` Junio C Hamano 2020-05-27 21:52 ` Johannes Schindelin 2020-05-28 14:48 ` Junio C Hamano 2020-05-28 14:50 ` Jonathan Nieder 2020-05-28 14:57 ` Junio C Hamano 2020-05-28 15:03 ` Jonathan Nieder 2020-05-28 15:30 ` Derrick Stolee 2020-05-28 4:39 ` Johannes Schindelin
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=20200407005828.GC2568@danh.dev \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --subject='Re: [PATCH 01/15] run-job: create barebones builtin' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).