Git веб-интерфейсы

Версия от 16:13, 13 января 2014; VitaliyFilippov (обсуждение | вклад)

Название Сайт Демо Язык Поиск Созд Баги Wiki Review PullReq Примечания
gitweb https://git.wiki.kernel.org/index.php/Gitweb https://gitweb.torproject.org/ Perl commit, grep Поиск по комменту/автору/дате, а также содержимому файлов, но без полнотекстового движка, то есть grep’ом (медленно).
cgit http://hjemli.net/git/cgit/ http://cgit.freedesktop.org/ C commit Клон gitweb.
Gitblit http://gitblit.com https://git.wikimedia.org/ Java fulltext (Lucene) да Интегрируется с различными системами аутентификации.
ViewGit http://viewgit.fealdia.org/ https://os.inf.tu-dresden.de/~mroi/git/ PHP commit Клон gitweb.
Gitalist http://www.gitalist.com/ http://example.gitalist.com/ Perl commit Функционально — клон gitweb; дизайн неплохой, но в узкую колонку по центру экрана с крупными шрифтами; требует дикую кучу зависимостей с CPAN; скорее мёртв, чем жив — пример лежит (хотя локально запустить удалось), последний коммит 1 апреля 2013.
GitList http://gitlist.org/ http://repo.blindmikey.com/oEdit.git/ PHP отсутствует Очень слабый клон gitweb — не умеет почти ничего. Есть, правда, статистика по коду (авторы, расширения файлов, всего файлов, всего байт). Стили github-подобные, на twitter bootstrap.
GitPHP http://www.gitphp.org/ http://source.gitphp.org/ PHP commit Клон gitweb.
Gitprep http://www.gitprep.org/ http://perlcodesample.sakura.ne.jp/gitprep.cgi Perl отсутствует да Markdown Визуальный клон GitHub; есть форканье, архивы. Не хватает RSS, поиска и pull request’ов.
GitLab http://gitlab.org/ http://demo.gitlab.com Ruby commit да да да да да (неполный) клон GitHub. Неотрубаемый встроенный Push-сервер, авторизация через SSH-ключи. С версии 6.0 есть платная версия, но, вроде, открытость пока не пострадала.
Gitorious http://gitorious.org/ http://gitorious.org/ Ruby commit да да да Открытый код сервиса Gitorious. Review плюс-минус, в виде merge request’ов. Есть управление SSH-ключами.
RhodeCode http://rhodecode.org/ выпилено (было demo.rhodecode.org) Python fulltext (Whoosh) да да да да да Основная поддержка — Mercurial. Визуальная тема оформления — страшный отстой (на демо была нормальная, но её нет в комплекте поставки). И вообще — RhodeCode теперь будет платным продуктом, так что ну его нафиг.
Indefero http://www.indefero.net/ http://www.jooria.com/scripts/demos/871 PHP отсутствует да да да да Клон Google Code. Также умеет Mercurial, SVN и monotone O_o

RSS умеют все, кроме gitprep. Граф коммитов не показывает ни один из перечисленных O_o

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

Do you want to try some new features? By joining the beta, you will get access to experimental features, at the risk of encountering bugs and issues.

Ок Нет, спасибо

Содержание

Допилить 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 доменной авторизацией
  •  — От лент активности (кроме коммитов, ленты которых и так есть) в связи с отсутствием «социальных» фич тоже проку мало