Skip to content

operations.yml

.touchmark/operations.yml in the hub: one-off operations that override a safeguard. It goes through review like the packs, and only distribute on the default branch carries it out. touchmark schema operations prints the JSON Schema.

version: 1
recreate:                  # rebuild a paused sync branch; others' commits on it are dropped
  - target: gh:acme/api
    head: 4b1d9e0c8f5a3b2e1d0c9b8a7f6e5d4c3b2a1f0e   # acts while the branch head is this commit
forget_declines:           # propose again what a target declined
  - target: gh:acme/docs
    pr: 44                 # touchmark marks #44 revoked: acts once
allow_mass_close: { max: 400, until: 2026-12-31 }
adopt_unmarked: { until: 2026-12-31 }   # take over a multi-gitter setup's pull requests

A target is [PROVIDER:]PATH, the provider being the id of an entry of providers in hub.yml (gh here). A hub with one provider, the single-provider shorthand included, writes the path alone.

Every entry limits itself, so a forgotten one does nothing: a branch head that moved, a decline already revoked, a date that passed. The exception is a forget_declines entry for a Bitbucket Cloud, Bitbucket Data Center or Azure DevOps target: touchmark never edits a declined pull request there, so it is never marked revoked, and the entry acts while it is present (see Memory of declined pull requests). check warns about entries past their date. plan on a hub pull request shows each entry's effect: applies, none, expired or unknown. In CI the matching flags of distribute exit 2. See One-off operations.

Keys

Key Type Description
version 1 Format version. Only 1 exists; when absent, 1 is assumed with a warning.
recreate list of objects Rebuild a paused sync branch from scratch. Commits others added to it are dropped. An entry acts only while the branch head is the given commit.
recreate[].target string, up to 512 characters, required One target repository: <provider>:<path> or <path>, as touchmark prints it.
recreate[].head string, required Full commit id of the sync branch head to replace: 40 or 64 lowercase hex digits.
forget_declines list of objects Propose again the content of a pull request the target closed without merging. touchmark marks that pull request revoked, so the entry acts once; on Bitbucket Cloud, Bitbucket Data Center and Azure DevOps, where touchmark never edits a declined pull request, the entry acts while it is present.
forget_declines[].target string, up to 512 characters, required One target repository: <provider>:<path> or <path>, as touchmark prints it.
forget_declines[].pr integer ≥ 1, required Number of the declined pull request.
allow_mass_close object Lift the guard against closing many pull requests in one run, up to max closes, until the date.
allow_mass_close.max integer ≥ 1, required How many pull requests a run may close.
allow_mass_close.until string, required Last day the entry is active, YYYY-MM-DD, in UTC.
adopt_unmarked object Take over the open pull requests without a marker that a multi-gitter setup opened (from known_authors, on branch_aliases), until the date.
adopt_unmarked.until string, required Last day the entry is active, YYYY-MM-DD, in UTC.