1GUILT(7) Guilt Manual GUILT(7)
2
3
4
6 guilt - quilt on top of git
7
9 guilt COMMAND [ARGS]
10
12 Andrew Morton originally developed a set of scripts for maintaining
13 kernel patches outside of any SCM tool. Others extended these into a
14 suite called quilt. The basic idea behind quilt is to maintain patches
15 instead of maintaining source files. Patches can be added, removed or
16 reordered, and they can be refreshed as you fix bugs or update to a new
17 base revision. quilt is very powerful, but it is not integrated with
18 the underlying SCM tools. This makes it difficult to visualize your
19 changes.
20
21 Guilt allows one to use quilt functionality on top of a Git repository.
22 Changes are maintained as patches which are committed into Git. Commits
23 can be removed or reordered, and the underlying patch can be refreshed
24 based on changes made in the working directory. The patch directory can
25 also be placed under revision control, so you can have a separate
26 history of changes made to your patches.
27
29 In Guilt, all the patches are stored in .git/patches/$branch/, where
30 $branch is the name of the branch being worked on. This means that one
31 can have a independent series of patches for each branch present in the
32 repository. Each of these per-branch directories contains 3 special
33 files:
34
35 guards: This file contains any guards that should be applied to the
36 series when pushing. It is only present when guards are selected.
37
38 series: This file contains a list of all the patch filenames relative
39 to the per-branch patch directory. Empty and commented out lines are
40 ignored.
41
42 status: This file contains the state of the stack. What patches are
43 applied.
44
46 Any guilt operation may execute zero or more hook scripts which can be
47 used to run any housekeeping commands or even abort the execution of
48 the command.
49
51 Guilt follows the same basic design of hooks in Git itself. All Guilt
52 hooks are executable files (generally shell scripts, but they can be
53 anything the operating system can execute) in .git/hooks/guilt/.
54
55 The following hooks are supported:
56
57
58 delete <patch name>
59 Executed when a patch is deleted from the patch series via guilt-
60 delete(1).
61
63 All commands must be called without a dash. e.g. guilt add
64
65
66 guilt-add(1)
67 guilt-add - Add a file to git and guilt.
68
69 guilt-applied(1)
70 guilt-applied - List applied patches.
71
72 guilt-branch(1)
73 guilt-branch - Branch the entire patch series.
74
75 guilt-commit(1)
76 guilt-commit - Commit specified number of patches.
77
78 guilt-delete(1)
79 guilt-delete - Delete a patch.
80
81 guilt-diff(1)
82 guilt-diff - Outputs various diffs.
83
84 guilt-export(1)
85 guilt-export - Export a patch series (to be used by quilt).
86
87 guilt-files(1)
88 guilt-files - Print the list of files that the topmost patch
89 changes.
90
91 guilt-fold(1)
92 guilt-fold - Fold a specified patch into the topmost applied patch.
93
94 guilt-fork(1)
95 guilt-fork - Fork the topmost applied patch.
96
97 guilt-graph(1)
98 guilt-graph - Create a patch dependency graph.
99
100 guilt-guard(1)
101 guilt-guard - Assign guards to patches.
102
103 guilt-header(1)
104 guilt-header - Print a patch header.
105
106 guilt-help(1)
107 guilt-help - open man page of a guilt command.
108
109 guilt-import-commit(1)
110 guilt-import-commit - Import one or more commits as patches.
111
112 guilt-import(1)
113 guilt-import - Import specified patch file.
114
115 guilt-init(1)
116 guilt-init - Initialize guilt for use in a git repository.
117
118 guilt-new(1)
119 guilt-new - Create a new patch.
120
121 guilt-next(1)
122 guilt-next - Output the name of next patch to be pushed.
123
124 guilt-patchbomb(1)
125 guilt-patchbomb - Email a series of commits interactively.
126
127 guilt-pop(1)
128 guilt-pop - Pop patches from the tree.
129
130 guilt-prev(1)
131 guilt-prev - Output name of second topmost applied patch.
132
133 guilt-push(1)
134 guilt-push - Push patches onto the tree.
135
136 guilt-rebase(1)
137 guilt-rebase - Rebase pushed patches.
138
139 guilt-refresh(1)
140 guilt-refresh - Refresh topmost applied patch.
141
142 guilt-repair(1)
143 guilt-repair - Repair the repository state.
144
145 guilt-rm(1)
146 guilt-rm - Remove a file from the git tree and guilt.
147
148 guilt-select(1)
149 guilt-select - Select guards to apply when pushing patches.
150
151 guilt-series(1)
152 guilt-series - Print the stack of patches.
153
154 guilt-status(1)
155 guilt-status - Print the status of files since the last refresh.
156
157 guilt-top(1)
158 guilt-top - Output name of topmost applied patch.
159
160 guilt-unapplied(1)
161 guilt-unapplied - List all unapplied patches.
162
164 Written by Josef "Jeff" Sipek <jeffpc@josefsipek.net[1]>
165
167 Documentation by Brandon Philips <brandon@ifup.org[2]> and Josef "Jeff"
168 Sipek <jeffpc@josefsipek.net[1]>
169
171 Part of the guilt(7) suite (Generated for Guilt v0.36)
172
174 1. jeffpc@josefsipek.net
175 mailto:jeffpc@josefsipek.net
176
177 2. brandon@ifup.org
178 mailto:brandon@ifup.org
179
180
181
182Guilt v0.36 07/20/2023 GUILT(7)