1 .\" ** You probably do not want to edit this file directly **
2 .\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
3 .\" Instead of manually editing it, you probably should edit the DocBook XML
4 .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
5 .TH "GUILT" "7" "01/22/2015" "Guilt v0.36\-rc1" "Guilt Manual"
6 .\" disable hyphenation
8 .\" disable justification (adjust text to left margin only)
11 guilt \- quilt on top of git
13 \fIguilt\fR COMMAND [ARGS]
15 Andrew Morton originally developed a set of scripts for maintaining kernel patches outside of any SCM tool. Others extended these into a suite called quilt. The basic idea behind quilt is to maintain patches instead of maintaining source files. Patches can be added, removed or reordered, and they can be refreshed as you fix bugs or update to a new base revision. quilt is very powerful, but it is not integrated with the underlying SCM tools. This makes it difficult to visualize your changes.
17 Guilt allows one to use quilt functionality on top of a Git repository. Changes are maintained as patches which are committed into Git. Commits can be removed or reordered, and the underlying patch can be refreshed based on changes made in the working directory. The patch directory can also be placed under revision control, so you can have a separate history of changes made to your patches.
18 .SH "PATCHES DIRECTORY"
19 In Guilt, all the patches are stored in .git/patches/$branch/, where $branch is the name of the branch being worked on. This means that one can have a independent series of patches for each branch present in the repository. Each of these per\-branch directories contains 3 special files:
21 guards: This file contains any guards that should be applied to the series when pushing. It is only present when guards are selected.
23 series: This file contains a list of all the patch filenames relative to the per\-branch patch directory. Empty and commented out lines are ignored.
25 status: This file contains the state of the stack. What patches are applied.
27 Any guilt operation may execute zero or more hook scripts which can be used to run any housekeeping commands or even abort the execution of the command.
29 Guilt follows the same basic design of hooks in Git itself. All Guilt hooks are executable files (generally shell scripts, but they can be anything the operating system can execute) in .git/hooks/guilt/.
31 The following hooks are supported:
34 Executed when a patch is deleted from the patch series via \fBguilt\-delete\fR(1).
36 All commands can be called with or without a dash. e.g. \fIguilt add\fR or \fIguilt\-add\fR
39 guilt\-add \- Add a file to git and guilt.
41 \fBguilt\-applied\fR(1)
42 guilt\-applied \- List applied patches.
44 \fBguilt\-branch\fR(1)
45 guilt\-branch \- Branch the entire patch series.
47 \fBguilt\-commit\fR(1)
48 guilt\-commit \- Commit specified number of patches.
50 \fBguilt\-delete\fR(1)
51 guilt\-delete \- Delete a patch.
54 guilt\-diff \- Outputs various diffs.
56 \fBguilt\-export\fR(1)
57 guilt\-export \- Export a patch series (to be used by quilt).
60 guilt\-files \- Print the list of files that the topmost patch changes.
63 guilt\-fold \- Fold a specified patch into the topmost applied patch.
66 guilt\-fork \- Fork the topmost applied patch.
69 guilt\-graph \- Create a patch dependency graph.
72 guilt\-guard \- Assign guards to patches.
74 \fBguilt\-header\fR(1)
75 guilt\-header \- Print a patch header.
78 guilt\-help \- open man page of a guilt command.
80 \fBguilt\-import\-commit\fR(1)
81 guilt\-import\-commit \- Import one or more commits as patches.
83 \fBguilt\-import\fR(1)
84 guilt\-import \- Import specified patch file.
87 guilt\-init \- Initialize guilt for use in a git repository.
90 guilt\-new \- Create a new patch.
93 guilt\-next \- Output the name of next patch to be pushed.
95 \fBguilt\-patchbomb\fR(1)
96 guilt\-patchbomb \- Email a series of commits interactively.
99 guilt\-pop \- Pop patches from the tree.
102 guilt\-prev \- Output name of second topmost applied patch.
105 guilt\-push \- Push patches onto the tree.
107 \fBguilt\-rebase\fR(1)
108 guilt\-rebase \- Rebase pushed patches.
110 \fBguilt\-refresh\fR(1)
111 guilt\-refresh \- Refresh topmost applied patch.
113 \fBguilt\-repair\fR(1)
114 guilt\-repair \- Repair the repository state.
117 guilt\-rm \- Remove a file from the git tree and guilt.
119 \fBguilt\-select\fR(1)
120 guilt\-select \- Select guards to apply when pushing patches.
122 \fBguilt\-series\fR(1)
123 guilt\-series \- Print the stack of patches.
125 \fBguilt\-status\fR(1)
126 guilt\-status \- Print the status of files since the last refresh.
129 guilt\-top \- Output name of topmost applied patch.
131 \fBguilt\-unapplied\fR(1)
132 guilt\-unapplied \- List all unapplied patches.
134 Written by Josef "Jeff" Sipek <[1]\&\fIjeffpc@josefsipek.net\fR>
136 Documentation by Brandon Philips <[2]\&\fIbrandon@ifup.org\fR> and Josef "Jeff" Sipek <[1]\&\fIjeffpc@josefsipek.net\fR>
138 Part of the \fBguilt\fR(7) suite (Generated for Guilt v0.36\-rc1)
141 1.\ jeffpc@josefsipek.net
142 \%mailto:jeffpc@josefsipek.net
145 \%mailto:brandon@ifup.org