At this point in time, there are the following github alternatives:
Sam github fi (worth $ 5000, not open source)
Gitorious (open source, written in RoR, uses ActiveMQ, in short - beast machine)
Recently appeared gitlab (open source, written in ruby)
In this list, I would like to add my application. Maybe it is still useful to someone. What is inside?
Written in Scala
Lift is used
Storage - MongoDB
"Its" implementation of git, ssh, http daemon. The first is using Apache Mina Core, and the second is Mina SSHD, the last with Rest from Lift
JGit is used to work with git.
I can boast that it is easier to put than competitors (which is on linux, which is on windows, provided that Mongo is available):
$ git clone git://github.com/btd/luna.git $ cd luna $ sbt package $ mkdir $JETTY_HOME/repo ( ) $ mv ./target/scala-2.9.1.final/.war $JETTY_HOME/webapps/
Honestly, I can not boast that everything works perfectly - there are bugs, I try to fix it as I find it. Now my application can do the following things:
User management. Users can add repositories to themselves, add collaborators to repositories.
Repository management. You can set separate keys for the repository, forking. Public / private repositories
Pull Requests
The history of commits, viewing the source tree on a commit and viewing diff
Access via ssh (read and write), git (read), http (read and write)
Push alerts by email. Used camel so that in practice you can add other transports.
Profit for me:
Learned scala and lift (this is my first scala application)