<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
    "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="application/xhtml+xml; charset=iso-8859-15" />
<meta name="generator" content="AsciiDoc 8.6.3" />
<title>stg(1)</title>
<style type="text/css">
/* Sans-serif font. */
h1, h2, h3, h4, h5, h6,
div.title, caption.title,
thead, p.table.header,
div#toctitle,
span#author, span#revnumber, span#revdate, span#revremark,
div#footer {
  font-family: Arial,Helvetica,sans-serif;
}

/* Serif font. */
div.sectionbody {
  font-family: Georgia,"Times New Roman",Times,serif;
}

/* Monospace font. */
tt {
  font-size: inherit;
}

body {
  margin: 1em 5% 1em 5%;
}

a {
  color: blue;
  text-decoration: underline;
}
a:visited {
  color: fuchsia;
}

em {
  font-style: italic;
  color: navy;
}

strong {
  font-weight: bold;
  color: #083194;
}

tt {
  font-size: inherit;
  color: navy;
}

h1, h2, h3, h4, h5, h6 {
  color: #527bbd;
  margin-top: 1.2em;
  margin-bottom: 0.5em;
  line-height: 1.3;
}

h1, h2, h3 {
  border-bottom: 2px solid silver;
}
h2 {
  padding-top: 0.5em;
}
h3 {
  float: left;
}
h3 + * {
  clear: left;
}

div.sectionbody {
  margin-left: 0;
}

hr {
  border: 1px solid silver;
}

p {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}

ul, ol, li > p {
  margin-top: 0;
}
ul > li     { color: #aaa; }
ul > li > * { color: black; }

pre {
  padding: 0;
  margin: 0;
}

span#author {
  color: #527bbd;
  font-weight: bold;
  font-size: 1.1em;
}
span#email {
}
span#revnumber, span#revdate, span#revremark {
}

div#footer {
  font-size: small;
  border-top: 2px solid silver;
  padding-top: 0.5em;
  margin-top: 4.0em;
}
div#footer-text {
  float: left;
  padding-bottom: 0.5em;
}
div#footer-badges {
  float: right;
  padding-bottom: 0.5em;
}

div#preamble {
  margin-top: 1.5em;
  margin-bottom: 1.5em;
}
div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
div.admonitionblock {
  margin-top: 1.0em;
  margin-bottom: 1.5em;
}
div.admonitionblock {
  margin-top: 2.0em;
  margin-bottom: 2.0em;
  margin-right: 10%;
  color: #606060;
}

div.content { /* Block element content. */
  padding: 0;
}

/* Block element titles. */
div.title, caption.title {
  color: #527bbd;
  font-weight: bold;
  text-align: left;
  margin-top: 1.0em;
  margin-bottom: 0.5em;
}
div.title + * {
  margin-top: 0;
}

td div.title:first-child {
  margin-top: 0.0em;
}
div.content div.title:first-child {
  margin-top: 0.0em;
}
div.content + div.title {
  margin-top: 0.0em;
}

div.sidebarblock > div.content {
  background: #ffffee;
  border: 1px solid #dddddd;
  border-left: 4px solid #f0f0f0;
  padding: 0.5em;
}

div.listingblock > div.content {
  border: 1px solid #dddddd;
  border-left: 5px solid #f0f0f0;
  background: #f8f8f8;
  padding: 0.5em;
}

div.quoteblock, div.verseblock {
  padding-left: 1.0em;
  margin-left: 1.0em;
  margin-right: 10%;
  border-left: 5px solid #f0f0f0;
  color: #777777;
}

div.quoteblock > div.attribution {
  padding-top: 0.5em;
  text-align: right;
}

div.verseblock > pre.content {
  font-family: inherit;
  font-size: inherit;
}
div.verseblock > div.attribution {
  padding-top: 0.75em;
  text-align: left;
}
/* DEPRECATED: Pre version 8.2.7 verse style literal block. */
div.verseblock + div.attribution {
  text-align: left;
}

div.admonitionblock .icon {
  vertical-align: top;
  font-size: 1.1em;
  font-weight: bold;
  text-decoration: underline;
  color: #527bbd;
  padding-right: 0.5em;
}
div.admonitionblock td.content {
  padding-left: 0.5em;
  border-left: 3px solid #dddddd;
}

div.exampleblock > div.content {
  border-left: 3px solid #dddddd;
  padding-left: 0.5em;
}

