'\" t
.\" Title: guilt
.\" Author: [see the "Author" section]
.\" Generator: DocBook XSL Stylesheets v1.79.1
.\" Date: 08/20/2017
.\" Manual: Guilt Manual
.\" Source: Guilt v0.36
.\" Language: English
.\"
.TH "GUILT" "7" "08/20/2017" "Guilt v0\&.36" "Guilt Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
guilt \- quilt on top of git
.SH "SYNOPSIS"
\fIguilt\fR COMMAND [ARGS]
.SH "DESCRIPTION"
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\&.
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\&.
.SH "PATCHES DIRECTORY"
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:
guards: This file contains any guards that should be applied to the series when pushing\&. It is only present when guards are selected\&.
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\&.
status: This file contains the state of the stack\&. What patches are applied\&.
.SH "HOOKS"
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\&.
.SH "HOOKS DIRECTORY"
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/\&.
The following hooks are supported:
.PP
delete
.RS 4
Executed when a patch is deleted from the patch series via \fBguilt-delete\fR(1)\&.
.RE
.SH "GUILT COMMANDS"
All commands must be called without a dash\&. e\&.g\&. \fIguilt add\fR
.PP
\fBguilt-add\fR(1)
.RS 4
guilt\-add \- Add a file to git and guilt\&.
.RE
.PP
\fBguilt-applied\fR(1)
.RS 4
guilt\-applied \- List applied patches\&.
.RE
.PP
\fBguilt-branch\fR(1)
.RS 4
guilt\-branch \- Branch the entire patch series\&.
.RE
.PP
\fBguilt-commit\fR(1)
.RS 4
guilt\-commit \- Commit specified number of patches\&.
.RE
.PP
\fBguilt-delete\fR(1)
.RS 4
guilt\-delete \- Delete a patch\&.
.RE
.PP
\fBguilt-diff\fR(1)
.RS 4
guilt\-diff \- Outputs various diffs\&.
.RE
.PP
\fBguilt-export\fR(1)
.RS 4
guilt\-export \- Export a patch series (to be used by quilt)\&.
.RE
.PP
\fBguilt-files\fR(1)
.RS 4
guilt\-files \- Print the list of files that the topmost patch changes\&.
.RE
.PP
\fBguilt-fold\fR(1)
.RS 4
guilt\-fold \- Fold a specified patch into the topmost applied patch\&.
.RE
.PP
\fBguilt-fork\fR(1)
.RS 4
guilt\-fork \- Fork the topmost applied patch\&.
.RE
.PP
\fBguilt-graph\fR(1)
.RS 4
guilt\-graph \- Create a patch dependency graph\&.
.RE
.PP
\fBguilt-guard\fR(1)
.RS 4
guilt\-guard \- Assign guards to patches\&.
.RE
.PP
\fBguilt-header\fR(1)
.RS 4
guilt\-header \- Print a patch header\&.
.RE
.PP
\fBguilt-help\fR(1)
.RS 4
guilt\-help \- open man page of a guilt command\&.
.RE
.PP
\fBguilt-import-commit\fR(1)
.RS 4
guilt\-import\-commit \- Import one or more commits as patches\&.
.RE
.PP
\fBguilt-import\fR(1)
.RS 4
guilt\-import \- Import specified patch file\&.
.RE
.PP
\fBguilt-init\fR(1)
.RS 4
guilt\-init \- Initialize guilt for use in a git repository\&.
.RE
.PP
\fBguilt-new\fR(1)
.RS 4
guilt\-new \- Create a new patch\&.
.RE
.PP
\fBguilt-next\fR(1)
.RS 4
guilt\-next \- Output the name of next patch to be pushed\&.
.RE
.PP
\fBguilt-patchbomb\fR(1)
.RS 4
guilt\-patchbomb \- Email a series of commits interactively\&.
.RE
.PP
\fBguilt-pop\fR(1)
.RS 4
guilt\-pop \- Pop patches from the tree\&.
.RE
.PP
\fBguilt-prev\fR(1)
.RS 4
guilt\-prev \- Output name of second topmost applied patch\&.
.RE
.PP
\fBguilt-push\fR(1)
.RS 4
guilt\-push \- Push patches onto the tree\&.
.RE
.PP
\fBguilt-rebase\fR(1)
.RS 4
guilt\-rebase \- Rebase pushed patches\&.
.RE
.PP
\fBguilt-refresh\fR(1)
.RS 4
guilt\-refresh \- Refresh topmost applied patch\&.
.RE
.PP
\fBguilt-repair\fR(1)
.RS 4
guilt\-repair \- Repair the repository state\&.
.RE
.PP
\fBguilt-rm\fR(1)
.RS 4
guilt\-rm \- Remove a file from the git tree and guilt\&.
.RE
.PP
\fBguilt-select\fR(1)
.RS 4
guilt\-select \- Select guards to apply when pushing patches\&.
.RE
.PP
\fBguilt-series\fR(1)
.RS 4
guilt\-series \- Print the stack of patches\&.
.RE
.PP
\fBguilt-status\fR(1)
.RS 4
guilt\-status \- Print the status of files since the last refresh\&.
.RE
.PP
\fBguilt-top\fR(1)
.RS 4
guilt\-top \- Output name of topmost applied patch\&.
.RE
.PP
\fBguilt-unapplied\fR(1)
.RS 4
guilt\-unapplied \- List all unapplied patches\&.
.RE
.SH "AUTHOR"
Written by Josef "Jeff" Sipek <\m[blue]\fBjeffpc@josefsipek\&.net\fR\m[]\&\s-2\u[1]\d\s+2>
.SH "DOCUMENTATION"
Documentation by Brandon Philips <\m[blue]\fBbrandon@ifup\&.org\fR\m[]\&\s-2\u[2]\d\s+2> and Josef "Jeff" Sipek <\m[blue]\fBjeffpc@josefsipek\&.net\fR\m[]\&\s-2\u[1]\d\s+2>
.SH "GUILT"
Part of the \fBguilt\fR(7) suite (Generated for Guilt v0\&.36)
.SH "NOTES"
.IP " 1." 4
jeffpc@josefsipek.net
.RS 4
\%mailto:jeffpc@josefsipek.net
.RE
.IP " 2." 4
brandon@ifup.org
.RS 4
\%mailto:brandon@ifup.org
.RE