Stackler
Working with Phabricator Stack has never been so easy.
$ stackler submit -m "rebase msg"
By continuing, this script will:
Update D157389 with [24a42cd9 1/3 Add Framework], message: rebase msg.
Update D157390 with [67cfa09f 2/3 Add UI], message: rebase msg.
Submit [7bc9760d 3/3 Add API] based on [67cfa09f 2/3 Add the UI framework fo...].
- Display the working stack
- Submit/Update all the commits into a Phabricator Stack
- Wrap around
git rebase <sha>^to allow easy mid-stack edit
Install
With pipx
# get pipx, which runs a pip command easily
brew install pipx
pipx ensurepath
# use pipx to install stackler
pipx install stackler
Manual Install
# install from pip
pip3 install --user stackler
If your path isn't setup to work with pip already, as in if you see
WARNING: The script stackler is installed in
<pip-path>which is not on PATH.
You need to add the pip executable path to your $PATH. Here are some examples:
-
bash
echo -n 'PATH="$(python3 -m site --user-base)/bin:${PATH}"' >> ~/.bash_profile -
zsh
echo -n 'PATH="$(python3 -m site --user-base)/bin:${PATH}"' >> ~/.zshrc
Develop
Roadmap
- Arc land Improvements
- Add the ability to
arc diff --create - Landing on custom base / target
arc land --onto
- Add the ability to
- Complex Repo Support
- Exit gracefully when
.arcconfigis not found - Support config file to point to
.arcconfig
- Exit gracefully when
- Environment Precheck
- Have a setup / doctor command to check environment setup
- Test and make sure the branches created by
arc workwork- Submission by multiple people on custom base
- Edit the stack (wrap around
git rebase -i)- Wrap around
git rebase -i <target>^to start the work of editing one commit - Wrap around
git rebase --continueto complete the edit action
- Wrap around
- Basic functionality (submit the stack and chain the diffs)
- Print the stack
- Gracefully land
- Pull and rebase before landing
- Wrap around
arc land - reset head after calling land
Setup Enviornment
poetry install
poetry config virtualenvs.in-project true
poetry shell
Make sure you use the Python in the virtual environment setup by poetry. In
VS Code, use ⌘⇧P and enter Select Interpreter, then pick the one with python.
Linter and Formatter
As specified in the VS Code setting file
(.vscode/settings.json), this project uses
pylint for linting and
autopep8 for auto formatting.
Publish
This is mostly an excerpt from Typer CLI's publish documentataion.
Add PyPI API Token (Once)
- Gain access to the PyPI project.
- Generate a token from https://pypi.org/manage/account/token/.
- Add the token to poetry.
poetry config pypi-token.pypi <pypi api token>
Publish to PyPI
- Make sure you bump the version.
- Publish.
poetry publish --build
Metadata
Release files for stackler 0.2.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| stackler-0.2.2.tar.gz | 13.9 kB | Without provenance | Details for stackler-0.2.2.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| stackler-0.2.2-py3-none-any.whl | Python 3 | none | any | Details for stackler-0.2.2-py3-none-any.whl |
Total release size: 28.1 kB
Release files / stackler-0.2.2.tar.gz
| Download URL | stackler-0.2.2.tar.gz |
|---|---|
| Size | 13.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
dc4892e230b87ebe46d5fcf1107ec13145f544c143f91e218a25e5e402e9b04d
|
|
BLAKE2b-256 checksum How to use checksums |
428c8f6cd5f3a6e53e6dcd809993c20492946abe85491eb4e00555cf64b8d9d0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.14 CPython/3.9.17 Darwin/22.3.0
|
Release files / stackler-0.2.2-py3-none-any.whl
| Download URL | stackler-0.2.2-py3-none-any.whl |
|---|---|
| Size | 14.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
cde1d47315499fb41ff9685875330bcbd4b75cc843d6e44b3dc2246673cf4ef2
|
|
BLAKE2b-256 checksum How to use checksums |
f0cef06b94777d55abae1dee09d66816ee130b891ea9941dafd0c9bc151096bc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.14 CPython/3.9.17 Darwin/22.3.0
|
Security for stackler 0.2.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.