Merge branch 'rs/archive'
[git/builtin-gsoc.git] / Documentation / git-tools.txt
blob10653ff898c2278f127f097ddf4a79db5615c802
1 A short git tools survey
2 ========================
5 Introduction
6 ------------
8 Apart from git contrib/ area there are some others third-party tools
9 you may want to look.
11 This document presents a brief summary of each tool and the corresponding
12 link.
15 Alternative/Augmentative Porcelains
16 -----------------------------------
18    - *Cogito* (http://www.kernel.org/pub/software/scm/cogito/)
20    Cogito is a version control system layered on top of the git tree history
21    storage system. It aims at seamless user interface and ease of use,
22    providing generally smoother user experience than the "raw" Core GIT
23    itself and indeed many other version control systems.
26    - *pg* (http://www.spearce.org/category/projects/scm/pg/)
28    pg is a shell script wrapper around GIT to help the user manage a set of
29    patches to files. pg is somewhat like quilt or StGIT, but it does have a
30    slightly different feature set.
33    - *StGit* (http://www.procode.org/stgit/)
35    Stacked GIT provides a quilt-like patch management functionality in the
36     GIT environment. You can easily manage your patches in the scope of GIT
37    until they get merged upstream.
40 History Viewers
41 ---------------
43    - *gitk* (shipped with git-core)
45    gitk is a simple Tk GUI for browsing history of GIT repositories easily.
48    - *gitview*  (contrib/)
50    gitview is a GTK based repository browser for git
53    - *gitweb* (shipped with git-core)
55    GITweb provides full-fledged web interface for GIT repositories.
58    - *qgit* (http://digilander.libero.it/mcostalba/)
60    QGit is a git/StGIT GUI viewer built on Qt/C++. QGit could be used
61    to browse history and directory tree, view annotated files, commit
62    changes cherry picking single files or applying patches.
63    Currently it is the fastest and most feature rich among the git
64    viewers and commit tools.
66    - *tig* (http://jonas.nitro.dk/tig/)
68    tig by Jonas Fonseca is a simple git repository browser
69    written using ncurses. Basically, it just acts as a front-end
70    for git-log and git-show/git-diff. Additionally, you can also
71    use it as a pager for git commands.
74 Foreign SCM interface
75 ---------------------
77    - *git-svn* (shipped with git-core)
79    git-svn is a simple conduit for changesets between a single Subversion
80    branch and git.
83    - *quilt2git / git2quilt* (http://home-tj.org/wiki/index.php/Misc)
85    These utilities convert patch series in a quilt repository and commit
86    series in git back and forth.
89    - *hg-to-git* (contrib/)
91    hg-to-git converts a Mercurial repository into a git one, and
92    preserves the full branch history in the process. hg-to-git can
93    also be used in an incremental way to keep the git repository
94    in sync with the master Mercurial repository.
97 Others
98 ------
100    - *(h)gct* (http://www.cyd.liu.se/users/~freku045/gct/)
102    Commit Tool or (h)gct is a GUI enabled commit tool for git and
103    Mercurial (hg). It allows the user to view diffs, select which files
104    to committed (or ignored / reverted) write commit messages and
105    perform the commit itself.
107    - *git.el* (contrib/)
109    This is an Emacs interface for git. The user interface is modeled on
110    pcl-cvs. It has been developed on Emacs 21 and will probably need some
111    tweaking to work on XEmacs.
114 http://git.or.cz/gitwiki/InterfacesFrontendsAndTools has more
115 comprehensive list.