div.imageblock div.content { padding-left: 0; }
span.image img { border-style: none; }
a.image:visited { color: white; }

dl {
  margin-top: 0.8em;
  margin-bottom: 0.8em;
}
dt {
  margin-top: 0.5em;
  margin-bottom: 0;
  font-style: normal;
  color: navy;
}
dd > *:first-child {
  margin-top: 0.1em;
}

ul, ol {
    list-style-position: outside;
}
ol.arabic {
  list-style-type: decimal;
}
ol.loweralpha {
  list-style-type: lower-alpha;
}
ol.upperalpha {
  list-style-type: upper-alpha;
}
ol.lowerroman {
  list-style-type: lower-roman;
}
ol.upperroman {
  list-style-type: upper-roman;
}

div.compact ul, div.compact ol,
div.compact p, div.compact p,
div.compact div, div.compact div {
  margin-top: 0.1em;
  margin-bottom: 0.1em;
}

div.tableblock > table {
  border: 3px solid #527bbd;
}
thead, p.table.header {
  font-weight: bold;
  color: #527bbd;
}
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;
  margin-bottom: 0.8em;
}
div.hdlist tr {
  padding-bottom: 15px;
}
dt.hdlist1.strong, td.hdlist1.strong {
  font-weight: bold;
}
td.hdlist1 {
  vertical-align: top;
  font-style: normal;
  padding-right: 0.8em;
  color: navy;
}
td.hdlist2 {
  vertical-align: top;
}
div.hdlist.compact tr {
  margin: 0;
  padding-bottom: 0;
}

.comment {
  background: yellow;
}

.footnote, .footnoteref {
  font-size: 0.8em;
}

span.footnote, span.footnoteref {
  vertical-align: super;
}

#footnotes {
  margin: 20px 0 20px 0;
  padding: 7px 0 0 0;
}

#footnotes div.footnote {
  margin: 0 0 5px 0;
}

#footnotes hr {
  border: none;
  border-top: 1px solid silver;
  height: 1px;
  text-align: left;
  margin-left: 0;
  width: 20%;
  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; }
}

div#toc {
  margin-bottom: 2.5em;
}

div#toctitle {
  color: #527bbd;
  font-size: 1.1em;
  font-weight: bold;
  margin-top: 1.0em;
  margin-bottom: 0.1em;
}

div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
  margin-top: 0;
  margin-bottom: 0;
}
div.toclevel2 {
  margin-left: 2em;
  font-size: 0.9em;
}
div.toclevel3 {
  margin-left: 4em;
  font-size: 0.9em;
}
div.toclevel4 {
  margin-left: 6em;
  font-size: 0.9em;
}

