Gitweb

From Git SCM Wiki
(Difference between revisions)
Jump to: navigation, search
(Reverting spam edit)
(Talk)
Line 14: Line 14:
 
== See also ==
 
== See also ==
  
* [[InterfacesFrontendsAndTools#gitweb|gitweb entry in [[InterfacesFrontendsAndTools]] page]]
+
* [[InterfacesFrontendsAndTools#[[WebInterface]]|gitweb entry in [[InterfacesFrontendsAndTools]] page]]
 
* [[GitwebWishlist]]
 
* [[GitwebWishlist]]
 
* [[http://www.kernel.org/pub/software/scm/git/docs/git-instaweb.html|git-instaweb(1) Manual Page]]
 
* [[http://www.kernel.org/pub/software/scm/git/docs/git-instaweb.html|git-instaweb(1) Manual Page]]

Revision as of 11:31, 11 October 2009

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

Project description

Gitweb</b> is a Git web interface, the one working on http://www.kernel.org/git/. 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.

See also

Documentation

  • [[1]] (txt), describes build configuration variables, runtime configuration, and example webserver (Apache) configuration.
  • [[2]] (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

  • [[3]] (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.
  • [[4]] (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 [[5]], a graphical history viewer in JavaScript.
  • [[6]] (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

  • [[7]] (doubles as homepage) by Lars Hjemli in C (compiled CGI), uses libgit.a, has builtin caching, fast
  • [[8]] ([[9]]) by Christian Meder in Python, uses PATH_INFO extensively. (defunct, no longer maintained)
  • [[10]] ([[11]]) by Flameeyes in Ruby, supports CGI and FastCGI interfaces. Inspired by gitweb. (demo no longer works)
  • [[12]] ([[13]]) by Daniel Chokola in Ruby/eRuby. Easy setup, configuration (YAML), and customization (customizable CSS, templates), clean code.
  • [[14]] ([[15]]) by Zack Bartel in PHP. Goals: robust, customizable. Gitweb look-alike.<
    >
[[16]] ([[17]]) by Peeter Vois in PHP. Continuation of work by Zack Bartel.
  • [[18]]: another PHP git repository browser written from scratch.

CategoryTools CategoryWebInterfaces

Personal tools