public
Description: A set of Sake tasks to make developing with Git easier.
Clone URL: git://github.com/eventualbuddha/sake-git.git
Search Repo:
Tue Mar 04 14:08:26 -0800 2008
commit  30d356e9ded16d5bf13c623a9308574bd4f4df16
tree    c054e2b9573fa6b3caad0ad8d515e6300dd0d286
parent  c34d4cd20499a53ed9df57e555f95cbb84f8716d
name age message
folder LICENSE Tue Mar 04 14:03:20 -0800 2008 Add some sort of license [eventualbuddha]
folder README Tue Mar 04 14:08:26 -0800 2008 Credit where credit is due. [eventualbuddha]
folder Rakefile Tue Mar 04 13:49:54 -0800 2008 First commit [eventualbuddha]
folder git.rake Tue Mar 04 13:49:54 -0800 2008 First commit [eventualbuddha]
folder gitconfig.sample Tue Mar 04 13:49:54 -0800 2008 First commit [eventualbuddha]
README
Sake-Git
========

Here are a few Sake tasks to make developing with Git easier (and some corresponding Git aliases to 
make invoking them easier). Install them with:

$ rake install

Or, if you don't want to actually download this stuff, just use Sake:

$ sake -i "http://github.com/eventualbuddha/sake-git/tree/master/git.rake?raw=true"




Common Commands
---------------

$ sake git:update

Updates your current git repository, autodetecting whether you have a regular ol' git project or a
git-svn project. Alias it to `git up' with this alias:

[alias]
  up = !sake git:update




$ sake git:push

Commits any changes in your current branch not yet pushed upstream AND ports 'em over to master.
Another alias for ya:

[alias]
  ci = !sake git:push




$ sake git:open [NAME=mynewbranch]

Creates a new branch off master. Think of this as opening an issue, or a new path of development.
Because of the way Rake handles (or _doesn't_ handle) arguments, the alias for this one is a little
weird:

[alias]
  open = !sake git:open NAME= -- $1

Allowing you to call it like so:

$ git open mynewbranch

You can even call it without the branch name and it'll ask you for it:

$ git open
* Name your branch: mynewbranch




$ sake git:close [NAME=mynewbranch]

This is open's brother, and should be used when you finish something and have already moved it to
master or upstream. If you haven't yet, don't worry - this won't eat your data. Aliases for
everyone:

[alias]
  close = !sake git:close NAME= -- $1




Credits
-------

Thanks to Coda Hale and everyone else at Wesabe for trying these out when I first wrote them and
contributing tasks of their own, and to the Rubinius folks for giving me the idea in the first place.