</style>
<script type="text/javascript">
/*<![CDATA[*/
window.onload = function(){asciidoc.footnotes();}
var asciidoc = {  // Namespace.

/////////////////////////////////////////////////////////////////////
// Table Of Contents generator
/////////////////////////////////////////////////////////////////////

/* Author: Mihai Bazon, September 2002
 * http://students.infoiasi.ro/~mishoo
 *
 * Table Of Content generator
 * Version: 0.4
 *
 * Feel free to use this script under the terms of the GNU General Public
 * License, as long as you do not remove or alter this notice.
 */

 /* modified by Troy D. Hanson, September 2006. License: GPL */
 /* modified by Stuart Rackham, 2006, 2009. License: GPL */

// toclevels = 1..4.
toc: function (toclevels) {

  function getText(el) {
    var text = "";
    for (var i = el.firstChild; i != null; i = i.nextSibling) {
      if (i.nodeType == 3 /* Node.TEXT_NODE */) // IE doesn't speak constants.
        text += i.data;
      else if (i.firstChild != null)
        text += getText(i);
    }
    return text;
  }

  function TocEntry(el, text, toclevel) {
    this.element = el;
    this.text = text;
    this.toclevel = toclevel;
  }

  function tocEntries(el, toclevels) {
    var result = new Array;
    var re = new RegExp('[hH]([2-'+(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).
    var iterate = function (el) {
      for (var i = el.firstChild; i != null; i = i.nextSibling) {
        if (i.nodeType == 1 /* Node.ELEMENT_NODE */) {
          var mo = re.exec(i.tagName);
          if (mo && (i.getAttribute("class") || i.getAttribute("className")) != "float") {
            result[result.length] = new TocEntry(i, getText(i), mo[1]-1);
          }
          iterate(i);
        }
      }
    }
    iterate(el);
    return result;
  }

  var toc = document.getElementById("toc");
  var entries = tocEntries(document.getElementById("content"), toclevels);
  for (var i = 0; i < entries.length; ++i) {
    var entry = entries[i];
    if (entry.element.id == "")
      entry.element.id = "_toc_" + i;
    var a = document.createElement("a");
    a.href = "#" + entry.element.id;
    a.appendChild(document.createTextNode(entry.text));
    var div = document.createElement("div");
    div.appendChild(a);
    div.className = "toclevel" + entry.toclevel;
    toc.appendChild(div);
  }
  if (entries.length == 0)
    toc.parentNode.removeChild(toc);
},


/////////////////////////////////////////////////////////////////////
// Footnotes generator
/////////////////////////////////////////////////////////////////////

/* Based on footnote generation code from:
 * http://www.brandspankingnew.net/archive/2005/07/format_footnote.html
 */

footnotes: function () {
  var cont = document.getElementById("content");
  var noteholder = document.getElementById("footnotes");
  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];
      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;
    }
  }
  if (n == 0)
    noteholder.parentNode.removeChild(noteholder);
  else {
    // Process footnoterefs.
    for (i=0; i<spans.length; i++) {
      if (spans[i].className == "footnoteref") {
        var href = spans[i].getElementsByTagName("a")[0].getAttribute("href");
        href = href.match(/#.*/)[0];  // Because IE return full URL.
        n = refs[href];
        spans[i].innerHTML =
          "[<a href='#_footnote_" + n +
          "' title='View footnote' class='footnote'>" + n + "</a>]";
      }
    }
  }
}

}
/*]]>*/
</script>
</head>
<body class="book">
<div id="header">
<h1>stg(1)</h1>
<span id="author">Yann Dirson</span><br />
<span id="email"><tt>&lt;<a href="mailto:ydirson@altern.org">ydirson@altern.org</a>&gt;</tt></span><br />
<span id="revdate">2014-06-14</span>
</div>
<div id="content">
<div class="sect1">
<h2 id="_name">NAME</h2>
<div class="sectionbody">
<div class="paragraph"><p>stg - Manage stacks of patches using the Git content tracker</p></div>
</div>
</div>
<div class="sect1">
<h2 id="_synopsis">SYNOPSIS</h2>
<div class="sectionbody">
<div class="verseblock">
<pre class="content"><em>stg</em> [--version | --help]
<em>stg</em> [--help &lt;command&gt; | &lt;command&gt; --help]
<em>stg</em> &lt;command&gt; [COMMAND OPTIONS] [ARGS]</pre>
<div class="attribution">
</div></div>
</div>
</div>
<div class="sect1">
<h2 id="_description">DESCRIPTION</h2>
<div class="sectionbody">
<div class="paragraph"><p>StGit (Stacked Git) is an application that provides a convenient way
to maintain a <em>patch stack</em> on top of a Git branch:</p></div>
<div class="ulist"><ul>
<li>
<p>
The topmost (most recent) commits of a branch are given names.
    Such a named commit is called a <em>patch</em>.
</p>
</li>
<li>
<p>
After making changes to the worktree, you can incorporate the
    changes into an existing patch; this is called <em>refreshing</em>. You
    may refresh any patch, not just the topmost one.
</p>
</li>
<li>
<p>
You can <em>pop</em> a patch: temporarily putting it aside, so that the
    patch below it becomes the topmost patch. Later you may <em>push</em> it
    onto the stack again. Pushing and popping can be used to reorder
    patches.
</p>
</li>
<li>
<p>
You can easily <em>rebase</em> your patch stack on top of any other Git
    commit. (The <em>base</em> of a patch stack is the most recent Git commit
    that is not an StGit patch.) For example, if you started making
    patches on top of someone else&#8217;s branch, and that person publishes
    an updated branch, you can take all your patches and apply them on
    top of the updated branch.
</p>
</li>
<li>
<p>
As you would expect, changing what is below a patch can cause that
    patch to no longer apply cleanly&#8201;&#8212;&#8201;this can occur when you
    reorder patches, rebase patches, or refresh a non-topmost patch.
    StGit uses Git&#8217;s rename-aware three-way merge capability to
    automatically fix up what it can; if it still fails, it lets you
    manually resolve the conflict just like you would resolve a merge
    conflict in Git.
