1 <!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.1//EN"
2 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3 <html xmlns=
"http://www.w3.org/1999/xhtml" xml:
lang=
"en">
5 <meta http-equiv=
"Content-Type" content=
"text/html; charset=UTF-8" />
6 <meta name=
"generator" content=
"AsciiDoc 8.4.5" />
7 <title>A short git tools survey
</title>
8 <style type=
"text/css">
10 p
, li
, dt
, dd
, div
, pre
, h1
, h2
, h3
, h4
, h5
, h6
{
12 border: 1px solid red;
17 margin: 1em 5% 1em 5%;
22 text-decoration: underline
;
42 h1
, h2
, h3
, h4
, h5
, h6
{
44 font-family: sans-serif
;
51 border-bottom: 2px solid silver
;
69 border: 1px solid silver
;
88 font-family: sans-serif
;
94 span#revnumber
, span#revdate
, span#revremark
{
95 font-family: sans-serif
;
99 font-family: sans-serif
;
101 border-top: 2px solid silver
;
107 padding-bottom: 0.5em;
111 padding-bottom: 0.5em;
116 margin-bottom: 1.5em;
118 div
.tableblock
, div
.imageblock
, div
.exampleblock
, div
.verseblock
,
119 div
.quoteblock
, div
.literalblock
, div
.listingblock
, div
.sidebarblock
,
120 div
.admonitionblock
{
122 margin-bottom: 1.5em;
124 div
.admonitionblock
{
126 margin-bottom: 2.5em;
129 div
.content
{ /* Block element content. */
133 /* Block element titles. */
134 div
.title
, caption
.title
{
136 font-family: sans-serif
;
140 margin-bottom: 0.5em;
146 td div
.title:first-child
{
149 div
.content div
.title:first-child
{
152 div
.content
+ div
.title
{
156 div
.sidebarblock
> div
.content
{
158 border: 1px solid silver
;
162 div
.listingblock
> div
.content
{
163 border: 1px solid silver
;
172 div
.quoteblock
> div
.attribution
{
181 div
.verseblock
> div
.content
{
184 div
.verseblock
> div
.attribution
{
188 /* DEPRECATED: Pre version 8.2.7 verse style literal block. */
189 div
.verseblock
+ div
.attribution
{
193 div
.admonitionblock
.icon
{
197 text-decoration: underline
;
199 padding-right: 0.5em;
201 div
.admonitionblock td
.content
{
203 border-left: 2px solid silver
;
206 div
.exampleblock
> div
.content
{
207 border-left: 2px solid silver
;
211 div
.imageblock div
.content
{ padding-left: 0; }
212 span
.image img
{ border-style: none
; }
213 a
.image:visited
{ color: white
; }
217 margin-bottom: 0.8em;
230 list-style-position: outside
;
233 list-style-type: decimal
;
236 list-style-type: lower-alpha
;
239 list-style-type: upper-alpha
;
242 list-style-type: lower-roman
;
245 list-style-type: upper-roman
;
248 div
.compact ul
, div
.compact ol
,
249 div
.compact p
, div
.compact p
,
250 div
.compact div
, div
.compact div
{
252 margin-bottom: 0.1em;
255 div
.tableblock
> table
{
256 border: 3px solid
#527bbd;
259 font-family: sans-serif
;
271 /* Because the table frame attribute is overriden by CSS in most browsers. */
272 div
.tableblock
> table
[frame
="void"] {
275 div
.tableblock
> table
[frame
="hsides"] {
276 border-left-style: none
;
277 border-right-style: none
;
279 div
.tableblock
> table
[frame
="vsides"] {
280 border-top-style: none
;
281 border-bottom-style: none
;
287 margin-bottom: 0.8em;
290 padding-bottom: 15px;
292 dt
.hdlist1
.strong
, td
.hdlist1
.strong
{
298 padding-right: 0.8em;
304 div
.hdlist
.compact tr
{
314 div#footer-badges
{ display: none
; }
319 font-family: sans-serif
;
323 margin-bottom: 0.1em;
326 div
.toclevel1
, div
.toclevel2
, div
.toclevel3
, div
.toclevel4
{
342 /* Workarounds for IE6's broken and incomplete CSS2. */
344 div
.sidebar-content
{
346 border: 1px solid silver
;
349 div
.sidebar-title
, div
.image-title
{
351 font-family: sans-serif
;
354 margin-bottom: 0.5em;
357 div
.listingblock div
.content
{
358 border: 1px solid silver
;
363 div
.quoteblock-attribution
{
368 div
.verseblock-content
{
371 div
.verseblock-attribution
{
376 div
.exampleblock-content
{
377 border-left: 2px solid silver
;
381 /* IE6 sets dynamically generated links as visited. */
382 div#toc
a:visited
{ color: blue
; }
387 <h1>A short git tools survey
</h1>
389 <h2 id=
"_introduction">Introduction
</h2>
390 <div class=
"sectionbody">
391 <div class=
"paragraph"><p>Apart from git contrib/ area there are some others third-party tools
392 you may want to look.
</p></div>
393 <div class=
"paragraph"><p>This document presents a brief summary of each tool and the corresponding
396 <h2 id=
"_alternative_augmentative_porcelains">Alternative/Augmentative Porcelains
</h2>
397 <div class=
"sectionbody">
398 <div class=
"ulist"><ul>
401 <strong>Cogito
</strong> (
<a href=
"http://www.kernel.org/pub/software/scm/cogito/">http://www.kernel.org/pub/software/scm/cogito/
</a>)
403 <div class=
"literalblock">
404 <div class=
"content">
405 <pre><tt>Cogito is a version control system layered on top of the git tree history
406 storage system. It aims at seamless user interface and ease of use,
407 providing generally smoother user experience than the
"raw" Core GIT
408 itself and indeed many other version control systems.
</tt></pre>
410 <div class=
"literalblock">
411 <div class=
"content">
412 <pre><tt>Cogito is no longer maintained as most of its functionality
413 is now in core GIT.
</tt></pre>
418 <strong>pg
</strong> (
<a href=
"http://www.spearce.org/category/projects/scm/pg/">http://www.spearce.org/category/projects/scm/pg/
</a>)
420 <div class=
"literalblock">
421 <div class=
"content">
422 <pre><tt>pg is a shell script wrapper around GIT to help the user manage a set of
423 patches to files. pg is somewhat like quilt or StGIT, but it does have a
424 slightly different feature set.
</tt></pre>
429 <strong>StGit
</strong> (
<a href=
"http://www.procode.org/stgit/">http://www.procode.org/stgit/
</a>)
431 <div class=
"literalblock">
432 <div class=
"content">
433 <pre><tt>Stacked GIT provides a quilt-like patch management functionality in the
434 GIT environment. You can easily manage your patches in the scope of GIT
435 until they get merged upstream.
</tt></pre>
440 <h2 id=
"_history_viewers">History Viewers
</h2>
441 <div class=
"sectionbody">
442 <div class=
"ulist"><ul>
445 <strong>gitk
</strong> (shipped with git-core)
447 <div class=
"literalblock">
448 <div class=
"content">
449 <pre><tt>gitk is a simple Tk GUI for browsing history of GIT repositories easily.
</tt></pre>
454 <strong>gitview
</strong> (contrib/)
456 <div class=
"literalblock">
457 <div class=
"content">
458 <pre><tt>gitview is a GTK based repository browser for git
</tt></pre>
463 <strong>gitweb
</strong> (shipped with git-core)
465 <div class=
"literalblock">
466 <div class=
"content">
467 <pre><tt>GITweb provides full-fledged web interface for GIT repositories.
</tt></pre>
472 <strong>qgit
</strong> (
<a href=
"http://digilander.libero.it/mcostalba/">http://digilander.libero.it/mcostalba/
</a>)
474 <div class=
"literalblock">
475 <div class=
"content">
476 <pre><tt>QGit is a git/StGIT GUI viewer built on Qt/C++. QGit could be used
477 to browse history and directory tree, view annotated files, commit
478 changes cherry picking single files or applying patches.
479 Currently it is the fastest and most feature rich among the git
480 viewers and commit tools.
</tt></pre>
485 <strong>tig
</strong> (
<a href=
"http://jonas.nitro.dk/tig/">http://jonas.nitro.dk/tig/
</a>)
487 <div class=
"literalblock">
488 <div class=
"content">
489 <pre><tt>tig by Jonas Fonseca is a simple git repository browser
490 written using ncurses. Basically, it just acts as a front-end
491 for git-log and git-show/git-diff. Additionally, you can also
492 use it as a pager for git commands.
</tt></pre>
497 <h2 id=
"_foreign_scm_interface">Foreign SCM interface
</h2>
498 <div class=
"sectionbody">
499 <div class=
"ulist"><ul>
502 <strong>git-svn
</strong> (shipped with git-core)
504 <div class=
"literalblock">
505 <div class=
"content">
506 <pre><tt>git-svn is a simple conduit for changesets between a single Subversion
507 branch and git.
</tt></pre>
512 <strong>quilt2git / git2quilt
</strong> (
<a href=
"http://home-tj.org/wiki/index.php/Misc">http://home-tj.org/wiki/index.php/Misc
</a>)
514 <div class=
"literalblock">
515 <div class=
"content">
516 <pre><tt>These utilities convert patch series in a quilt repository and commit
517 series in git back and forth.
</tt></pre>
522 <strong>hg-to-git
</strong> (contrib/)
524 <div class=
"literalblock">
525 <div class=
"content">
526 <pre><tt>hg-to-git converts a Mercurial repository into a git one, and
527 preserves the full branch history in the process. hg-to-git can
528 also be used in an incremental way to keep the git repository
529 in sync with the master Mercurial repository.
</tt></pre>
534 <h2 id=
"_others">Others
</h2>
535 <div class=
"sectionbody">
536 <div class=
"ulist"><ul>
539 <strong>(h)gct
</strong> (
<a href=
"http://www.cyd.liu.se/users/~freku045/gct/">http://www.cyd.liu.se/users/~freku045/gct/
</a>)
541 <div class=
"literalblock">
542 <div class=
"content">
543 <pre><tt>Commit Tool or (h)gct is a GUI enabled commit tool for git and
544 Mercurial (hg). It allows the user to view diffs, select which files
545 to committed (or ignored / reverted) write commit messages and
546 perform the commit itself.
</tt></pre>
551 <strong>git.el
</strong> (contrib/)
553 <div class=
"literalblock">
554 <div class=
"content">
555 <pre><tt>This is an Emacs interface for git. The user interface is modeled on
556 pcl-cvs. It has been developed on Emacs
21 and will probably need some
557 tweaking to work on XEmacs.
</tt></pre>
561 <div class=
"paragraph"><p><a href=
"http://git.or.cz/gitwiki/InterfacesFrontendsAndTools">http://git.or.cz/gitwiki/InterfacesFrontendsAndTools
</a> has more
562 comprehensive list.
</p></div>
565 <div id=
"footer-text">
566 Last updated
2008-
09-
19 06:
28:
28 UTC