summaryrefslogtreecommitdiffstats
path: root/git-tools.html
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2012-12-18 16:43:11 -0800
committerJunio C Hamano <gitster@pobox.com>2012-12-18 16:43:11 -0800
commit9d9711544dc3090db6e5c52f9ce9c300bf4f5c14 (patch)
tree23257b9801739fd96c9e82ef98a17500dce9f88e /git-tools.html
parent9629d4f49e5ffcff5c5beb5c40bedcffcabcd905 (diff)
downloadgit-htmldocs-9d9711544dc3090db6e5c52f9ce9c300bf4f5c14.tar.gz
Autogenerated HTML docs for v1.8.1-rc2-5-g252f9
Diffstat (limited to 'git-tools.html')
-rw-r--r--git-tools.html434
1 files changed, 312 insertions, 122 deletions
diff --git a/git-tools.html b/git-tools.html
index 4e9921e22..e2b89358f 100644
--- a/git-tools.html
+++ b/git-tools.html
@@ -2,15 +2,25 @@
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-<meta name="generator" content="AsciiDoc 8.5.2" />
+<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
+<meta name="generator" content="AsciiDoc 8.6.8" />
<title>A short git tools survey</title>
<style type="text/css">
-/* Debug borders */
-p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {
-/*
- border: 1px solid red;
-*/
+/* Shared CSS for AsciiDoc xhtml11 and html5 backends */
+
+/* Default font. */
+body {
+ font-family: Georgia,serif;
+}
+
+/* Title font. */
+h1, h2, h3, h4, h5, h6,
+div.title, caption.title,
+thead, p.table.header,
+#toctitle,
+#author, #revnumber, #revdate, #revremark,
+#footer {
+ font-family: Arial,Helvetica,sans-serif;
}
body {
@@ -35,13 +45,8 @@ strong {
color: #083194;
}
-tt {
- color: navy;
-}
-
h1, h2, h3, h4, h5, h6 {
color: #527bbd;
- font-family: sans-serif;
margin-top: 1.2em;
margin-bottom: 0.5em;
line-height: 1.3;
@@ -59,9 +64,11 @@ h3 {
h3 + * {
clear: left;
}
+h5 {
+ font-size: 1.0em;
+}
div.sectionbody {
- font-family: serif;
margin-left: 0;
}
@@ -77,45 +84,48 @@ p {
ul, ol, li > p {
margin-top: 0;
}
+ul > li { color: #aaa; }
+ul > li > * { color: black; }
-pre {
+.monospaced, code, pre {
+ font-family: "Courier New", Courier, monospace;
+ font-size: inherit;
+ color: navy;
padding: 0;
margin: 0;
}
-span#author {
+
+#author {
color: #527bbd;
- font-family: sans-serif;
font-weight: bold;
font-size: 1.1em;
}
-span#email {
+#email {
}
-span#revnumber, span#revdate, span#revremark {
- font-family: sans-serif;
+#revnumber, #revdate, #revremark {
}
-div#footer {
- font-family: sans-serif;
+#footer {
font-size: small;
border-top: 2px solid silver;
padding-top: 0.5em;
margin-top: 4.0em;
}
-div#footer-text {
+#footer-text {
float: left;
padding-bottom: 0.5em;
}
-div#footer-badges {
+#footer-badges {
float: right;
padding-bottom: 0.5em;
}
-div#preamble {
+#preamble {
margin-top: 1.5em;
margin-bottom: 1.5em;
}
-div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
+div.imageblock, div.exampleblock, div.verseblock,
div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
div.admonitionblock {
margin-top: 1.0em;
@@ -135,7 +145,6 @@ div.content { /* Block element content. */
/* Block element titles. */
div.title, caption.title {
color: #527bbd;
- font-family: sans-serif;
font-weight: bold;
text-align: left;
margin-top: 1.0em;
@@ -157,13 +166,15 @@ div.content + div.title {
div.sidebarblock > div.content {
background: #ffffee;
- border: 1px solid silver;
+ border: 1px solid #dddddd;
+ border-left: 4px solid #f0f0f0;
padding: 0.5em;
}
div.listingblock > div.content {
- border: 1px solid silver;
- background: #f4f4f4;
+ border: 1px solid #dddddd;
+ border-left: 5px solid #f0f0f0;
+ background: #f8f8f8;
padding: 0.5em;
}
@@ -171,8 +182,8 @@ div.quoteblock, div.verseblock {
padding-left: 1.0em;
margin-left: 1.0em;
margin-right: 10%;
- border-left: 5px solid #dddddd;
- color: #777777;
+ border-left: 5px solid #f0f0f0;
+ color: #888;
}
div.quoteblock > div.attribution {
@@ -180,8 +191,9 @@ div.quoteblock > div.attribution {
text-align: right;
}
-div.verseblock > div.content {
- white-space: pre;
+div.verseblock > pre.content {
+ font-family: inherit;
+ font-size: inherit;
}
div.verseblock > div.attribution {
padding-top: 0.75em;
@@ -254,35 +266,12 @@ div.compact div, div.compact div {
margin-bottom: 0.1em;
}
-div.tableblock > table {
- border: 3px solid #527bbd;
-}
-thead, p.table.header {
- font-family: sans-serif;
- font-weight: bold;
-}
tfoot {
font-weight: bold;
}
td > div.verse {
white-space: pre;
}
-p.table {
- margin-top: 0;
-}
-/* Because the table frame attribute is overriden by CSS in most browsers. */
-div.tableblock > table[frame="void"] {
- border-style: none;
-}
-div.tableblock > table[frame="hsides"] {
- border-left-style: none;
- border-right-style: none;
-}
-div.tableblock > table[frame="vsides"] {
- border-top-style: none;
- border-bottom-style: none;
-}
-
div.hdlist {
margin-top: 0.8em;
@@ -339,25 +328,32 @@ span.footnote, span.footnoteref {
min-width: 100px;
}
+div.colist td {
+ padding-right: 0.5em;
+ padding-bottom: 0.3em;
+ vertical-align: top;
+}
+div.colist td img {
+ margin-top: 0.3em;
+}
@media print {
- div#footer-badges { display: none; }
+ #footer-badges { display: none; }
}
-div#toc {
+#toc {
margin-bottom: 2.5em;
}
-div#toctitle {
+#toctitle {
color: #527bbd;
- font-family: sans-serif;
font-size: 1.1em;
font-weight: bold;
margin-top: 1.0em;
margin-bottom: 0.1em;
}
-div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
+div.toclevel0, div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
margin-top: 0;
margin-bottom: 0;
}
@@ -373,51 +369,173 @@ div.toclevel4 {
margin-left: 6em;
font-size: 0.9em;
}
-/* Workarounds for IE6's broken and incomplete CSS2. */
-div.sidebar-content {
- background: #ffffee;
- border: 1px solid silver;
- padding: 0.5em;
+span.aqua { color: aqua; }
+span.black { color: black; }
+span.blue { color: blue; }
+span.fuchsia { color: fuchsia; }
+span.gray { color: gray; }
+span.green { color: green; }
+span.lime { color: lime; }
+span.maroon { color: maroon; }
+span.navy { color: navy; }
+span.olive { color: olive; }
+span.purple { color: purple; }
+span.red { color: red; }
+span.silver { color: silver; }
+span.teal { color: teal; }
+span.white { color: white; }
+span.yellow { color: yellow; }
+
+span.aqua-background { background: aqua; }
+span.black-background { background: black; }
+span.blue-background { background: blue; }
+span.fuchsia-background { background: fuchsia; }
+span.gray-background { background: gray; }
+span.green-background { background: green; }
+span.lime-background { background: lime; }
+span.maroon-background { background: maroon; }
+span.navy-background { background: navy; }
+span.olive-background { background: olive; }
+span.purple-background { background: purple; }
+span.red-background { background: red; }
+span.silver-background { background: silver; }
+span.teal-background { background: teal; }
+span.white-background { background: white; }
+span.yellow-background { background: yellow; }
+
+span.big { font-size: 2em; }
+span.small { font-size: 0.6em; }
+
+span.underline { text-decoration: underline; }
+span.overline { text-decoration: overline; }
+span.line-through { text-decoration: line-through; }
+
+div.unbreakable { page-break-inside: avoid; }
+
+
+/*
+ * xhtml11 specific
+ *
+ * */
+
+div.tableblock {
+ margin-top: 1.0em;
+ margin-bottom: 1.5em;
}
-div.sidebar-title, div.image-title {
+div.tableblock > table {
+ border: 3px solid #527bbd;
+}
+thead, p.table.header {
+ font-weight: bold;
color: #527bbd;
- font-family: sans-serif;
+}
+p.table {
+ margin-top: 0;
+}
+/* Because the table frame attribute is overriden by CSS in most browsers. */
+div.tableblock > table[frame="void"] {
+ border-style: none;
+}
+div.tableblock > table[frame="hsides"] {
+ border-left-style: none;
+ border-right-style: none;
+}
+div.tableblock > table[frame="vsides"] {
+ border-top-style: none;
+ border-bottom-style: none;
+}
+
+
+/*
+ * html5 specific
+ *
+ * */
+
+table.tableblock {
+ margin-top: 1.0em;
+ margin-bottom: 1.5em;
+}
+thead, p.tableblock.header {
font-weight: bold;
- margin-top: 0.0em;
- margin-bottom: 0.5em;
+ color: #527bbd;
+}
+p.tableblock {
+ margin-top: 0;
+}
+table.tableblock {
+ border-width: 3px;
+ border-spacing: 0px;
+ border-style: solid;
+ border-color: #527bbd;
+ border-collapse: collapse;
+}
+th.tableblock, td.tableblock {
+ border-width: 1px;
+ padding: 4px;
+ border-style: solid;
+ border-color: #527bbd;
}
-div.listingblock div.content {
- border: 1px solid silver;
- background: #f4f4f4;
- padding: 0.5em;
+table.tableblock.frame-topbot {
+ border-left-style: hidden;
+ border-right-style: hidden;
+}
+table.tableblock.frame-sides {
+ border-top-style: hidden;
+ border-bottom-style: hidden;
+}
+table.tableblock.frame-none {
+ border-style: hidden;
}
-div.quoteblock-attribution {
- padding-top: 0.5em;
+th.tableblock.halign-left, td.tableblock.halign-left {
+ text-align: left;
+}
+th.tableblock.halign-center, td.tableblock.halign-center {
+ text-align: center;
+}
+th.tableblock.halign-right, td.tableblock.halign-right {
text-align: right;
}
-div.verseblock-content {
- white-space: pre;
+th.tableblock.valign-top, td.tableblock.valign-top {
+ vertical-align: top;
}
-div.verseblock-attribution {
- padding-top: 0.75em;
- text-align: left;
+th.tableblock.valign-middle, td.tableblock.valign-middle {
+ vertical-align: middle;
+}
+th.tableblock.valign-bottom, td.tableblock.valign-bottom {
+ vertical-align: bottom;
}
-div.exampleblock-content {
- border-left: 3px solid #dddddd;
- padding-left: 0.5em;
+
+/*
+ * manpage specific
+ *
+ * */
+
+body.manpage h1 {
+ padding-top: 0.5em;
+ padding-bottom: 0.5em;
+ border-top: 2px solid silver;
+ border-bottom: 2px solid silver;
+}
+body.manpage h2 {
+ border-style: none;
+}
+body.manpage div.sectionbody {
+ margin-left: 3em;
}
-/* IE6 sets dynamically generated links as visited. */
-div#toc a:visited { color: blue; }
+@media print {
+ body.manpage div#toc { display: none; }
+}
+
+
</style>
<script type="text/javascript">
/*<![CDATA[*/
-window.onload = function(){asciidoc.footnotes();}
var asciidoc = { // Namespace.
/////////////////////////////////////////////////////////////////////
@@ -459,7 +577,7 @@ toc: function (toclevels) {
function tocEntries(el, toclevels) {
var result = new Array;
- var re = new RegExp('[hH]([2-'+(toclevels+1)+'])');
+ var re = new RegExp('[hH]([1-'+(toclevels+1)+'])');
// Function that scans the DOM tree for header elements (the DOM2
// nodeIterator API would be a better technique but not supported by all
// browsers).
@@ -479,6 +597,25 @@ toc: function (toclevels) {
}
var toc = document.getElementById("toc");
+ if (!toc) {
+ return;
+ }
+
+ // Delete existing TOC entries in case we're reloading the TOC.
+ var tocEntriesToRemove = [];
+ var i;
+ for (i = 0; i < toc.childNodes.length; i++) {
+ var entry = toc.childNodes[i];
+ if (entry.nodeName.toLowerCase() == 'div'
+ && entry.getAttribute("class")
+ && entry.getAttribute("class").match(/^toclevel/))
+ tocEntriesToRemove.push(entry);
+ }
+ for (i = 0; i < tocEntriesToRemove.length; i++) {
+ toc.removeChild(tocEntriesToRemove[i]);
+ }
+
+ // Rebuild TOC entries.
var entries = tocEntries(document.getElementById("content"), toclevels);
for (var i = 0; i < entries.length; ++i) {
var entry = entries[i];
@@ -506,24 +643,44 @@ toc: function (toclevels) {
*/
footnotes: function () {
- var cont = document.getElementById("content");
+ // Delete existing footnote entries in case we're reloading the footnodes.
+ var i;
var noteholder = document.getElementById("footnotes");
+ if (!noteholder) {
+ return;
+ }
+ var entriesToRemove = [];
+ for (i = 0; i < noteholder.childNodes.length; i++) {
+ var entry = noteholder.childNodes[i];
+ if (entry.nodeName.toLowerCase() == 'div' && entry.getAttribute("class") == "footnote")
+ entriesToRemove.push(entry);
+ }
+ for (i = 0; i < entriesToRemove.length; i++) {
+ noteholder.removeChild(entriesToRemove[i]);
+ }
+
+ // Rebuild footnote entries.
+ var cont = document.getElementById("content");
var spans = cont.getElementsByTagName("span");
var refs = {};
var n = 0;
for (i=0; i<spans.length; i++) {
if (spans[i].className == "footnote") {
n++;
- // Use [\s\S] in place of . so multi-line matches work.
- // Because JavaScript has no s (dotall) regex flag.
- note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];
+ var note = spans[i].getAttribute("data-note");
+ if (!note) {
+ // Use [\s\S] in place of . so multi-line matches work.
+ // Because JavaScript has no s (dotall) regex flag.
+ note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];
+ spans[i].innerHTML =
+ "[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +
+ "' title='View footnote' class='footnote'>" + n + "</a>]";
+ spans[i].setAttribute("data-note", note);
+ }
noteholder.innerHTML +=
"<div class='footnote' id='_footnote_" + n + "'>" +
"<a href='#_footnoteref_" + n + "' title='Return to text'>" +
n + "</a>. " + note + "</div>";
- spans[i].innerHTML =
- "[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +
- "' title='View footnote' class='footnote'>" + n + "</a>]";
var id =spans[i].getAttribute("id");
if (id != null) refs["#"+id] = n;
}
@@ -543,17 +700,41 @@ footnotes: function () {
}
}
}
+},
+
+install: function(toclevels) {
+ var timerId;
+
+ function reinstall() {
+ asciidoc.footnotes();
+ if (toclevels) {
+ asciidoc.toc(toclevels);
+ }
+ }
+
+ function reinstallAndRemoveTimer() {
+ clearInterval(timerId);
+ reinstall();
+ }
+
+ timerId = setInterval(reinstall, 500);
+ if (document.addEventListener)
+ document.addEventListener("DOMContentLoaded", reinstallAndRemoveTimer, false);
+ else
+ window.onload = reinstallAndRemoveTimer;
}
}
+asciidoc.install();
/*]]>*/
</script>
</head>
-<body>
+<body class="article">
<div id="header">
<h1>A short git tools survey</h1>
</div>
<div id="content">
+<div class="sect1">
<h2 id="_introduction">Introduction</h2>
<div class="sectionbody">
<div class="paragraph"><p>Apart from git contrib/ area there are some others third-party tools
@@ -561,6 +742,8 @@ you may want to look.</p></div>
<div class="paragraph"><p>This document presents a brief summary of each tool and the corresponding
link.</p></div>
</div>
+</div>
+<div class="sect1">
<h2 id="_alternative_augmentative_porcelains">Alternative/Augmentative Porcelains</h2>
<div class="sectionbody">
<div class="ulist"><ul>
@@ -570,15 +753,15 @@ link.</p></div>
</p>
<div class="literalblock">
<div class="content">
-<pre><tt>Cogito is a version control system layered on top of the git tree history
+<pre><code>Cogito is a version control system layered on top of the git tree history
storage system. It aims at seamless user interface and ease of use,
providing generally smoother user experience than the "raw" Core GIT
-itself and indeed many other version control systems.</tt></pre>
+itself and indeed many other version control systems.</code></pre>
</div></div>
<div class="literalblock">
<div class="content">
-<pre><tt>Cogito is no longer maintained as most of its functionality
-is now in core GIT.</tt></pre>
+<pre><code>Cogito is no longer maintained as most of its functionality
+is now in core GIT.</code></pre>
</div></div>
</li>
<li>
@@ -587,9 +770,9 @@ is now in core GIT.</tt></pre>
</p>
<div class="literalblock">
<div class="content">
-<pre><tt>pg is a shell script wrapper around GIT to help the user manage a set of
+<pre><code>pg is a shell script wrapper around GIT to help the user manage a set of
patches to files. pg is somewhat like quilt or StGIT, but it does have a
-slightly different feature set.</tt></pre>
+slightly different feature set.</code></pre>
</div></div>
</li>
<li>
@@ -598,13 +781,15 @@ slightly different feature set.</tt></pre>
</p>
<div class="literalblock">
<div class="content">
-<pre><tt>Stacked GIT provides a quilt-like patch management functionality in the
+<pre><code>Stacked GIT provides a quilt-like patch management functionality in the
GIT environment. You can easily manage your patches in the scope of GIT
-until they get merged upstream.</tt></pre>
+until they get merged upstream.</code></pre>
</div></div>
</li>
</ul></div>
</div>
+</div>
+<div class="sect1">
<h2 id="_history_viewers">History Viewers</h2>
<div class="sectionbody">
<div class="ulist"><ul>
@@ -614,7 +799,7 @@ until they get merged upstream.</tt></pre>
</p>
<div class="literalblock">
<div class="content">
-<pre><tt>gitk is a simple Tk GUI for browsing history of GIT repositories easily.</tt></pre>
+<pre><code>gitk is a simple Tk GUI for browsing history of GIT repositories easily.</code></pre>
</div></div>
</li>
<li>
@@ -623,7 +808,7 @@ until they get merged upstream.</tt></pre>
</p>
<div class="literalblock">
<div class="content">
-<pre><tt>gitview is a GTK based repository browser for git</tt></pre>
+<pre><code>gitview is a GTK based repository browser for git</code></pre>
</div></div>
</li>
<li>
@@ -632,7 +817,7 @@ until they get merged upstream.</tt></pre>
</p>
<div class="literalblock">
<div class="content">
-<pre><tt>GITweb provides full-fledged web interface for GIT repositories.</tt></pre>
+<pre><code>GITweb provides full-fledged web interface for GIT repositories.</code></pre>
</div></div>
</li>
<li>
@@ -641,11 +826,11 @@ until they get merged upstream.</tt></pre>
</p>
<div class="literalblock">
<div class="content">
-<pre><tt>QGit is a git/StGIT GUI viewer built on Qt/C++. QGit could be used
+<pre><code>QGit is a git/StGIT GUI viewer built on Qt/C++. QGit could be used
to browse history and directory tree, view annotated files, commit
changes cherry picking single files or applying patches.
Currently it is the fastest and most feature rich among the git
-viewers and commit tools.</tt></pre>
+viewers and commit tools.</code></pre>
</div></div>
</li>
<li>
@@ -654,14 +839,16 @@ viewers and commit tools.</tt></pre>
</p>
<div class="literalblock">
<div class="content">
-<pre><tt>tig by Jonas Fonseca is a simple git repository browser
+<pre><code>tig by Jonas Fonseca is a simple git repository browser
written using ncurses. Basically, it just acts as a front-end
for git-log and git-show/git-diff. Additionally, you can also
-use it as a pager for git commands.</tt></pre>
+use it as a pager for git commands.</code></pre>
</div></div>
</li>
</ul></div>
</div>
+</div>
+<div class="sect1">
<h2 id="_foreign_scm_interface">Foreign SCM interface</h2>
<div class="sectionbody">
<div class="ulist"><ul>
@@ -671,8 +858,8 @@ use it as a pager for git commands.</tt></pre>
</p>
<div class="literalblock">
<div class="content">
-<pre><tt>git-svn is a simple conduit for changesets between a single Subversion
-branch and git.</tt></pre>
+<pre><code>git-svn is a simple conduit for changesets between a single Subversion
+branch and git.</code></pre>
</div></div>
</li>
<li>
@@ -681,8 +868,8 @@ branch and git.</tt></pre>
</p>
<div class="literalblock">
<div class="content">
-<pre><tt>These utilities convert patch series in a quilt repository and commit
-series in git back and forth.</tt></pre>
+<pre><code>These utilities convert patch series in a quilt repository and commit
+series in git back and forth.</code></pre>
</div></div>
</li>
<li>
@@ -691,14 +878,16 @@ series in git back and forth.</tt></pre>
</p>
<div class="literalblock">
<div class="content">
-<pre><tt>hg-to-git converts a Mercurial repository into a git one, and
+<pre><code>hg-to-git converts a Mercurial repository into a git one, and
preserves the full branch history in the process. hg-to-git can
also be used in an incremental way to keep the git repository
-in sync with the master Mercurial repository.</tt></pre>
+in sync with the master Mercurial repository.</code></pre>
</div></div>
</li>
</ul></div>
</div>
+</div>
+<div class="sect1">
<h2 id="_others">Others</h2>
<div class="sectionbody">
<div class="ulist"><ul>
@@ -708,10 +897,10 @@ in sync with the master Mercurial repository.</tt></pre>
</p>
<div class="literalblock">
<div class="content">
-<pre><tt>Commit Tool or (h)gct is a GUI enabled commit tool for git and
+<pre><code>Commit Tool or (h)gct is a GUI enabled commit tool for git and
Mercurial (hg). It allows the user to view diffs, select which files
to committed (or ignored / reverted) write commit messages and
-perform the commit itself.</tt></pre>
+perform the commit itself.</code></pre>
</div></div>
</li>
<li>
@@ -720,9 +909,9 @@ perform the commit itself.</tt></pre>
</p>
<div class="literalblock">
<div class="content">
-<pre><tt>This is an Emacs interface for git. The user interface is modeled on
+<pre><code>This is an Emacs interface for git. The user interface is modeled on
pcl-cvs. It has been developed on Emacs 21 and will probably need some
-tweaking to work on XEmacs.</tt></pre>
+tweaking to work on XEmacs.</code></pre>
</div></div>
</li>
</ul></div>
@@ -730,10 +919,11 @@ tweaking to work on XEmacs.</tt></pre>
comprehensive list.</p></div>
</div>
</div>
+</div>
<div id="footnotes"><hr /></div>
<div id="footer">
<div id="footer-text">
-Last updated 2011-11-15 13:45:02 PDT
+Last updated 2011-11-15 13:45:02 PST
</div>
</div>
</body>