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.2.7" />
7 <style type=
"text/css">
9 p
, li
, dt
, dd
, div
, pre
, h1
, h2
, h3
, h4
, h5
, h6
{
11 border: 1px solid red;
16 margin: 1em 5% 1em 5%;
21 text-decoration: underline
;
41 h1
, h2
, h3
, h4
, h5
, h6
{
43 font-family: sans-serif
;
50 border-bottom: 2px solid silver
;
68 border: 1px solid silver
;
87 font-family: sans-serif
;
94 font-family: sans-serif
;
98 font-family: sans-serif
;
100 border-top: 2px solid silver
;
106 padding-bottom: 0.5em;
110 padding-bottom: 0.5em;
114 div
.tableblock
, div
.imageblock
, div
.exampleblock
, div
.verseblock
,
115 div
.quoteblock
, div
.literalblock
, div
.listingblock
, div
.sidebarblock
,
116 div
.admonitionblock
{
119 margin-bottom: 1.5em;
121 div
.admonitionblock
{
123 margin-bottom: 2.5em;
126 div
.content
{ /* Block element content. */
130 /* Block element titles. */
131 div
.title
, caption
.title
{
133 font-family: sans-serif
;
137 margin-bottom: 0.5em;
143 td div
.title:first-child
{
146 div
.content div
.title:first-child
{
149 div
.content
+ div
.title
{
153 div
.sidebarblock
> div
.content
{
155 border: 1px solid silver
;
162 div
.listingblock
> div
.content
{
163 border: 1px solid silver
;
171 div
.quoteblock
> div
.attribution
{
179 div
.verseblock
> div
.content
{
182 div
.verseblock
> div
.attribution
{
186 /* DEPRECATED: Pre version 8.2.7 verse style literal block. */
187 div
.verseblock
+ div
.attribution
{
191 div
.admonitionblock
.icon
{
195 text-decoration: underline
;
197 padding-right: 0.5em;
199 div
.admonitionblock td
.content
{
201 border-left: 2px solid silver
;
204 div
.exampleblock
> div
.content
{
205 border-left: 2px solid silver
;
209 div
.imageblock div
.content
{ padding-left: 0; }
210 div
.imageblock img
{ border: 1px solid silver
; }
211 span
.image img
{ border-style: none
; }
215 margin-bottom: 0.8em;
227 list-style-position: outside
;
230 list-style-type: decimal
;
233 list-style-type: lower-alpha
;
236 div
.tableblock
> table
{
237 border: 3px solid
#527bbd;
240 font-family: sans-serif
;
249 margin-bottom: 0.8em;
252 padding-bottom: 15px;
257 padding-right: 0.8em;
264 div#footer-badges
{ display: none
; }
269 font-family: sans-serif
;
273 margin-bottom: 0.1em;
276 div
.toclevel1
, div
.toclevel2
, div
.toclevel3
, div
.toclevel4
{
292 /* Overrides for manpage documents */
295 padding-bottom: 0.5em;
296 border-top: 2px solid silver
;
297 border-bottom: 2px solid silver
;
307 div#toc
{ display: none
; }
310 /* Workarounds for IE6's broken and incomplete CSS2. */
312 div
.sidebar-content
{
314 border: 1px solid silver
;
317 div
.sidebar-title
, div
.image-title
{
319 font-family: sans-serif
;
322 margin-bottom: 0.5em;
325 div
.listingblock div
.content
{
326 border: 1px solid silver
;
331 div
.quoteblock-attribution
{
336 div
.verseblock-content
{
339 div
.verseblock-attribution
{
344 div
.exampleblock-content
{
345 border-left: 2px solid silver
;
349 /* IE6 sets dynamically generated links as visited. */
350 div#toc
a:visited
{ color: blue
; }
352 /* Because IE6 child selector is broken. */
354 list-style-type: lower-alpha
;
356 div
.olist2 div
.olist ol
{
357 list-style-type: decimal
;
360 <title>guilt(
7)
</title>
368 <div class=
"sectionbody">
375 <div class=
"sectionbody">
376 <div class=
"para"><p><em>guilt
</em> COMMAND [ARGS]
</p></div>
378 <h2 id=
"_description">DESCRIPTION
</h2>
379 <div class=
"sectionbody">
380 <div class=
"para"><p>Andrew Morton originally developed a set of scripts for maintaining kernel
381 patches outside of any SCM tool. Others extended these into a suite called
382 quilt. The basic idea behind quilt is to maintain patches instead of
383 maintaining source files. Patches can be added, removed or reordered, and
384 they can be refreshed as you fix bugs or update to a new base revision.
385 quilt is very powerful, but it is not integrated with the underlying SCM
386 tools. This makes it difficult to visualize your changes.
</p></div>
387 <div class=
"para"><p>Guilt allows one to use quilt functionality on top of a Git repository.
388 Changes are maintained as patches which are committed into Git. Commits can
389 be removed or reordered, and the underlying patch can be refreshed based on
390 changes made in the working directory. The patch directory can also be
391 placed under revision control, so you can have a separate history of changes
392 made to your patches.
</p></div>
394 <h2 id=
"_patches_directory">PATCHES DIRECTORY
</h2>
395 <div class=
"sectionbody">
396 <div class=
"para"><p>In Guilt, all the patches are stored in .git/patches/$branch/, where $branch
397 is the name of the branch being worked on. This means that one can have a
398 independent series of patches for each branch present in the repository.
399 Each of these per-branch directories contains
2 special files:
</p></div>
400 <div class=
"para"><p>series: This file contains a list of all the patch filenames relative to the
401 per-branch patch directory. Empty and commented out lines are ignored.
</p></div>
402 <div class=
"para"><p>status: This file contains the state of the stack. What patches are applied.
</p></div>
404 <h2 id=
"_hooks">HOOKS
</h2>
405 <div class=
"sectionbody">
406 <div class=
"para"><p>Any guilt operation may execute zero or more hook scripts which can be used
407 to run any houskeeping commands or even abort the execution of the command.
</p></div>
409 <h2 id=
"_hooks_directory">HOOKS DIRECTORY
</h2>
410 <div class=
"sectionbody">
411 <div class=
"para"><p>Guilt follows the same basic design of hooks in Git itself. All Guilt hooks
412 are executable files (generally shell scripts, but they can be anything the
413 operating system can execute) in .git/hooks/guilt/.
</p></div>
414 <div class=
"para"><p>The following hooks are supported:
</p></div>
415 <div class=
"vlist"><dl>
417 delete
<patch name
>
421 Executed when a patch is deleted from the patch series via
422 <a href=
"guilt-delete.html">guilt-delete(
1)
</a>.
427 <h2 id=
"_autotagging">AUTOTAGGING
</h2>
428 <div class=
"sectionbody">
429 <div class=
"para"><p>Autotagging is a feature that automatically creates unannotated tags for
430 top, bottom, and base of the stack.
</p></div>
431 <div class=
"para"><p>On every push or pop operation (refresh is a pop followed by a push), Guilt
</p></div>
432 <div class=
"hlist"><table>
438 Top-most applied patch/commit
446 Bottom-most applied patch/commit
454 Commit on top of which the bottom most patch is applied
458 <div class=
"para"><p>Having these three tags, one can easily get the log/diff/other information
459 only for commits that are (or are not!) part of the patch stack.
</p></div>
460 <div class=
"para"><p>Since some users may not want to have Guilt autotag, a Git config setting
461 guilt.autotag can be used to turn it on or off.
</p></div>
462 <div class=
"ilist"><ul>
465 If none of the config files (system, global, etc.) contain a guilt.autotag,
466 the feature defaults to being on.
471 If one or more config file contains the value, regular git-config(
1) rules
476 <div class=
"para"><p>During
<a href=
"guilt-init.html">guilt-init(
1)
</a>, the rules are:
</p></div>
477 <div class=
"ilist"><ul>
480 If none of the config files contain guilt.autotag, the repository config
481 file's guilt.autotag is set to the default (on).
486 If there already exists a setting in any of the config files, and neither
487 of the autotagging related options is used, no local value is set.
492 If there already exists a setting in any of the config files, but an
493 autotagging option is specified, the repository config file's guilt.autotag
494 is set to the value specified on the command line.
499 <h2 id=
"_guilt_commands">GUILT COMMANDS
</h2>
500 <div class=
"sectionbody">
501 <div class=
"para"><p>All commands can be called with or without a dash. e.g.
<em>guilt add
</em> or
502 <em>guilt-add
</em></p></div>
503 <div class=
"vlist"><dl>
505 <a href=
"guilt-add.html">guilt-add(
1)
</a>
509 guilt-add - Add a file to git and guilt.
513 <a href=
"guilt-applied.html">guilt-applied(
1)
</a>
517 guilt-applied - List applied patches.
521 <a href=
"guilt-branch.html">guilt-branch(
1)
</a>
525 guilt-branch - Branch the entire patch series.
529 <a href=
"guilt-commit.html">guilt-commit(
1)
</a>
533 guilt-commit - Commit specified number of patches.
537 <a href=
"guilt-delete.html">guilt-delete(
1)
</a>
541 guilt-delete - Delete a patch.
545 <a href=
"guilt-diff.html">guilt-diff(
1)
</a>
549 guilt-diff - Outputs various diffs.
553 <a href=
"guilt-export.html">guilt-export(
1)
</a>
557 guilt-export - Export a patch series (to be used by quilt).
561 <a href=
"guilt-files.html">guilt-files(
1)
</a>
565 guilt-files - Print the list of files that the topmost patch changes.
569 <a href=
"guilt-fold.html">guilt-fold(
1)
</a>
573 guilt-fold - Fold a specified patch into the topmost applied patch.
577 <a href=
"guilt-fork.html">guilt-fork(
1)
</a>
581 guilt-fork - Fork the topmost applied patch.
585 <a href=
"guilt-graph.html">guilt-graph(
1)
</a>
589 guilt-graph - Create a patch dependency graph.
593 <a href=
"guilt-header.html">guilt-header(
1)
</a>
597 guilt-header - Print a patch header.
601 <a href=
"guilt-help.html">guilt-help(
1)
</a>
605 guilt-help - open man page of a guilt command.
609 <a href=
"guilt-import-commit.html">guilt-import-commit(
1)
</a>
613 guilt-import-commit - Import one or more commits as patches.
617 <a href=
"guilt-import.html">guilt-import(
1)
</a>
621 guilt-import - Import specified patch file.
625 <a href=
"guilt-init.html">guilt-init(
1)
</a>
629 guilt-init - Initialize guilt for use in a git repository.
633 <a href=
"guilt-new.html">guilt-new(
1)
</a>
637 guilt-new - Create a new patch.
641 <a href=
"guilt-next.html">guilt-next(
1)
</a>
645 guilt-next - Output the name of next patch to be pushed.
649 <a href=
"guilt-patchbomb.html">guilt-patchbomb(
1)
</a>
653 guilt-patchbomb - Email a series of commits interactively.
657 <a href=
"guilt-pop.html">guilt-pop(
1)
</a>
661 guilt-pop - Pop patches from the tree.
665 <a href=
"guilt-prev.html">guilt-prev(
1)
</a>
669 guilt-prev - Output name of second topmost applied patch.
673 <a href=
"guilt-push.html">guilt-push(
1)
</a>
677 guilt-push - Push patches onto the tree.
681 <a href=
"guilt-rebase.html">guilt-rebase(
1)
</a>
685 guilt-rebase - Rebase pushed patches.
689 <a href=
"guilt-refresh.html">guilt-refresh(
1)
</a>
693 guilt-refresh - Refresh topmost applied patch.
697 <a href=
"guilt-repair.html">guilt-repair(
1)
</a>
701 guilt-repair - Repair the repository state.
705 <a href=
"guilt-rm.html">guilt-rm(
1)
</a>
709 guilt-rm - Remove a file from the git tree and guilt.
713 <a href=
"guilt-series.html">guilt-series(
1)
</a>
717 guilt-series - Print the stack of patches.
721 <a href=
"guilt-status.html">guilt-status(
1)
</a>
725 guilt-status - Print the status of files since the last refresh.
729 <a href=
"guilt-top.html">guilt-top(
1)
</a>
733 guilt-top - Output name of topmost applied patch.
737 <a href=
"guilt-unapplied.html">guilt-unapplied(
1)
</a>
741 guilt-unapplied - List all unapplied patches.
746 <h2 id=
"_author">Author
</h2>
747 <div class=
"sectionbody">
748 <div class=
"para"><p>Written by Josef
"Jeff" Sipek
<<a href=
"mailto:jeffpc@josefsipek.net">jeffpc@josefsipek.net
</a>></p></div>
750 <h2 id=
"_documentation">Documentation
</h2>
751 <div class=
"sectionbody">
752 <div class=
"para"><p>Documentation by Brandon Philips
<<a href=
"mailto:brandon@ifup.org">brandon@ifup.org
</a>> and Josef
"Jeff" Sipek
753 <<a href=
"mailto:jeffpc@josefsipek.net">jeffpc@josefsipek.net
</a>></p></div>
755 <h2 id=
"_guilt">GUILT
</h2>
756 <div class=
"sectionbody">
757 <div class=
"para"><p>Part of the
<a href=
"guilt.html">guilt(
7)
</a> suite
758 (Generated for Guilt v0.31)
</p></div>
761 <div id=
"footer-text">
762 Last updated
2008-
09-
05 18:
34:
58 EDT