Skip to content

Installation

revision is a single self-contained binary with no runtime dependencies beyond the svn client it drives.

Terminal window
curl -fsSL https://raw.githubusercontent.com/bapatchirag/revision/main/install.sh | sh

The script detects your OS and architecture, downloads the matching binary from the latest release, and installs it without sudo.

Every release publishes a checksums.txt. The script downloads it alongside the binary and refuses to install anything whose SHA-256 does not match, using whichever of sha256sum, shasum or openssl your machine has. There is no flag to skip this: a binary that cannot be checked is not one to install over the copy you already have.

The download is staged inside the install directory, so putting it in place is a single atomic rename rather than a copy over a file that may be running.

The script picks the first of these that applies:

  1. $REVISION_INSTALL_DIR, if you set it.
  2. /usr/local/bin, if it is writable without sudo.
  3. ~/.local/bin, created if needed.

If the chosen directory is not on your PATH, the script says so at the end. Add it to your shell profile and reopen the shell.

Variable Effect
REVISION_VERSION Install a specific release tag instead of the latest, e.g. REVISION_VERSION=v1.4.0.
REVISION_INSTALL_DIR Install to this directory instead of the default search order.
Terminal window
REVISION_INSTALL_DIR="$HOME/bin" REVISION_VERSION=v1.4.0 \
sh -c "$(curl -fsSL https://raw.githubusercontent.com/bapatchirag/revision/main/install.sh)"
Terminal window
go install github.com/bapatchirag/revision/cmd/revision@latest

This is the fallback for any platform without a prebuilt binary. Installing at a published tag produces a release build, which does check for self-updates; installing at an untagged commit does not, and neither does a local go build.

Download the binary for your platform from the Releases page, make it executable, and put it on your PATH:

Terminal window
chmod +x revision-darwin-arm64
mv revision-darwin-arm64 /usr/local/bin/revision

Each release publishes four assets:

Asset Platform
revision-darwin-arm64 macOS, Apple silicon
revision-darwin-amd64 macOS, Intel
revision-linux-amd64 Linux, x86-64
revision-linux-arm64 Linux, 64-bit ARM

Releases through v1.3.0 published only revision-darwin-arm64 and revision-linux-amd64, so pinning REVISION_VERSION to one of those tags on the other two platforms leaves building with Go as the only option.

See Building from source if you want to compile the tree yourself.

Terminal window
revision --version

If the shell cannot find the command, the install directory is not on your PATH — see Troubleshooting.

Run it inside a working copy: Quick start.