ruacce -- the repository updater and custom command executer
ruacce (pronounced "lu-ah-tché") is a small command line tool that helps you
with managing the repositories
you're tracking. You can also define rules that performs some actions on your
repositories (like building gems, running (R|M)akefiles,...)
ruacce is scm-agnostic so you can mix Git, Mercurial or Subversion repositories
without any worry.
** Install **
$ sudo gem install madx-ruacce --source=http://gems.github.com/
or
$ cd your/repos/folder/
$ git clone git://github.com/madx/ruacce.git
$ cd ruacce; rake
And a fresh gem will be placed in the pkg/ folder
** Usage **
First, run ruacce --help.
Then, cd to the folder where you keep your repos and run ruacce -C to generate
a blank config file (.ruacce_rules, created in the current folder)
Ok let's say you've got those awesome repositories in your folder:
shoes, merb-core, merb-more, dm-core, dm-more, haml and mtest (managed by git)
trac, lighttpd (managed by svn)
audacious (tracked by mercurial)
That's a big bunch of repositories, and when you want to update them all you
have to manually cd in the folder an run the appropriate command.
But wait. No. You just installed ruacce !!!
The first thing you may want to do is defining a command to fetch the latest
changes on you repos.
It's "git/hg pull" for Git and Mercurial and "svn update" for Subversion.
So for defining the actions for git repositories you could do a :
$ ruacce -s shoes,merb-more,merb-core,dm-core,dm-more,haml,mtest -A pull
This will add a rule "pull" for those repos. The system will ask you for the
command to be run when executing this rule. Type "git pull" and push Enter.
Since you've grasped how it works, you already added rules for your Mercurial
and Subversion repositories.
The important thing is that -s selects repositories, and the action will be
executed upon each of them.
You can show the rules defined on some projects using -R and selecting them
with -s
The -X switch is used to hide some folders from ruacce so it doesn't count them
as repositories.
Well, I think this should be enough to start, the --help switch will tell you
the rest.
** Bug reports/testimonials **
Feel free to send them on github (http://github.com/madx/ruacce) or drop me an
email. I also accept patches :)
If you're using ruacce and want to be in this README, write a funny testimonial
and email it to me.