https://github.com/spacedentist/spr
Submit pull requests for individual, amendable, rebaseable commits to GitHub
https://github.com/spacedentist/spr
github stacked-diffs
Last synced: about 1 month ago
JSON representation
Submit pull requests for individual, amendable, rebaseable commits to GitHub
- Host: GitHub
- URL: https://github.com/spacedentist/spr
- Owner: spacedentist
- License: mit
- Created: 2022-02-10T22:02:56.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2025-12-15T09:10:23.000Z (4 months ago)
- Last Synced: 2025-12-18T08:15:16.969Z (3 months ago)
- Topics: github, stacked-diffs
- Language: Rust
- Homepage: https://spacedentist.github.io/spr/
- Size: 3.27 MB
- Stars: 501
- Watchers: 9
- Forks: 52
- Open Issues: 52
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README

# spr · [](https://img.shields.io/github/license/spacedentist/spr) [](https://github.com/spacedentist/spr/releases) [](https://crates.io/crates/spr) [](https://formulae.brew.sh/formula/spr) [](https://github.com/spacedentist/spr)
A command-line tool for submitting and updating GitHub Pull Requests from local
Git commits that may be amended and rebased. Pull Requests can be stacked to
allow for a series of code reviews of interdependent code.
spr is pronounced /ˈsuːpəɹ/, like the English word 'super'.
## Documentation
Comprehensive documentation is available here: https://spacedentist.github.io/spr/
## Installation
[](https://repology.org/project/spr-super-pull-requests/versions)
### Binary Installation
#### Using Homebrew
```shell
brew install spr
```
#### Using Nix
spr is available in nixpkgs
```shell
nix run nixpkgs#spr
```
#### Using Cargo
If you have Cargo installed (the Rust build tool), you can install spr by running
```shell
cargo install spr
```
### Install from Source
spr is written in Rust. You need a Rust toolchain to build from source. See [rustup.rs](https://rustup.rs) for information on how to install Rust if you have not got a Rust toolchain on your system already.
With Rust all set up, clone this repository and run `cargo build --release`. The spr binary will be in the `target/release` directory.
## Quickstart
To use spr, run `spr init` inside a local checkout of a GitHub-backed git repository. You will be guided through authorising spr to use the GitHub API in order to create and merge pull requests.
To submit a commit for pull request, run `spr diff`.
If you want to make changes to the pull request, amend your local commit (and/or rebase it) and call `spr diff` again. When updating an existing pull request, spr will ask you for a short message to describe the update.
To squash-merge an open pull request, run `spr land`.
For more information on spr commands and options, run `spr help`. For more information on a specific spr command, run `spr help ` (e.g. `spr help diff`).
## Contributing
Feel free to submit an issue on [GitHub](https://github.com/spacedentist/spr) if you have found a problem. If you can even provide a fix, please raise a pull request!
If there are larger changes or features that you would like to work on, please raise an issue on GitHub first to discuss.
### License
spr is [MIT licensed](./LICENSE).