Installation
revision is a single self-contained binary with no runtime dependencies beyond the
svn client it drives.
Quick install
Section titled “Quick install”curl -fsSL https://raw.githubusercontent.com/bapatchirag/revision/main/install.sh | shwget -qO- https://raw.githubusercontent.com/bapatchirag/revision/main/install.sh | shThe script detects your OS and architecture, downloads the matching binary from the
latest release, and installs it without sudo.
What it checks
Section titled “What it checks”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.
Where it installs
Section titled “Where it installs”The script picks the first of these that applies:
$REVISION_INSTALL_DIR, if you set it./usr/local/bin, if it is writable withoutsudo.~/.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.
Environment variables
Section titled “Environment variables”| 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. |
REVISION_INSTALL_DIR="$HOME/bin" REVISION_VERSION=v1.4.0 \ sh -c "$(curl -fsSL https://raw.githubusercontent.com/bapatchirag/revision/main/install.sh)"With Go
Section titled “With Go”go install github.com/bapatchirag/revision/cmd/revision@latestThis 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.
Prebuilt binaries
Section titled “Prebuilt binaries”Download the binary for your platform from the
Releases page, make it executable, and
put it on your PATH:
chmod +x revision-darwin-arm64mv revision-darwin-arm64 /usr/local/bin/revisionEach 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.
From source
Section titled “From source”See Building from source if you want to compile the tree yourself.
Verify
Section titled “Verify”revision --versionIf the shell cannot find the command, the install directory is not on your PATH — see
Troubleshooting.
Run it inside a working copy: Quick start.