A collection of git utilities to ease integration with Pivotal Tracker
Pull request Compare This branch is 6 commits ahead, 112 commits behind trydionel:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


#Git Pivotal

##Prelude You might want to have this song running in the background while you read this.

##Let's Git Pivotal Inspired by Hashrocket's blend of git and Pivotal Tracker and a popular article on effective git workflows, I set off to create a set of utilities to simplify the workflow between the two.

###Git Pick This selects the top-most available feature from your Pivotal Tracker, and offers to create a feature branch.

1 git-pick:master % git pick
Collecting latest stories from Pivotal Tracker...
Story: Test git pivotal
URL:   http://www.pivotaltracker.com/story/show/1234567
Enter branch name (will be prepended by 1234567) [feature]: testing
Creating branch...
Creating 1234567-testing branch...
2 git-pick:1234567-testing %

##Installation To install git-pivotal, simply run

[sudo] gem install git-pivotal


Once installed, git pivotal needs three bits of info: your Pivotal Tracker API Token, your name as it appears in Pivotal Tracker and your Pivotal Tracker project id. The former two are best set as a global git config options:
git config --global pivotal.api-token 9a9a9a9a9a9a9a9a9a9a
git config --global pivotal.full-name "Jeff Tucker"

The project id is best placed within your project's git config:

git config -f .git/config pivotal.project-id 88888

If you're not interested in storing these options in git, you can pass them into git pivotal as command line arguments. See the usage guides for more details.

##TODO This is some seriously alpha software. Several things on the ol' todo list:

  • Create a general Pivotal::Base#update_attributes method
  • git pick doesn't update the story to indicate who claimed it
  • Add command to close/finish currently 'picked' feature
  • Reduce verbosity of git pick
  • More that I can't recall at the moment