</p>
</li>
<li>
<p>
The patch stack is just some extra metadata attached to regular
    Git commits, so you can continue to use most Git tools along with
    StGit.
</p>
</li>
</ul></div>
<div class="sect2">
<h3 id="_typical_uses">Typical uses</h3>
<div class="dlist"><dl>
<dt class="hdlist1">
Tracking branch
</dt>
<dd>
<p>
  Tracking changes from a remote branch, while maintaining local
  modifications against that branch, possibly with the intent of
  sending some patches upstream. You can modify your patch stack as
  much as you want, and when your patches are finally accepted
  upstream, the permanent recorded Git history will contain just the
  final sequence of patches, and not the messy sequence of edits that
  produced them.
</p>
<div class="paragraph"><p>Commands of interest in this workflow are e.g. <a href="stg-rebase.html">rebase</a> and
<a href="stg-mail.html">mail</a>.</p></div>
</dd>
<dt class="hdlist1">
Development branch
</dt>
<dd>
<p>
  Even if you have no "upstream" to send patches to, you can use StGit
  as a convenient way to modify the recent history of a Git branch.
  For example, instead of first committing change <em>A</em>, then change
  <em>B</em>, and then <em>A2</em> to fix <em>A</em> because it wasn&#8217;t quite right, you
  could incorporate the fix directly into <em>A</em>. This way of working
  results in a much more readable Git history than if you had
  immortalized every misstep you made on your way to the right
  solution.
</p>
<div class="paragraph"><p>Commands of interest in this workflow are e.g. <a href="stg-uncommit.html">uncommit</a>,
which can be used to move the patch stack base downwards&#8201;&#8212;&#8201;i.e., turn
Git commits into StGit patches after the fact&#8201;&#8212;&#8201;and
<a href="stg-commit.html">commit</a>, its inverse.</p></div>
</dd>
</dl></div>
<div class="paragraph"><p>For more information, see <a href="tutorial.html">the tutorial</a>.</p></div>
</div>
<div class="sect2">
<h3 id="_specifying_patches">Specifying patches</h3>
<div class="paragraph"><p>Many StGit commands take references to StGit patches as arguments.
Patches in the stack are identified with short names, each of which
must be unique in the stack.</p></div>
<div class="paragraph"><p>Patches in the current branch are simply referred to by their name.
Some commands allow you to specify a patch in another branch of the
repository; this is done by prefixing the patch name with the branch
name and a colon (e.g. <tt>otherbranch:thatpatch</tt>).</p></div>
</div>
<div class="sect2">
<h3 id="_specifying_commits">Specifying commits</h3>
<div class="paragraph"><p>Some StGit commands take Git commits as arguments. StGit accepts all
commit expressions that Git does; and in addition, a patch name
(optionally prefixed by a branch name and a colon) is allowed in this
context. The usual Git modifiers ^ and ~ are also allowed;
e.g., <tt>abranch:apatch~2</tt> is the grandparent of the commit that is the
patch <tt>apatch</tt> on branch <tt>abranch</tt>.</p></div>
<div class="paragraph"><p>Instead of a patch name, you can say <tt>{base}</tt> to refer to the
stack base (the commit just below the bottommost patch); so,
<tt>abranch:{base}</tt> is the base of the stack in branch <tt>abranch</tt>.</p></div>
<div class="paragraph"><p>If you need to pass a given StGit reference to a Git command,
<a href="stg-id.html">stg id</a> will convert it to a Git commit id for you.</p></div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_options">OPTIONS</h2>
<div class="sectionbody">
<div class="paragraph"><p>The following generic option flags are available. Additional options
are available for (and documented with) the different subcommands.</p></div>
<div class="dlist"><dl>
<dt class="hdlist1">
--version
</dt>
<dd>
<p>
  Prints the StGit version, as well as version of other components
  used, such as Git and Python.
</p>
</dd>
<dt class="hdlist1">
--help
</dt>
<dd>
<p>
  Prints the synopsis and a list of all subcommands. If an StGit
  subcommand is given, prints the synposis for that subcommand.
</p>
</dd>
</dl></div>
</div>
</div>
<div class="sect1">
<h2 id="_stgit_commands">STGIT COMMANDS</h2>
<div class="sectionbody">
<div class="paragraph"><p>We divide StGit commands in thematic groups, according to the primary
type of object they create or change.</p></div>
<div class="sect2">
<h3 id="_repository_commands">Repository commands</h3>
<div class="dlist"><dl>
<dt class="hdlist1">
<a href="stg-clone.html">clone</a>
</dt>
<dd>
<p>
    Make a local clone of a remote repository
