Git веб-интерфейсы — различия между версиями
Материал из YourcmcWiki
м |
м |
||
Строка 3: | Строка 3: | ||
! Название | ! Название | ||
! Сайт | ! Сайт | ||
+ | ! Демо | ||
! Язык | ! Язык | ||
! Поиск | ! Поиск | ||
− | ! <abbr title="Создание/удаление репозиториев, управление правами доступами"> | + | ! <abbr title="Создание/удаление репозиториев, управление правами доступами">Созд</abbr> |
! Баги | ! Баги | ||
! Wiki | ! Wiki | ||
Строка 14: | Строка 15: | ||
| gitweb | | gitweb | ||
| https://git.wiki.kernel.org/index.php/Gitweb | | https://git.wiki.kernel.org/index.php/Gitweb | ||
+ | | https://gitweb.torproject.org/ | ||
| Perl | | Perl | ||
| commit, grep | | commit, grep | ||
Строка 25: | Строка 27: | ||
| cgit | | cgit | ||
| http://hjemli.net/git/cgit/ | | http://hjemli.net/git/cgit/ | ||
+ | | http://cgit.freedesktop.org/ | ||
| C | | C | ||
| commit | | commit | ||
Строка 36: | Строка 39: | ||
| Gitblit | | Gitblit | ||
| http://gitblit.com | | http://gitblit.com | ||
+ | | https://git.wikimedia.org/ | ||
| Java | | Java | ||
|style="color: white; background: green"| fulltext (Lucene) | |style="color: white; background: green"| fulltext (Lucene) | ||
Строка 47: | Строка 51: | ||
| ViewGit | | ViewGit | ||
| http://viewgit.fealdia.org/ | | http://viewgit.fealdia.org/ | ||
+ | | https://os.inf.tu-dresden.de/~mroi/git/ | ||
| PHP | | PHP | ||
| commit | | commit | ||
| | | | ||
− | | | + | | |
| | | | ||
| | | | ||
Строка 58: | Строка 63: | ||
| Gitalist | | Gitalist | ||
| http://www.gitalist.com/ | | http://www.gitalist.com/ | ||
+ | | http://example.gitalist.com/ | ||
| Perl | | Perl | ||
| ??? | | ??? | ||
Строка 65: | Строка 71: | ||
| | | | ||
| | | | ||
− | | Скорее мёртв, чем жив. | + | | Скорее мёртв, чем жив. Пример лежит. |
|- | |- | ||
| GitList | | GitList | ||
| http://gitlist.org/ | | http://gitlist.org/ | ||
+ | | http://repo.blindmikey.com/oEdit.git/ | ||
| PHP | | PHP | ||
| отсутствует | | отсутствует | ||
+ | | | ||
| | | | ||
| | | | ||
| | | | ||
| | | | ||
− | + | | Очень слабый клон gitweb - не умеет почти ничего. Есть, правда, статистика по коду (авторы, расширения файлов, всего файлов, всего байт). Стили github-подобные, на twitter bootstrap. | |
− | | Очень слабый клон gitweb, | + | |
|- | |- | ||
| GitPHP | | GitPHP | ||
| http://www.gitphp.org/ | | http://www.gitphp.org/ | ||
+ | | http://source.gitphp.org/ | ||
| PHP | | PHP | ||
| commit | | commit | ||
Строка 91: | Строка 99: | ||
| GitLab | | GitLab | ||
| http://gitlab.org/ | | http://gitlab.org/ | ||
+ | | http://demo.gitlab.com | ||
| Ruby | | Ruby | ||
| commit | | commit | ||
Строка 98: | Строка 107: | ||
|style="color: white; background: green"| да | |style="color: white; background: green"| да | ||
|style="color: white; background: green"| да | |style="color: white; background: green"| да | ||
− | | | + | | (неполный) клон GitHub. Есть управление SSH-ключами. С версии 6.0 появится платная версия. |
|- | |- | ||
| Gitorious | | Gitorious | ||
+ | | http://gitorious.org/ | ||
| http://gitorious.org/ | | http://gitorious.org/ | ||
| Ruby | | Ruby | ||
Строка 113: | Строка 123: | ||
| <s>RhodeCode</s> | | <s>RhodeCode</s> | ||
| http://rhodecode.org/ | | http://rhodecode.org/ | ||
+ | | выпилено (было demo.rhodecode.org) | ||
| Python | | Python | ||
|style="color: white; background: green"| fulltext (Whoosh) | |style="color: white; background: green"| fulltext (Whoosh) | ||
Строка 124: | Строка 135: | ||
| Indefero | | Indefero | ||
| http://www.indefero.net/ | | http://www.indefero.net/ | ||
+ | | http://www.jooria.com/scripts/demos/871 | ||
| PHP | | PHP | ||
| ??? | | ??? | ||
Строка 134: | Строка 146: | ||
|} | |} | ||
− | RSS умеют все. | + | RSS умеют все. Граф коммитов не показывает ни один из перечисленных O_o |
+ | |||
+ | В тему — есть ещё [https://github.com/FredrikNoren/ungit ungit], на node.js. Но по-видимому, это скорее веб-клиент, чем серверный веб-интерфейс. | ||
== Допилить ViewVC? == | == Допилить ViewVC? == | ||
Строка 141: | Строка 155: | ||
* Чтение коммитов, открытие файла, annotate | * Чтение коммитов, открытие файла, annotate | ||
* Commit hook | * Commit hook | ||
− | После чего оно уже, в принципе, становится юзабельным, и сразу имеет офигенский поиск (уже мною реализованный на Sphinx’е). И, кстати, будет одной из немногих систем, поддерживающих и централизованные, и децентрализованные VCSы. | + | После чего оно уже, в принципе, становится юзабельным, и сразу имеет офигенский поиск (уже мною реализованный на Sphinx’е). И, кстати, будет одной из немногих систем, поддерживающих и централизованные, и децентрализованные VCSы (из вышеперечисленных такое умеет только Indefero). |
Однако для DVCS’ов всё-таки хочется: | Однако для DVCS’ов всё-таки хочется: |
Версия 18:17, 27 августа 2013
Название | Сайт | Демо | Язык | Поиск | Созд | Баги | 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. | |||||
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-ключами. | ||
|
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 умеют все. Граф коммитов не показывает ни один из перечисленных O_o
В тему — есть ещё ungit, на node.js. Но по-видимому, это скорее веб-клиент, чем серверный веб-интерфейс.
Допилить ViewVC?
Кстати о птичках — можно же допилить поддержку Git (и hg, если охота) к ViewVC! И это совсем не сложно. Базовые фичи (интерфейс к репозиторию):
- Чтение коммитов, открытие файла, annotate
- Commit hook
После чего оно уже, в принципе, становится юзабельным, и сразу имеет офигенский поиск (уже мною реализованный на Sphinx’е). И, кстати, будет одной из немногих систем, поддерживающих и централизованные, и децентрализованные VCSы (из вышеперечисленных такое умеет только Indefero).
Однако для DVCS’ов всё-таки хочется:
- Граф коммитов (индексируемый в базу)
Правда, чтобы оно было похоже на Gitlab и ему подобных, нужны «активные» фичи:
- Code review — комментарии к коммитам и к строчкам кода
- Личные репозитории, возможность разграничения прав на них (элементарно путём POSIX ACL)
- Возможно, открывать на главной страницы свои последние коммиты?
- README и отображение подмножества разметки MediaWiki (а то и просто ?action=render)
Зато при этом:
- — Багтрекер и Wiki не нужны вообще
- — Клонирование одним тыком малополезно
- — Pull request’ы при наличии Code review тоже малополезны, так как workflow не корпоративный
- — Онлайн-редактор файлов в репозитории из браузера не нужен
- — Заметки типа Gist’ов — малополезны
- — Push-сервер не нужен, так как можно юзать стандартный ssh в chroot, и даже с krb5 доменной авторизацией
- — От лент активности (кроме коммитов, ленты которых и так есть) в связи с отсутствием «социальных» фич тоже проку мало