Another open source analogue of Github
At this point in time, there are the following github alternatives:
I would like to add my application to this list. Maybe it’s still useful to someone. What's inside:
I can boast that it is put easier than competitors (both on linux and on windows, subject to the presence of Mongo):
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:
Profit for me:
References and clarifications:
- Github fi itself (costs $ 5000, not open source)
- Gitorious (open source, written in RoR, uses ActiveMQ, in short - the beast machine)
- Recent gitlab (open source, written in ruby)
I would like to add my application to this list. Maybe it’s still useful to someone. What's inside:
- Written in Scala
- Used Lift
- Storage - MongoDB
- "Own" implementation of git, ssh, http daemon. The first using Apache Mina Core, and the second Mina SSHD, the last with Rest from Lift
- For work with git JGit is used
I can boast that it is put easier than competitors (both on linux and on windows, subject to the presence of Mongo):
$ 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 individual keys for the repository, fork. Public / Private Repositories
- Pull Requests
- Commit history, view source tree on commit and view diff
- Access via ssh (read and write), git (read), http (read and write)
- Push notifications by email. Camel is used so that in practice other transports can be added.
Profit for me:
- Learned scala and lift (this is my first scala app)
- Learned a bunch of new things about git
- Studied the Apache Mina library, Apache Camel, JGit. Opened issue, added functionality (patches accepted).
- Another competitor to the systems at the beginning of the article
References and clarifications:
- Google code
- Github
- Bugs and Roadmap
- Demo (I do not update it often)