Bananajour - Local git publication and collaboration
Local git repository hosting with a sexy web interface and Bonjour discovery. It's like a bunch of adhoc, local, network-aware githubs!
Unlike Gitjour, the repositories you're serving are not your working git repositories, they're served from
~/.bananajour/repositories. You can push to your bananajour repositories from your working copies just like you do with github.
Bananajour is the baby of Tim Lucas with much railscamp hackage by Nathan de Vries, Lachlan Hardy, Josh Bassett, Myles Byrne, Ben Hoskings, Brett Goulder, Tony Issakov, and Mark Bennett. The rad logo was by Carla Hackett. Other various fixes and contributions by Travis Swicegood and Nate Haas.
Installation and usage
You'll need at least git version 1.6. Run
git --version if you're unsure.
Install it from github via gems:
gem install toolmantim-bananajour
(you might need to do a
gem sources -a http://gems.github.com beforehand!)
Start it up:
Go into an existing project and add it to bananajour:
cd ~/code/myproj bananajour add
Publish your codez:
git push banana master
Fire up http://localhost:9331/ to check it out.
If somebody starts sharing a Bananajour repository with the same name on the network it'll automatically show up in the network thanks to the wonder that is Bonjour.
For a list of all the commands:
To install the dnssd gem on linux you'll need avahi. For Ubunutu peeps this means:
sudo apt-get install libavahi-compat-libdnssd-dev
Using with Ginatra
Rumour has it ginatra can be used to provide richer gitweb-like browsing of your bananajour repositories. Symlink ginatra's
repos directory to
~/.bananajour/repositories to serve up your bananajour repositories.
Official repository and support
The official repo and support issues/tickets live at github.com/toolmantim/bananajour.
Feature and support discussions live at groups.google.com/group/bananajour.
If you want to hack on the sinatra app then do so from a local clone but run your actual bananjour from the gem version. Running the sinatra app directly won't broadcast it onto the network and it'll run on a different port:
ruby sinatra/app.rb -s thin
If you want code reloading use shotgun instead:
shotgun sinatra/app.rb -s thin
If you then want to run your working copy as your public bananajour rebuild and install it as a gem:
sudo rake gem:install
All directories and files are MIT Licensed.
Warning to all those who still believe secrecy will save their revenue stream
Bananas were meant to be shared. There are no secret bananas.