Skip to main content

A git workflow plugin.

Project description

Bushy

A git workflow plugin inspired by git-pivotal but intending to support multiple project management platforms aside from just Pivotal Tracker.

Installation

Bushy is a Python package and can be installed using the easy_install or pip commands. For the most seamless integration install the package so the generated console scripts are available in your $PATH.

It is always advisable to install python packages within a virtualenv. If you activate your project virtualenv while developing, this will place the commands in your $PATH automatically. Alternatively, you can create a dedicated virtualenv for Bushy and add the scripts to your shell config. If you use bash you could do the following to ensure the commands are accessible:

$ virtualenv-2.6 --no-site-packages bushy
$ bushy/bin/pip install bushy
$ echo "export PATH = $PATH:/path/to/bushy/bin" > ~/.bash_profile

This will allow you to run the following commands:

$ git feature
$ git finish
$ git bug

As well as:

$ /path/to/bushy/bin/git-feature
$ /path/to/bushy/bin/git-finish
$ /path/to/bushy/bin/git-bug

Usage

Pivotal Configuration

Bushy requires global and project local configuration to integrate fully.

Required local configuration (from within your project directory):

$ git config -f .git/config bushy.platform pivotal # use Pivotal Tracker for this project
$ git config -f .git/config bushy-pivotal.project-id PROJECT_ID # from the project url on the Pivotal Tracker site

Required global configuration:

$ git config --global bushy-pivotal.api-token TOKEN # taken from the profile section on the Pivotal Tracker site
$ git config --global bushy-pivotal.full-name "YOUR NAME"

Optional configuration:

$ git config --global bushy-pivotal.integration-branch # the name of the integration branch if different from master
$ git config --global bushy-pivotal.only-mine # only select from new features that are assigned to you

Working on a new feature

You can select a new feature to work on using the git-feature command:

junkafarian$ git feature
Retrieving latest features from Pivotal Tracker
Story: hook up with pivotal
URL: http://www.pivotaltracker.com/story/show/8236507
Updating feature status in Pivotal Tracker...
Enter branch name (will be prepended by 8236507) [feature]:
Switching to branch 8236507-feature
junkafarian$

If you want to work on a specific story you can specify the story id:

junkafarian$ git feature -s 12345
Retrieving story 12345 from Pivotal Tracker
Story: hook up with pivotal
URL: http://www.pivotaltracker.com/story/show/12345
Updating feature status in Pivotal Tracker...
Enter branch name (will be prepended by 12345) [feature]:
Switching to branch 12345-feature
junkafarian$

This will switch you to a new branch for working on the issue selected.

Once you have completed the development work / checked tests pass / committed the changes, you can declare the task as finished:

junkafarian$ git finish
Marking Story 8236507 as finished...
Merging 8236507-feature into master
Removing 8236507-feature branch
Merged code into trunk. Please push upstream and notify the release manager if necessary
junkafarian$

You can then push these changes upstream.

Roadmap

  • Unit Tests - completed

  • Allow features / bugs to be selected by ID on the commandline - completed

  • Support for github issues

Etymology

Bushy encourages a workflow based entirely around code branches. Bushes have lots of branches…

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

bushy-0.2.tar.gz (6.3 kB view details)

Uploaded Source

File details

Details for the file bushy-0.2.tar.gz.

File metadata

  • Download URL: bushy-0.2.tar.gz
  • Upload date:
  • Size: 6.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for bushy-0.2.tar.gz
Algorithm Hash digest
SHA256 6ec0d4e7f95f61edcc03fc8a097ee2b0f6efebb256a46a94e57e8eac3b846b6f
MD5 d6ec7530fbbe4d0d7e13247905121328
BLAKE2b-256 74f8130c7ec8a33374a62c031dc78842c3d891551d5eaba99e26e27d85c80a16

See more details on using hashes here.

Supported by

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