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

Версия от 00:37, 26 декабря 2013; 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  ??? Скорее мёртв, чем жив. Пример лежит.
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. Есть управление 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 доменной авторизацией
  •  — От лент активности (кроме коммитов, ленты которых и так есть) в связи с отсутствием «социальных» фич тоже проку мало