</p>
</dd>
<dt class="hdlist1">
<a href="stg-id.html">id</a>
</dt>
<dd>
<p>
    Print the git hash value of a StGit reference
</p>
</dd>
</dl></div>
</div>
<div class="sect2">
<h3 id="_stack_branch_commands">Stack (branch) commands</h3>
<div class="dlist"><dl>
<dt class="hdlist1">
<a href="stg-branch.html">branch</a>
</dt>
<dd>
<p>
    Branch operations: switch, list, create, rename, delete, &#8230;
</p>
</dd>
<dt class="hdlist1">
<a href="stg-clean.html">clean</a>
</dt>
<dd>
<p>
    Delete the empty patches in the series
</p>
</dd>
<dt class="hdlist1">
<a href="stg-commit.html">commit</a>
</dt>
<dd>
<p>
    Permanently store the applied patches into the stack base
</p>
</dd>
<dt class="hdlist1">
<a href="stg-float.html">float</a>
</dt>
<dd>
<p>
    Push patches to the top, even if applied
</p>
</dd>
<dt class="hdlist1">
<a href="stg-goto.html">goto</a>
</dt>
<dd>
<p>
    Push or pop patches to the given one
</p>
</dd>
<dt class="hdlist1">
<a href="stg-hide.html">hide</a>
</dt>
<dd>
<p>
    Hide a patch in the series
</p>
</dd>
<dt class="hdlist1">
<a href="stg-init.html">init</a>
</dt>
<dd>
<p>
    Initialise the current branch for use with StGIT
</p>
</dd>
<dt class="hdlist1">
<a href="stg-log.html">log</a>
</dt>
<dd>
<p>
    Display the patch changelog
</p>
</dd>
<dt class="hdlist1">
<a href="stg-next.html">next</a>
</dt>
<dd>
<p>
    Print the name of the next patch
</p>
</dd>
<dt class="hdlist1">
<a href="stg-patches.html">patches</a>
</dt>
<dd>
<p>
    Show the applied patches modifying a file
</p>
</dd>
<dt class="hdlist1">
<a href="stg-pop.html">pop</a>
</dt>
<dd>
<p>
    Pop one or more patches from the stack
</p>
</dd>
<dt class="hdlist1">
<a href="stg-prev.html">prev</a>
</dt>
<dd>
<p>
    Print the name of the previous patch
</p>
</dd>
<dt class="hdlist1">
<a href="stg-publish.html">publish</a>
</dt>
<dd>
<p>
    Push the stack changes to a merge-friendly branch
</p>
</dd>
<dt class="hdlist1">
<a href="stg-pull.html">pull</a>
</dt>
<dd>
<p>
    Pull changes from a remote repository
</p>
</dd>
<dt class="hdlist1">
<a href="stg-push.html">push</a>
</dt>
<dd>
<p>
    Push one or more patches onto the stack
</p>
</dd>
<dt class="hdlist1">
<a href="stg-rebase.html">rebase</a>
</dt>
<dd>
<p>
    Move the stack base to another point in history
</p>
</dd>
<dt class="hdlist1">
<a href="stg-redo.html">redo</a>
</dt>
<dd>
<p>
    Undo the last undo operation
</p>
</dd>
<dt class="hdlist1">
<a href="stg-repair.html">repair</a>
</dt>
<dd>
<p>
    Fix StGit metadata if branch was modified with git commands
</p>
</dd>
<dt class="hdlist1">
<a href="stg-reset.html">reset</a>
</dt>
<dd>
<p>
    Reset the patch stack to an earlier state
</p>
</dd>
<dt class="hdlist1">
<a href="stg-series.html">series</a>
</dt>
<dd>
<p>
    Print the patch series
</p>
</dd>
<dt class="hdlist1">
<a href="stg-sink.html">sink</a>
</dt>
<dd>
<p>
    Send patches deeper down the stack
</p>
</dd>
<dt class="hdlist1">
<a href="stg-squash.html">squash</a>
</dt>
<dd>
<p>
    Squash two or more patches into one
</p>
</dd>
<dt class="hdlist1">
<a href="stg-top.html">top</a>
</dt>
<dd>
<p>
    Print the name of the top patch
