Gitweb
(Added an entry for Gitalist in the "Other web interfaces" section.) |
(→See also) |
||
(20 intermediate revisions by 16 users not shown) | |||
Line 1: | Line 1: | ||
− | = Project information = | + | == Project information == |
* ''Author'': Originally written by Kay Sievers < kay.sievers@vrfy.org > | * ''Author'': Originally written by Kay Sievers < kay.sievers@vrfy.org > | ||
* ''Maintainer'': Git mailing list < git@vger.kernel.org > | * ''Maintainer'': Git mailing list < git@vger.kernel.org > | ||
Line 5: | Line 5: | ||
* ''License'': GPLv2 | * ''License'': GPLv2 | ||
− | = Project description = | + | == Project description == |
− | ''''Gitweb'''' is a [[Git]] web interface | + | ''''Gitweb'''' is a [[Git]] web interface. It is written in Perl and can be used as a CGI script, or as a mod_perl legacy script (run by ModPerl::Registry handler). It allows browsing a git repository (or a set of git repositories) using a web browser. |
Using gitweb you can browse directory trees at arbitrary revisions, view contents of files (blobs), see log or shortlog of a given branch, examine commits, commit messages and changes made by a given commit. Gitweb can generate feeds in RSS or Atom format. You can get any given version of a file; if not disabled you can download a snapshot of a given version of a project (project tree at given revision). You can search (if it is not disabled) for commits by an author, added to repository by a comitter, commit with commit message (commit description) which includes some text. | Using gitweb you can browse directory trees at arbitrary revisions, view contents of files (blobs), see log or shortlog of a given branch, examine commits, commit messages and changes made by a given commit. Gitweb can generate feeds in RSS or Atom format. You can get any given version of a file; if not disabled you can download a snapshot of a given version of a project (project tree at given revision). You can search (if it is not disabled) for commits by an author, added to repository by a comitter, commit with commit message (commit description) which includes some text. | ||
Line 12: | Line 12: | ||
There even exists a <code><nowiki>git-instaweb</nowiki></code> script to setup gitweb and a web server for browsing the local repository. | There even exists a <code><nowiki>git-instaweb</nowiki></code> script to setup gitweb and a web server for browsing the local repository. | ||
− | == | + | == Getting gitweb == |
+ | gitweb is part of the Git distribution. | ||
+ | == See also == | ||
+ | * [https://git-scm.com/book/en/v2/Git-on-the-Server-GitWeb Git on the Server - GitWeb] | ||
* [[InterfacesFrontendsAndTools#WebInterface|gitweb entry in InterfacesFrontendsAndTools page]] | * [[InterfacesFrontendsAndTools#WebInterface|gitweb entry in InterfacesFrontendsAndTools page]] | ||
* [[GitwebWishlist]] | * [[GitwebWishlist]] | ||
− | * [http:// | + | * [http://git-scm.com/docs/git-instaweb git-instaweb(1) Manual Page] |
== Documentation == | == Documentation == | ||
Line 29: | Line 32: | ||
== Other web interfaces == | == Other web interfaces == | ||
+ | * [http://github.com/ GitHub] a hosted (closed source) solution by GitHub Inc. Free for public repositories, slick interface, encourages social coding. | ||
+ | * [https://about.gitlab.com/ GitLab] an open source solution by GitLab Inc. There is also a paid enterprise edition and free public and private hosting on GitLab.com. | ||
* [http://hjemli.net/git/cgit/ cgit] (doubles as homepage) by Lars Hjemli in C (compiled CGI), uses libgit.a, has builtin caching, fast | * [http://hjemli.net/git/cgit/ cgit] (doubles as homepage) by Lars Hjemli in C (compiled CGI), uses libgit.a, has builtin caching, fast | ||
* [http://www.grmso.net:8090/ wit] ([http://www.absolutegiganten.org/wit/ download]) by Christian Meder in Python, uses PATH_INFO extensively. ''(defunct, no longer maintained)'' | * [http://www.grmso.net:8090/ wit] ([http://www.absolutegiganten.org/wit/ download]) by Christian Meder in Python, uses PATH_INFO extensively. ''(defunct, no longer maintained)'' | ||
* [http://git.flameeyes.is-a-geek.org/gitarella/ gitarella] ([http://flameeyes.is-a-geek.org/projects#gitarella homepage]) by Flameeyes in Ruby, supports CGI and Fast<code><nowiki></nowiki></code>CGI interfaces. Inspired by gitweb. ''(demo no longer works)'' | * [http://git.flameeyes.is-a-geek.org/gitarella/ gitarella] ([http://flameeyes.is-a-geek.org/projects#gitarella homepage]) by Flameeyes in Ruby, supports CGI and Fast<code><nowiki></nowiki></code>CGI interfaces. Inspired by gitweb. ''(demo no longer works)'' | ||
* [http://dan.chokola.com/wit/ Wit] ([http://dan.chokola.com/software/wit.rhtml homepage]) by Daniel Chokola in Ruby/eRuby. Easy setup, configuration (YAML), and customization (customizable CSS, templates), clean code. | * [http://dan.chokola.com/wit/ Wit] ([http://dan.chokola.com/software/wit.rhtml homepage]) by Daniel Chokola in Ruby/eRuby. Easy setup, configuration (YAML), and customization (customizable CSS, templates), clean code. | ||
− | * | + | * [http://code.google.com/p/git-php/ git-php] (doubles as homepage) by Zack Bartel in PHP. Goals: robust, customizable. Gitweb look-alike. |
− | + | ||
* [http://viewgit.sourceforge.net/ viewgit]: another PHP git repository browser written from scratch. | * [http://viewgit.sourceforge.net/ viewgit]: another PHP git repository browser written from scratch. | ||
* [http://www.gitalist.com/ Gitalist]: by Dan Brook, Tom Doran and Zac Stevens in Perl. Built on Catalyst and inspired by the original <code>gitweb</code>. | * [http://www.gitalist.com/ Gitalist]: by Dan Brook, Tom Doran and Zac Stevens in Perl. Built on Catalyst and inspired by the original <code>gitweb</code>. | ||
+ | * [http://github.com/sethtrain/django-git/ django-git]: by Seth Buntin. A simple gitweb replacement built with Django. | ||
+ | * [http://github.com/codigorama/git-webby/ Git-Webby]: by Hallison Batista. Git Smart HTTP Ruby/Sinatra implementation with a JSON API for browsing of code. | ||
+ | * [http://github.com/otac0n/WebGitNet/ WebGit .NET]: by John Gietzen. IIS Hosting for Git "Smart HTTP" using ASP.NET MVC | ||
+ | |||
---- | ---- |
Latest revision as of 15:12, 18 May 2020
[edit] Project information
- Author: Originally written by Kay Sievers < kay.sievers@vrfy.org >
- Maintainer: Git mailing list < git@vger.kernel.org >
- Repository: From the git version 1.4.0 gitweb is bundled with git
- License: GPLv2
[edit] Project description
'Gitweb' is a Git web interface. It is written in Perl and can be used as a CGI script, or as a mod_perl legacy script (run by ModPerl::Registry handler). It allows browsing a git repository (or a set of git repositories) using a web browser.
Using gitweb you can browse directory trees at arbitrary revisions, view contents of files (blobs), see log or shortlog of a given branch, examine commits, commit messages and changes made by a given commit. Gitweb can generate feeds in RSS or Atom format. You can get any given version of a file; if not disabled you can download a snapshot of a given version of a project (project tree at given revision). You can search (if it is not disabled) for commits by an author, added to repository by a comitter, commit with commit message (commit description) which includes some text.
There even exists a git-instaweb
script to setup gitweb and a web server for browsing the local repository.
[edit] Getting gitweb
gitweb is part of the Git distribution.
[edit] See also
- Git on the Server - GitWeb
- gitweb entry in InterfacesFrontendsAndTools page
- GitwebWishlist
- git-instaweb(1) Manual Page
[edit] Documentation
- gitweb/README (txt), describes build configuration variables, runtime configuration, and example webserver (Apache) configuration.
- gitweb/INSTALL (txt), describes how to build gitweb, build time configuration, gitweb config file, how to set-up gitweb repositories and repo specific config, and two example webserver (Apache2) configurations.
[edit] Notable forks
- gitweb-xmms2 (gitweb with XMMS2 project modifications) by Sham Chukoury. Forked off before gitweb was included in the git repository. Extra features (added usually in project specific way) include: committags support (i.e. BUG(nn) is hyperlink to appropriate issue in Mantis bug tracker), syntax highlighting in 'blob' view, generating anchors to function definitions with the help of on-the-fly generated tags file. It implemented snapshot support and had separate CSS file before mainline gitweb.
- repo.or.cz (custom gitweb patches) by Petr Baudis. Uses the current version of gitweb as base, has all features enabled. Includes extra scripts for creating and managing repositories, and integration with git-browser, a graphical history viewer in JavaScript.
- kernel.org (gitweb w/ caching) by John 'Warthog9' Hawley. Adds gitweb-specific caching support on top of generic gitweb. Split into many smaller modules.
[edit] Other web interfaces
- GitHub a hosted (closed source) solution by GitHub Inc. Free for public repositories, slick interface, encourages social coding.
- GitLab an open source solution by GitLab Inc. There is also a paid enterprise edition and free public and private hosting on GitLab.com.
- cgit (doubles as homepage) by Lars Hjemli in C (compiled CGI), uses libgit.a, has builtin caching, fast
- wit (download) by Christian Meder in Python, uses PATH_INFO extensively. (defunct, no longer maintained)
- gitarella (homepage) by Flameeyes in Ruby, supports CGI and Fast
CGI interfaces. Inspired by gitweb. (demo no longer works)
- Wit (homepage) by Daniel Chokola in Ruby/eRuby. Easy setup, configuration (YAML), and customization (customizable CSS, templates), clean code.
- git-php (doubles as homepage) by Zack Bartel in PHP. Goals: robust, customizable. Gitweb look-alike.
- viewgit: another PHP git repository browser written from scratch.
- Gitalist: by Dan Brook, Tom Doran and Zac Stevens in Perl. Built on Catalyst and inspired by the original
gitweb
. - django-git: by Seth Buntin. A simple gitweb replacement built with Django.
- Git-Webby: by Hallison Batista. Git Smart HTTP Ruby/Sinatra implementation with a JSON API for browsing of code.
- WebGit .NET: by John Gietzen. IIS Hosting for Git "Smart HTTP" using ASP.NET MVC