На данный момент времени, есть следующие альтернативы github:
В этот список я хотел бы добавить мое приложение. Может быть, оно еще кому то пригодится. Что у него внутри:
Могу похвастаться, что ставится проще чем конкуренты (что на linux, что на windows, при условии наличия Mongo):
Честно говоря не могу похвастаться тем, что все идеально работает — баги есть, стараюсь исправлять по мере нахождения.
Сейчас мое приложение умеет следующие вещи:
Profit для меня:
Ссылки и уточнения:
- Сам github fi (стоит 5000$, не open source)
- Gitorious (open source, написан на RoR, использует ActiveMQ, короче — зверь машина)
- Недавно появившийся gitlab (open source, написан на ruby)
В этот список я хотел бы добавить мое приложение. Может быть, оно еще кому то пригодится. Что у него внутри:
- Написан на Scala
- Используется Lift
- Хранилище — MongoDB
- «Своя» реализация git, ssh, http демона. Первый с иcпользованием Apache Mina Core, а второй Mina SSHD, последний с Rest из Lift
- Для работы с git используется JGit
Могу похвастаться, что ставится проще чем конкуренты (что на linux, что на windows, при условии наличия 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/
Честно говоря не могу похвастаться тем, что все идеально работает — баги есть, стараюсь исправлять по мере нахождения.
Сейчас мое приложение умеет следующие вещи:
- Управление пользователями. Пользователи могут добавлять себе репозитории, добавлять к репозиториям коллабораторов.
- Управление репозиториями. Можно задавать отдельные ключи для репозитория, форкать. Публичный/приватный репозитории
- Пулл реквесты
- История коммитов, просмотр дерева исходников на коммите и просмотр diff
- Доступ по ssh (чтение и запись), git(чтение), http(чтение и запись)
- Оповещения о пушах на email. Используется camel так, что на практике можно добавить другие транспорты.
Profit для меня:
- Изучил scala и lift (это мое первое приложение на scala)
- Узнал кучу нового о git
- Изучил библиотеку Apache Mina, Apache Camel, JGit. Открывал issue, добавлял функционал (патчи приняли).
- Еще один конкурент системам, приведенным вначале статьи
Ссылки и уточнения:
- Google Code
- Github
- Баги и Roadmap
- Демка (обновляю его не часто)