Skip to main content

No project description provided

Project description

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
  • Complex Repo Support
    • Exit gracefully when .arcconfig is not found
    • Support config file to point to .arcconfig
  • Environment Precheck
    • Have a setup / doctor command to check environment setup
  • Test and make sure the branches created by arc work work
    • 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 --continue to complete the edit action
  • 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)

poetry config pypi-token.pypi <pypi api token>

Publish to PyPI

  • Make sure you bump the version.
  • Publish.
poetry publish --build

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

stackler-0.2.2.tar.gz (13.9 kB view details)

Uploaded Source

Built Distribution

stackler-0.2.2-py3-none-any.whl (14.2 kB view details)

Uploaded Python 3

File details

Details for the file stackler-0.2.2.tar.gz.

File metadata

  • Download URL: stackler-0.2.2.tar.gz
  • Upload date:
  • Size: 13.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.14 CPython/3.9.17 Darwin/22.3.0

File hashes

Hashes for stackler-0.2.2.tar.gz
Algorithm Hash digest
SHA256 dc4892e230b87ebe46d5fcf1107ec13145f544c143f91e218a25e5e402e9b04d
MD5 f736bce6fdd94bc16c2efb7126a0e8b6
BLAKE2b-256 428c8f6cd5f3a6e53e6dcd809993c20492946abe85491eb4e00555cf64b8d9d0

See more details on using hashes here.

File details

Details for the file stackler-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: stackler-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 14.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.14 CPython/3.9.17 Darwin/22.3.0

File hashes

Hashes for stackler-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 cde1d47315499fb41ff9685875330bcbd4b75cc843d6e44b3dc2246673cf4ef2
MD5 d6cfb951c2ddfe8d32d09ec6d3287c65
BLAKE2b-256 f0cef06b94777d55abae1dee09d66816ee130b891ea9941dafd0c9bc151096bc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page