Gitweb

From Git SCM Wiki
(Difference between revisions)
Jump to: navigation, search
(link to repo.or.cz's git-browser instead)
(See also)
 
(45 intermediate revisions by 22 users not shown)
Line 1: Line 1:
= Project description =
+
== 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
  
<b><i>Gitweb</b></i> is [[Git]] web interface, the one working on [http://www.kernel.org/git/ http://www.kernel.org/git/]. It is written in Perl, and can be used as CGI script, or as mod_perl legacy script (run by ModPerl::Registry handler). It allows to browse git repository (or a set of git repositories) using web browser.
+
== 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 tree at arbitrary revision, view contents of files (blobs), see log or shortlog of given branch, examine commit: its commit message and changes made by given commit.  Gitweb can generate feeds in RSS or Atom format.  You can get given version of a file; if not disabled you can download 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.
  
There even exists `git-instaweb` 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.
  
<b>See also:</b>
+
== Getting gitweb ==
* [[Self:InterfacesFrontendsAndTools#gitweb|gitweb entry in [[InterfacesFrontendsAndTools]]] page]
+
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]]
 
* [[GitwebWishlist]]
 
* [[GitwebWishlist]]
 +
* [http://git-scm.com/docs/git-instaweb git-instaweb(1) Manual Page]
  
== Notable forks ==
+
== Documentation ==
  
* [http://git.xmms.se/?p=gitweb-xmms2.git;a=summary gitweb-xmms2] (gitweb with XMMS2 project modifications) by Sham Chukoury. Forked off before gitweb was included in git repository. Extra features (added usually in project specific way) include: committags support (i.e. <u>BUG(nn)</u> is hyperlink to appropriate issue in Mantis bug tracker), syntax highlighting in 'blob' view, generating anchors to function definition with the help of generated on the fly tags file. It implemented snapshot support and had separate CSS file before mainline gitweb.
+
* [http://repo.or.cz/w/alt-git.git?a=blob_plain;f=gitweb/README gitweb/README] (txt), describes build configuration variables, runtime configuration, and example webserver (Apache) configuration.
* [http://repo.or.cz/w/git/repo.git repo.or.cz] (custom gitweb patches) by Petr Baudis. Uses current version of gitweb as base, has all features enabled. Includes extra scripts for creating and managing repositories, and integration with [http://repo.or.cz/w/git-browser.git/ git-browser], graphical history viewer in JavaScript.
+
* [http://repo.or.cz/w/alt-git.git?a=blob_plain;f=gitweb/INSTALL 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.
 +
 
 +
== Notable forks ==
 +
* [http://git.xmms.se/?p=gitweb-xmms2.git;a=summary 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. <u>BUG(nn)</u> 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.
 +
* [http://repo.or.cz/w/git/repo.git 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 [http://repo.or.cz/w/git-browser.git/ git-browser], a graphical history viewer in JavaScript.
 
* [http://www.kernel.org/git/?p=git/warthog9/gitweb.git;a=summary kernel.org] (gitweb w/ caching) by John 'Warthog9' Hawley. Adds gitweb-specific caching support on top of generic gitweb. Split into many smaller modules.
 
* [http://www.kernel.org/git/?p=git/warthog9/gitweb.git;a=summary kernel.org] (gitweb w/ caching) by John 'Warthog9' Hawley. Adds gitweb-specific caching support on top of generic gitweb. Split into many smaller modules.
  
 
== 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://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://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://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
  
* [http://hjemli.net/git/cgit/ cgit] 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.
 
* [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 FastCGI interfaces. Inspired by gitweb.
 
* [http://zackb.org/git-php/git.php git-php] ([http://code.google.com/p/git-php/ homepage]) by Zack Bartel in PHP. Goals: robust, customizable. Gitweb look-alike.
 
 
= Project information =
 
 
* <b>Author</b>: Originally written by Kay Sievers <kay.sievers@vrfy.org>
 
* <b>Maintainer</b>: Git mailing list <git@vger.kernel.org>
 
* <b>Repository</b>: From the git version 1.4.0 gitweb is bundled with git
 
* <b>License</b>: GPLv2
 
  
 
----
 
----
[[CategoryTools]]
+
[[Category:Tools]] [[Category:WebInterfaces]]
  
 
__NOTOC__
 
__NOTOC__

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

[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 FastCGI 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



Personal tools