</p>
</dd>
<dt class="hdlist1">
<a href="stg-uncommit.html">uncommit</a>
</dt>
<dd>
<p>
    Turn regular git commits into StGit patches
</p>
</dd>
<dt class="hdlist1">
<a href="stg-undo.html">undo</a>
</dt>
<dd>
<p>
    Undo the last operation
</p>
</dd>
<dt class="hdlist1">
<a href="stg-unhide.html">unhide</a>
</dt>
<dd>
<p>
    Unhide a hidden patch
</p>
</dd>
</dl></div>
</div>
<div class="sect2">
<h3 id="_patch_commands">Patch commands</h3>
<div class="dlist"><dl>
<dt class="hdlist1">
<a href="stg-delete.html">delete</a>
</dt>
<dd>
<p>
    Delete patches
</p>
</dd>
<dt class="hdlist1">
<a href="stg-edit.html">edit</a>
</dt>
<dd>
<p>
    Edit a patch description or diff
</p>
</dd>
<dt class="hdlist1">
<a href="stg-export.html">export</a>
</dt>
<dd>
<p>
    Export patches to a directory
</p>
</dd>
<dt class="hdlist1">
<a href="stg-files.html">files</a>
</dt>
<dd>
<p>
    Show the files modified by a patch (or the current patch)
</p>
</dd>
<dt class="hdlist1">
<a href="stg-fold.html">fold</a>
</dt>
<dd>
<p>
    Integrate a GNU diff patch into the current patch
</p>
</dd>
<dt class="hdlist1">
<a href="stg-import.html">import</a>
</dt>
<dd>
<p>
    Import a GNU diff file as a new patch
</p>
</dd>
<dt class="hdlist1">
<a href="stg-mail.html">mail</a>
</dt>
<dd>
<p>
    Send a patch or series of patches by e-mail
</p>
</dd>
<dt class="hdlist1">
<a href="stg-new.html">new</a>
</dt>
<dd>
<p>
    Create a new, empty patch
</p>
</dd>
<dt class="hdlist1">
<a href="stg-pick.html">pick</a>
</dt>
<dd>
<p>
    Import a patch from a different branch or a commit object
</p>
</dd>
<dt class="hdlist1">
<a href="stg-refresh.html">refresh</a>
</dt>
<dd>
<p>
    Generate a new commit for the current patch
</p>
</dd>
<dt class="hdlist1">
<a href="stg-rename.html">rename</a>
</dt>
<dd>
<p>
    Rename a patch
</p>
</dd>
<dt class="hdlist1">
<a href="stg-show.html">show</a>
</dt>
<dd>
<p>
    Show the commit corresponding to a patch
</p>
</dd>
<dt class="hdlist1">
<a href="stg-sync.html">sync</a>
</dt>
<dd>
<p>
    Synchronise patches with a branch or a series
</p>
</dd>
</dl></div>
</div>
<div class="sect2">
<h3 id="_index_worktree_commands">Index/worktree commands</h3>
<div class="dlist"><dl>
<dt class="hdlist1">
<a href="stg-diff.html">diff</a>
</dt>
<dd>
<p>
    Show the tree diff
</p>
</dd>
</dl></div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_configuration_mechanism">CONFIGURATION MECHANISM</h2>
<div class="sectionbody">
<div class="paragraph"><p>StGit uses the same configuration mechanism as Git. See <a href="git.html">git(7)</a>
for more details.</p></div>
</div>
</div>
<div class="sect1">
<h2 id="_templates">TEMPLATES</h2>
<div class="sectionbody">
<div class="paragraph"><p>A number of StGit commands make use of template files to provide
useful default texts to be edited by the user. These <tt>&lt;name&gt;.tmpl</tt>
template files are searched in the following directories:</p></div>
<div class="olist arabic"><ol class="arabic">
<li>
<p>
<tt>$GITDIR/</tt> (in practice, the <tt>.git/</tt> directory in your repository)
</p>
</li>
<li>
<p>
<tt>$HOME/.stgit/templates/</tt>
</p>
</li>
<li>
<p>
<tt>/usr/share/stgit/templates/</tt>
</p>
</li>
</ol></div>
</div>
</div>
</div>
<div id="footnotes"><hr /></div>
<div id="footer">
<div id="footer-text">
Last updated 2009-10-26 18:09:04 EET
</div>
</div>
</body>
</html>
