Skip to content

repot v0.3.0

Latest

Choose a tag to compare

@github-actions github-actions released this 27 Sep 14:26
· 2 commits to main since this release

repot v0.3.0

This release makes repot fast and a little bit smart: status asks GitHub
once instead of fetching everything, the picker knows where you actually work,
and new commands help you find, open, clean up and start repositories.

Highlights

  • Status in about two seconds. Before fetching, repot asks GitHub for every
    branch tip in a few batched requests (through gh, when it is installed and
    signed in). Checkouts that are already current are not fetched at all; the
    footer says how many GitHub confirmed. Everything else opens a single
    connection, 24 at a time, and sync updates each checkout as soon as its own
    inspection finishes. On 45 real checkouts, status went from 17 s in v0.2.0 to
    about 2 s.
  • Recommendations that fit. The report separates checkouts held back by
    local changes
    , work in progress with nothing new upstream, and those that
    need review, and suggests the exact next command, such as
    git push -u origin feature or repot publish.
  • A picker that knows where you work. The shell integration remembers which
    repositories you switch to, and the picker lists the ones you use most and most
    recently first. On wide terminals it previews the selected repository's branch,
    changes and recent commits. repot shell-init <shell> --no-track turns tracking
    off.
  • repot info shows a repository's branch, changes, remote, visits and
    recent commits; repot open opens it in your editor or, with --web, on
    GitHub.
  • repot doctor finds stale copies left behind by renames and transfers on
    GitHub, archived and missing repositories, and checkouts in the wrong folder.
    Every finding comes with the command that fixes it, and --fix applies them
    after asking. Work that exists only in a stale copy is always shown first.
  • repot stale lists repositories you have not touched in 90 days as
    candidates to archive; repot status reminds you at most once a week.
  • repot new NAME --template SOURCE starts a project from a template's files,
    without its history and without committing.
  • Faster everywhere. Subprocesses are awaited instead of polled, the check
    for ignored files before an update went from 10 s to 5 ms on large build
    directories, and restore and clone --parallel share one work queue.

Compatibility

JSON output, exit codes and command names are unchanged. repot's own Git
operations now label their reflog entries "repot", so a repot sync
fast-forward no longer counts as you touching a repository. Visits are kept in
~/.local/state/repot/visits, a small local text file you can delete at any
time.

Install

brew install niklas-heer/tap/repot

Or build the pinned release through Nix:

nix profile install github:niklas-heer/repot/v0.3.0

Release archives cover macOS and Linux on x86-64 and ARM64; verify them against
SHA256SUMS. After upgrading, restart your shell or re-source the output of
repot shell-init so directory tracking is active.

See the user guide.