'\" t .\" Title: guilt .\" Author: [see the "Author" section] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 01/12/2023 .\" Manual: Guilt Manual .\" Source: Guilt v0.36 .\" Language: English .\" .TH "GUILT" "7" "01/12/2023" "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