views:

1469

answers:

4

Are there alternatives to gitosis that are easier to use?

I currently run gitosis on a Ubuntu server for my lab. We regularly add new users and repos. I find the gitosis.conf syntax non-intuitive, and if I make even a minor mistake the whole gitosis system fails, see for example this question on SO. When gitosis fails it also kills access to the git repository that contains gitosis.conf... go figure... There must be a better way.

I've thought about private GitHub accounts, but is there anything else that I could host locally?

+5  A: 

Gitolite might be a solution.

Mark Lodato
Have you used Gitolite before? Can you provide details? Based on the readme it sounds nice.
AndyL
Perhaps most exciting, from http://github.com/sitaramc/gitolite/blob/pu/doc/3-faq-tips-etc.mkd#diff :"error checking the config filegitosis does not do any. I just found out that if you mis-spell members as member, gitosis will silently ignore it, and leave you wondering why access was denied.Gitolite "compiles" the config file first and keyword typos are caught so you know right away."
AndyL
+1  A: 

I actually just wrote a couple of simple python scripts to help with user and repo creation for just the reason you mention. I suspect I could get my boss to let me open source them -- basically, though, they read and write the config file used by gitosis with the help of a python library called configobj. I set them up so that they can run either as command line scripts or as cgi scripts with a little web interface.

ebneter
That sounds awesome! Please do consider open sourcing that.
AndyL
+2  A: 

What about the system that drives http://repo.or.cz: Girocco

...or gitorious

Stefan Näwe
Thanks. These both look interesting. Have you used either? I worry about gitorious. It looks like you need a full ruby on rails setup + many gems + custom apache on so on. The installation procedure is very very long, see http://gitorious.org/gitorious/mainline/blobs/master/README
AndyL
Gitorious is wonderful when up and running. It's a nightmare to get there, though.
calmh
+2  A: 

I ended up just paying for GitHub. Here is what I tried:

  • Gitolite: The install is actually tricky. I ran into lots of SSH key trouble which was compounded by the fact that I first tried installing from a windows workstation. Also, Gitolite requires a server running Git 1.6, but Ubuntu stable on my server only runs Git 1.5. I could have compiled newer git from source, but by that point I had already sank 3 hours into my gitolite install.

  • Gitorious: Gitorious requires ruby, mysql, and a gazillion gems and packages. As @calmh said,

    Gitorious is wonderful when up and running. It's a nightmare to get there...

At that point I decided to go with GitHub:

  • GitHub: $50/month gets 50 private repositories, 25 collaborators and 6 GB of space. Individual users can easily add additional SSH keys themselves and its trivial for my colleague and I to create new repos for our coworkers. I usually like the free DIY solution, but in this case the money really is well worth it.

Final thought: It would be great if TurnkeyLinux could one day improve their revision control appliance to include gitorious by default.

AndyL