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

Материал из YourcmcWiki
Перейти к: навигация, поиск
м
м
Строка 143: Строка 143:
 
|style="color: white; background: green"| да
 
|style="color: white; background: green"| да
 
|style="color: white; background: green"| да
 
|style="color: white; background: green"| да
| Основная поддержка — Mercurial. Визуальная тема оформления — страшный отстой (на демо была нормальная, но её нет в комплекте поставки). И вообще — RhodeCode теперь будет платным продуктом, так что ну его нафиг.
+
| Основная поддержка — Mercurial. Визуальная тема оформления — страшный отстой (на демо была нормальная, но её нет в комплекте поставки). Последняя нормальная GPL версия — 1.7.2 (перечисленные фичи имеет); более новые — исключительно платные, так что ну его нафиг.
 
|-
 
|-
 
| Indefero
 
| Indefero

Версия 15:17, 14 января 2014

Название Сайт Демо Язык Поиск Созд Баги 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 да Markdown да да Открытый код сервиса Gitorious. Review плюс-минус, в виде merge request’ов. Есть управление SSH-ключами.
RhodeCode http://rhodecode.org/ выпилено (было demo.rhodecode.org) Python fulltext (Whoosh) да да да да да Основная поддержка — Mercurial. Визуальная тема оформления — страшный отстой (на демо была нормальная, но её нет в комплекте поставки). Последняя нормальная GPL версия — 1.7.2 (перечисленные фичи имеет); более новые — исключительно платные, так что ну его нафиг.
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. Но по-видимому, это скорее веб-клиент, чем серверный веб-интерфейс.

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