Git веб-интерфейсы — различия между версиями

Материал из YourcmcWiki
Перейти к: навигация, поиск
м
(gitea.io и try.gitea.io лежат с переменным успехом, есть альтернативный gitea.com (но нет try.gitea.com))
 
(не показано 48 промежуточных версий 2 участников)
Строка 1: Строка 1:
{| class="wikitable"
+
<html><style>
 +
.gitint td { text-align: center; }
 +
.gitint td:last-child { text-align: left; }
 +
.good { color: white; background: #0a0; }
 +
.bad { color: white; background: red; }
 +
</style></html>
 +
 
 +
{{Box|{{Note}} TL;DR: Нормального поиска нет нигде. В остальном Gogs и Gitea наиболее удобные и легковесные.}}
 +
 
 +
{| class="wikitable gitint"
 
|-
 
|-
 
! Название
 
! Название
Строка 5: Строка 14:
 
! Демо
 
! Демо
 
! Язык
 
! Язык
! <abbr title="commit = поиск по комментарию к коммиту, grep = поиск &quot;перебором&quot; по всем файлам, fulltext = быстрый поиск по содержимому файлов с помощью полнотекстового движка">Поиск</abbr>
+
! <abbr title="commit = поиск по комментарию и метаданным коммита, grep = поиск &quot;перебором&quot; по всем файлам, fulltext = быстрый поиск по содержимому файлов с помощью полнотекстового движка">Поиск</abbr>
! <abbr title="Создание/удаление репозиториев, управление правами доступами">Созд</abbr>
+
! <abbr title="Создание/удаление репозиториев, управление правами доступами">Адм</abbr>
 
! Баги
 
! Баги
 
! Wiki
 
! Wiki
 
! Review
 
! Review
 
! <abbr title="Запросы на слияние (push/pull requests в разной терминологии)">PullReq</abbr>
 
! <abbr title="Запросы на слияние (push/pull requests в разной терминологии)">PullReq</abbr>
 +
! RSS
 +
! Графы
 
! Примечания
 
! Примечания
 
|-
 
|-
 
| gitweb
 
| gitweb
| https://git.wiki.kernel.org/index.php/Gitweb
+
| [https://git.wiki.kernel.org/index.php/Gitweb сайт]
| https://gitweb.torproject.org/
+
| [https://gitweb.torproject.org/ демо]
 
| Perl
 
| Perl
 
| commit, grep
 
| commit, grep
Строка 22: Строка 33:
 
|
 
|
 
|
 
|
 +
|
 +
|class=good| да
 
|
 
|
 
| Поиск по комменту/автору/дате, а также содержимому файлов, но без полнотекстового движка, то есть grep’ом (медленно).
 
| Поиск по комменту/автору/дате, а также содержимому файлов, но без полнотекстового движка, то есть grep’ом (медленно).
 
|-
 
|-
 
| cgit
 
| cgit
| http://hjemli.net/git/cgit/
+
| [http://hjemli.net/git/cgit/ сайт]
| http://cgit.freedesktop.org/
+
| [http://cgit.freedesktop.org/ демо]
 
| C
 
| C
 
| commit
 
| commit
Строка 34: Строка 47:
 
|
 
|
 
|
 
|
 +
|
 +
|class=good| да
 
|
 
|
 
| Клон gitweb.
 
| Клон gitweb.
 
|-
 
|-
 
| Gitblit
 
| Gitblit
| http://gitblit.com
+
| [http://gitblit.com сайт]
| https://git.wikimedia.org/
+
| [https://git.wikimedia.org/ демо]
 
| Java
 
| Java
|style="color: white; background: green"| fulltext (Lucene)
+
|commit, плохой fulltext
|style="color: white; background: green"| да
+
|class=good| да
|
+
|class=good| да
|
+
| <abbr title="Разбор Markdown в файлах внутри репозитория">.md</abbr>
|
+
 
|
 
|
| Интегрируется с различными системами аутентификации.
+
|class=good| да
 +
|class=good| да
 +
|class=good| да
 +
| Интегрируется с различными системами аутентификации. Есть встроенный опциональный push-сервер (Java-реализация Git, хуки аж на JRuby). Есть лента активности по всем проектам, «избранное» (пометка звёздочками). В логе всегда показывает граф коммитов. Есть форканье. Есть Mirroring. Есть реализация простых «багтрекера» / «ревью», причём данные можно хранить прямо в репозитории ([http://gitblit.com/tickets_overview.html информация], [http://vimeo.com/86164723 демо-видео]). '''Git на яве — извращение. Течёт память, процесс сервера регулярно повисает по OOM.'''
 
|-
 
|-
 
| ViewGit
 
| ViewGit
| http://viewgit.fealdia.org/
+
| [http://viewgit.fealdia.org/ сайт]
| https://os.inf.tu-dresden.de/~mroi/git/
+
| [https://os.inf.tu-dresden.de/~mroi/git/ демо]
 
| PHP
 
| PHP
 
| commit
 
| commit
Строка 58: Строка 75:
 
|
 
|
 
|
 
|
 +
|
 +
|class=good| да
 
|
 
|
 
| Клон gitweb.
 
| Клон gitweb.
 
|-
 
|-
 
| Gitalist
 
| Gitalist
| http://www.gitalist.com/
+
| [http://www.gitalist.com/ сайт]
| http://example.gitalist.com/
+
| [http://example.gitalist.com/ демо]
 
| Perl
 
| Perl
 
| commit
 
| commit
Строка 70: Строка 89:
 
|
 
|
 
|
 
|
 +
|
 +
|class=good| да
 
|
 
|
 
| Функционально — клон gitweb; дизайн неплохой, но в узкую колонку по центру экрана с крупными шрифтами; требует дикую кучу зависимостей с CPAN; скорее мёртв, чем жив — пример лежит (хотя локально запустить удалось), последний коммит 1 апреля 2013.
 
| Функционально — клон gitweb; дизайн неплохой, но в узкую колонку по центру экрана с крупными шрифтами; требует дикую кучу зависимостей с CPAN; скорее мёртв, чем жив — пример лежит (хотя локально запустить удалось), последний коммит 1 апреля 2013.
 
|-
 
|-
 
| GitList
 
| GitList
| http://gitlist.org/
+
| [http://gitlist.org/ сайт]
| http://repo.blindmikey.com/oEdit.git/
+
| [http://repo.blindmikey.com/oEdit.git/ демо]
 
| PHP
 
| PHP
|style="color: white; background: red"| отсутствует
+
|class=bad| отсутствует
 +
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 +
|class=good| да
 
|
 
|
 
| Очень слабый клон gitweb — не умеет почти ничего. Есть, правда, статистика по коду (авторы, расширения файлов, всего файлов, всего байт). Стили github-подобные, на twitter bootstrap.
 
| Очень слабый клон gitweb — не умеет почти ничего. Есть, правда, статистика по коду (авторы, расширения файлов, всего файлов, всего байт). Стили github-подобные, на twitter bootstrap.
 +
|-
 +
| Klaus
 +
| [https://github.com/jonashaag/klaus/ сайт]
 +
| [https://github.com/jonashaag/klaus/wiki/Sites-using-klaus демо сайты]
 +
| Python
 +
|class=bad| отсутствует
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
| Очень слабый просмотрщик, умеет даже меньше gitweb.
 
|-
 
|-
 
| GitPHP
 
| GitPHP
| http://www.gitphp.org/
+
| [http://www.gitphp.org/ сайт]
| http://source.gitphp.org/
+
| [http://source.gitphp.org/ демо]
 
| PHP
 
| PHP
 
| commit
 
| commit
Строка 94: Строка 131:
 
|
 
|
 
|
 
|
 +
|
 +
|class=good| да
 
|
 
|
 
| Клон gitweb.
 
| Клон gitweb.
 
|-
 
|-
 
| Gitprep
 
| Gitprep
| http://www.gitprep.org/
+
| [http://gitprep.yukikimoto.com/ сайт]
| http://perlcodesample.sakura.ne.jp/gitprep.cgi
+
| [http://perlcodesample.sakura.ne.jp/gitprep/gitprep.cgi демо]
 
| Perl
 
| Perl
|style="color: white; background: red"| отсутствует
+
| commit(?)
|style="color: white; background: green"| да
+
|class=good| да
 
|
 
|
| Markdown
+
| <abbr title="Разбор Markdown в файлах внутри репозитория">.md</abbr>
 
|
 
|
 +
|class=good| да
 
|
 
|
| Визуальный клон GitHub; есть форканье, архивы. Не хватает RSS, поиска и pull request’ов.
+
| ±
 +
| Неполный клон GitHub; есть форканье, архивы, управление ssh-ключами, в 2.0 есть pull request’ы, поиск. Нет RSS. По-видимому, используется push-сервер и отсутствует интеграция с внешними базами данных пользователей.
 +
|-
 +
|Gitbucket
 +
|[https://gitbucket.github.io/gitbucket-news/ сайт]
 +
|[https://gitbucket.herokuapp.com/ демо]
 +
|Scala
 +
|commit, grep(?)
 +
|class=good| да
 +
|class=good| да
 +
|class=good| да (<abbr title="Разбор Markdown в файлах внутри репозитория">.md</abbr>, asciidoc, pages)
 +
|
 +
|class=good| да
 +
|class=good| да
 +
|class=good| да
 +
|Практически полнофункциональный клон Github, даже API совместимо. Git, как водится, Java’овый, как в Gitblit (JGit), то есть нормальные хуки не поставишь. Есть плагины: оповещения о коммитах на email, бэкап базы данных, Gist (сниппеты), Pages (типа вики), оповещения на рабочем столе, поддержка AsciiDoc, bugspots
 
|-
 
|-
 
| GitLab
 
| GitLab
| http://gitlab.org/
+
| [http://gitlab.org/ сайт]
| http://demo.gitlab.com
+
| [http://demo.gitlab.com демо]
 
| Ruby
 
| Ruby
| commit
+
| commit, grep
|style="color: white; background: green"| да
+
|class=good| да
|style="color: white; background: green"| да
+
|class=good| да
|style="color: white; background: green"| да
+
|class=good| да
|style="color: white; background: green"| да
+
|class=good| да
|style="color: white; background: green"| да
+
|class=good| да
| (неполный) клон GitHub. Неотрубаемый встроенный Push-сервер, авторизация через SSH-ключи. С версии 6.0 есть платная версия, но, вроде, открытость пока не пострадала.
+
|class=good| да
 +
| <abbr title="Кривоватая поддержка, графы отображаются в отдельном интерфейсе">±</abbr>
 +
| Нечто похожее на клон GitHub. Есть вагон и тележка всяких дополнительных приблуд типа багтрекера, Wiki, Continuous Integration, Snippet’ов и тому подобного. Написан на Ruby, и, следовательно, ТОРМОЗИТ! Встроенный Push-сервер, использующий стандартный git (можно использовать обычные хуки) и стандартный ssh (на стандартном порту 22), авторизация через SSH-ключи. Умеет LDAP. С версии 6.0 есть платная версия, и Mirroring только в ней. Нет поиска по коммитам во всех репозиториях, только по одному явно выбранному; текст поиска — регистрозависимый регэксп, так что «bug 40933», «Bug 40933» и даже «Bug &nbsp;40933» (два пробела) — с точки зрения поиска разные строки.
 
|-
 
|-
 
| Gitorious
 
| Gitorious
| http://gitorious.org/
+
| [http://gitorious.org/ сайт]
| http://gitorious.org/
+
| [http://gitorious.org/ демо]
 
| Ruby
 
| Ruby
 
| commit
 
| commit
|style="color: white; background: green"| да
+
|class=good| да
 +
|
 +
| <abbr title="Разбор Markdown в файлах внутри репозитория">.md</abbr>
 +
|class=good| да
 +
|class=good| да
 +
|class=good| да
 
|
 
|
| Markdown
+
| Открытый код <s>сервиса Gitorious</s> (куплен GitLab’ом и будет остановлен). Review плюс-минус, в виде merge request’ов. Есть управление SSH-ключами и, опять-таки, неотрубаемый push-сервер и отсутствие интеграции с внешними БД пользователей.
|style="color: white; background: green"| да
+
|style="color: white; background: green"| да
+
| Открытый код сервиса Gitorious. Review плюс-минус, в виде merge request’ов. Есть управление SSH-ключами.
+
 
|-
 
|-
 
| <s>RhodeCode</s>
 
| <s>RhodeCode</s>
| http://rhodecode.org/
+
| [http://rhodecode.org/ сайт]
| выпилено (было demo.rhodecode.org)
+
| выпилено
 
| Python
 
| Python
|style="color: white; background: green"| fulltext (Whoosh)
+
|class=good| fulltext (Whoosh)
|style="color: white; background: green"| да
+
|class=good| да
|style="color: white; background: green"| да
+
|class=good| да
|style="color: white; background: green"| да
+
|class=good| да
|style="color: white; background: green"| да
+
|class=good| да
|style="color: white; background: green"| да
+
|class=good| да
| Основная поддержка — Mercurial. Визуальная тема оформления — страшный отстой (на демо была нормальная, но её нет в комплекте поставки). Последняя нормальная GPL версия — 1.7.2 (перечисленные фичи имеет); более новые — исключительно платные, так что ну его нафиг.
+
|class=good| да
 +
|
 +
| Изначально создан для Mercurial. Различные методы аутентификации — присутствуют. До версии 1.7.2 был GPL’ным, имел стрёмный дизайн и умел все перечисленные фичи (демо было на demo.rhodecode.org и там как раз дизайн был нормальный), потом его сделали полностью платным (и сразу были посланы куда подальше; появился GPL’ный форк — Kallithea), с версии 4.0 вернули бесплатную версию с неполным функционалом, но демо-сайта теперь нет.
 +
|-
 +
| Kallithea
 +
| [http://kallithea-scm.org/ сайт]
 +
| [https://kallithea-scm.org/repos/kallithea/ демо]
 +
| Python
 +
|class=good| fulltext (Whoosh)
 +
|class=good| да
 +
|class=good| да
 +
|class=good| да
 +
|class=good| да
 +
|class=good| да
 +
|class=good| да
 +
|class=good| да
 +
| Форк последнего GPL’ного RhodeCode. Теоретически из этого следует, что все фичи RhodeCode должен иметь. Умеет строить графы (показываются в Changelog автоматом) — может быть, и RhodeCode умел?.. Поиск полнотекстовый, по содержимому файлов в последней ревизии и по комментариям к коммитам. Индексы нормальные, дикого места не занимают. Дефолтная тема блевотно-зелёная. Других пока не видел.
 
|-
 
|-
 
| Indefero
 
| Indefero
| http://www.indefero.net/
+
| [http://www.indefero.net/ сайт]
| http://www.jooria.com/scripts/demos/871
+
| [http://projects.ceondo.com/p/indefero/ демо]
 
| PHP
 
| PHP
|style="color: white; background: red"| отсутствует
+
|class=bad| отсутствует
|style="color: white; background: green"| да
+
|class=good| да
|style="color: white; background: green"| да
+
|class=good| да
|style="color: white; background: green"| да
+
|class=good| да
|style="color: white; background: green"| да
+
|class=good| да
 
|
 
|
| Клон Google Code. Также умеет Mercurial, SVN и monotone O_o
+
|
 +
|
 +
| Клон Google Code. Умеет LDAP. Также умеет другие системы контроля версий: Mercurial, SVN и monotone O_o
 +
|-
 +
| SCM Manager
 +
| [http://www.scm-manager.org/ сайт]
 +
| [https://source.csc.fi/scm/ пример]
 +
| Java
 +
|class=bad| отсутствует
 +
|class=good| да
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
| Есть поддержка SVN, немало плагинов — интеграция с багтрекерами, CI, LDAP и т. п. Но дизайн дико стрёмный, так как сделан на постылом ExtJS — AJAX во все поля, самодельные вкладочки, наношрифты, стандартное ExtJS’овское оформление и т. п. Какой-либо поиск по коммитам, похоже, отсутствует, о графах коммитов не стоит и мечтать.
 +
|-
 +
| <s>Gogs</s>
 +
| [http://gogs.io сайт]
 +
| [https://try.gogs.io/ демо]
 +
| Go
 +
| commit
 +
|class=good| да
 +
|class=good| да
 +
| <abbr title="Разбор Markdown в файлах внутри репозитория">.md</abbr>
 +
|
 +
|class=good| да
 +
|
 +
|
 +
| Внимание: сдох (не развивается), есть форк - Gitea. [https://github.com/gogits/gogs Код + список фич]. Дизайн сильно похож, хоть и не идентичен, гитхабу. Дополнительно умеет форканье, архивы, ленту активности, отслеживание (watching), хуки, почтовые уведомления, Gravatar и вход через социальные сети либо LDAP, SMTP (O_o) либо фронтенд (то есть видимо, через заголовок). А, ещё теги как «релизы» показывает.
 +
|-
 +
| Gitea
 +
| [http://gitea.io сайт1] [http://gitea.com сайт2]
 +
| [https://try.gitea.io/ демо]
 +
| Go
 +
| commit
 +
|class=good| да
 +
|class=good| да
 +
| <abbr title="Разбор Markdown в файлах внутри репозитория">.md</abbr>
 +
|class=good| да
 +
|class=good| да
 +
|
 +
|class=good| да
 +
| [https://docs.gitea.io/en-us/comparison/ Список фич]. Форк Gogs. Есть новые фичи, например, git-lfs (large file storage), графы коммитов и онлайн-редактор кода. Есть и полнотекстовый поиск по коду, но сделан он очень плохо, через [https://github.com/blevesearch/bleve Bleve], индексирует медленно и жрёт память. А нечего было придумывать - лучше бы заюзали просто PostgreSQL-ный поиск.
 
|}
 
|}
 
RSS умеют все, кроме gitprep. Граф коммитов не показывает ни один из перечисленных O_o
 
  
 
В тему — есть ещё [https://github.com/FredrikNoren/ungit ungit], на node.js. Но по-видимому, это скорее веб-клиент, чем серверный веб-интерфейс.
 
В тему — есть ещё [https://github.com/FredrikNoren/ungit ungit], на node.js. Но по-видимому, это скорее веб-клиент, чем серверный веб-интерфейс.
  
== Допилить ViewVC? ==
+
[[Категория:Разработка]]
 
+
Кстати о птичках — можно же допилить поддержку Git (и hg, если охота) к ViewVC! И это совсем не сложно. Базовые фичи (интерфейс к репозиторию):
+
* Чтение коммитов, открытие файла, annotate (увы, только через вызов консольного git’а)
+
* Commit hook
+
После чего оно уже, в принципе, становится юзабельным, и сразу имеет офигенский поиск (уже мною реализованный на Sphinx’е). И, кстати, будет одной из немногих систем, поддерживающих и централизованные, и децентрализованные VCSы (из вышеперечисленных такое умеет только Indefero).
+
 
+
Однако для DVCS’ов всё-таки хочется:
+
* Граф коммитов (индексируемый в базу)
+
 
+
Правда, чтобы оно было похоже на Gitlab и ему подобных, нужны «активные» фичи:
+
* Code review — комментарии к коммитам и к строчкам кода
+
* Личные репозитории, возможность разграничения прав на них (элементарно путём POSIX ACL)
+
* Возможно, какая-нибудь статистика по репозиториям
+
* Возможно, открывать на главной страницы ленту последних коммитов
+
* Возможно, как-то парсить reflog’и, чтобы понимать, в какую ветку push’ился коммит
+
* README и отображение подмножества разметки MediaWiki (а то и просто ?action=render)
+
 
+
Зато при этом:
+
* — Багтрекер и Wiki не нужны вообще
+
* — Клонирование одним тыком малополезно
+
* — Pull request’ы при наличии Code review тоже малополезны, так как workflow не корпоративный
+
* — Онлайн-редактор файлов в репозитории из браузера не нужен
+
* — Заметки типа Gist’ов — малополезны
+
* — Push-сервер не нужен, так как можно юзать стандартный ssh в chroot, и даже с krb5 доменной авторизацией
+
* — От лент активности (кроме коммитов, ленты которых и так есть) в связи с отсутствием «социальных» фич тоже проку мало
+

Текущая версия на 11:08, 19 ноября 2019

TL;DR: Нормального поиска нет нигде. В остальном Gogs и Gitea наиболее удобные и легковесные.
Название Сайт Демо Язык Поиск Адм Баги Wiki Review PullReq RSS Графы Примечания
gitweb сайт демо Perl commit, grep да Поиск по комменту/автору/дате, а также содержимому файлов, но без полнотекстового движка, то есть grep’ом (медленно).
cgit сайт демо C commit да Клон gitweb.
Gitblit сайт демо Java commit, плохой fulltext да да .md да да да Интегрируется с различными системами аутентификации. Есть встроенный опциональный push-сервер (Java-реализация Git, хуки аж на JRuby). Есть лента активности по всем проектам, «избранное» (пометка звёздочками). В логе всегда показывает граф коммитов. Есть форканье. Есть Mirroring. Есть реализация простых «багтрекера» / «ревью», причём данные можно хранить прямо в репозитории (информация, демо-видео). Git на яве — извращение. Течёт память, процесс сервера регулярно повисает по OOM.
ViewGit сайт демо PHP commit да Клон gitweb.
Gitalist сайт демо Perl commit да Функционально — клон gitweb; дизайн неплохой, но в узкую колонку по центру экрана с крупными шрифтами; требует дикую кучу зависимостей с CPAN; скорее мёртв, чем жив — пример лежит (хотя локально запустить удалось), последний коммит 1 апреля 2013.
GitList сайт демо PHP отсутствует да Очень слабый клон gitweb — не умеет почти ничего. Есть, правда, статистика по коду (авторы, расширения файлов, всего файлов, всего байт). Стили github-подобные, на twitter bootstrap.
Klaus сайт демо сайты Python отсутствует Очень слабый просмотрщик, умеет даже меньше gitweb.
GitPHP сайт демо PHP commit да Клон gitweb.
Gitprep сайт демо Perl commit(?) да .md да ± Неполный клон GitHub; есть форканье, архивы, управление ssh-ключами, в 2.0 есть pull request’ы, поиск. Нет RSS. По-видимому, используется push-сервер и отсутствует интеграция с внешними базами данных пользователей.
Gitbucket сайт демо Scala commit, grep(?) да да да (.md, asciidoc, pages) да да да Практически полнофункциональный клон Github, даже API совместимо. Git, как водится, Java’овый, как в Gitblit (JGit), то есть нормальные хуки не поставишь. Есть плагины: оповещения о коммитах на email, бэкап базы данных, Gist (сниппеты), Pages (типа вики), оповещения на рабочем столе, поддержка AsciiDoc, bugspots
GitLab сайт демо Ruby commit, grep да да да да да да ± Нечто похожее на клон GitHub. Есть вагон и тележка всяких дополнительных приблуд типа багтрекера, Wiki, Continuous Integration, Snippet’ов и тому подобного. Написан на Ruby, и, следовательно, ТОРМОЗИТ! Встроенный Push-сервер, использующий стандартный git (можно использовать обычные хуки) и стандартный ssh (на стандартном порту 22), авторизация через SSH-ключи. Умеет LDAP. С версии 6.0 есть платная версия, и Mirroring только в ней. Нет поиска по коммитам во всех репозиториях, только по одному явно выбранному; текст поиска — регистрозависимый регэксп, так что «bug 40933», «Bug 40933» и даже «Bug  40933» (два пробела) — с точки зрения поиска разные строки.
Gitorious сайт демо Ruby commit да .md да да да Открытый код сервиса Gitorious (куплен GitLab’ом и будет остановлен). Review плюс-минус, в виде merge request’ов. Есть управление SSH-ключами и, опять-таки, неотрубаемый push-сервер и отсутствие интеграции с внешними БД пользователей.
RhodeCode сайт выпилено Python fulltext (Whoosh) да да да да да да Изначально создан для Mercurial. Различные методы аутентификации — присутствуют. До версии 1.7.2 был GPL’ным, имел стрёмный дизайн и умел все перечисленные фичи (демо было на demo.rhodecode.org и там как раз дизайн был нормальный), потом его сделали полностью платным (и сразу были посланы куда подальше; появился GPL’ный форк — Kallithea), с версии 4.0 вернули бесплатную версию с неполным функционалом, но демо-сайта теперь нет.
Kallithea сайт демо Python fulltext (Whoosh) да да да да да да да Форк последнего GPL’ного RhodeCode. Теоретически из этого следует, что все фичи RhodeCode должен иметь. Умеет строить графы (показываются в Changelog автоматом) — может быть, и RhodeCode умел?.. Поиск полнотекстовый, по содержимому файлов в последней ревизии и по комментариям к коммитам. Индексы нормальные, дикого места не занимают. Дефолтная тема блевотно-зелёная. Других пока не видел.
Indefero сайт демо PHP отсутствует да да да да Клон Google Code. Умеет LDAP. Также умеет другие системы контроля версий: Mercurial, SVN и monotone O_o
SCM Manager сайт пример Java отсутствует да Есть поддержка SVN, немало плагинов — интеграция с багтрекерами, CI, LDAP и т. п. Но дизайн дико стрёмный, так как сделан на постылом ExtJS — AJAX во все поля, самодельные вкладочки, наношрифты, стандартное ExtJS’овское оформление и т. п. Какой-либо поиск по коммитам, похоже, отсутствует, о графах коммитов не стоит и мечтать.
Gogs сайт демо Go commit да да .md да Внимание: сдох (не развивается), есть форк - Gitea. Код + список фич. Дизайн сильно похож, хоть и не идентичен, гитхабу. Дополнительно умеет форканье, архивы, ленту активности, отслеживание (watching), хуки, почтовые уведомления, Gravatar и вход через социальные сети либо LDAP, SMTP (O_o) либо фронтенд (то есть видимо, через заголовок). А, ещё теги как «релизы» показывает.
Gitea сайт1 сайт2 демо Go commit да да .md да да да Список фич. Форк Gogs. Есть новые фичи, например, git-lfs (large file storage), графы коммитов и онлайн-редактор кода. Есть и полнотекстовый поиск по коду, но сделан он очень плохо, через Bleve, индексирует медленно и жрёт память. А нечего было придумывать - лучше бы заюзали просто PostgreSQL-ный поиск.

В тему — есть ещё ungit, на node.js. Но по-видимому, это скорее веб-клиент, чем серверный веб-интерфейс.