'\" t
.\" Title: stg-squash
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1
.\" Date: 03/26/2014
.\" Manual: StGit Manual
.\" Source: StGit
.\" Language: English
.\"
.TH "STG\-SQUASH" "1" "03/26/2014" "StGit" "StGit 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"
stg-squash \- Squash two or more patches into one
.SH "SYNOPSIS"
.sp
.nf
\fIstg\fR squash [options] [\-\-]
.fi
.SH "DESCRIPTION"
Squash two or more patches, creating one big patch that contains all their changes\&. In more detail:
.sp
.RS 4
.ie n \{\
\h'-04' 1.\h'+01'\c
.\}
.el \{\
.sp -1
.IP " 1." 4.2
.\}
Pop all the given patches, plus any other patches on top of them\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04' 2.\h'+01'\c
.\}
.el \{\
.sp -1
.IP " 2." 4.2
.\}
Push the given patches in the order they were given on the command line\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04' 3.\h'+01'\c
.\}
.el \{\
.sp -1
.IP " 3." 4.2
.\}
Squash the given patches into one big patch\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04' 4.\h'+01'\c
.\}
.el \{\
.sp -1
.IP " 4." 4.2
.\}
Allow the user to edit the commit message of the new patch interactively\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04' 5.\h'+01'\c
.\}
.el \{\
.sp -1
.IP " 5." 4.2
.\}
Push the other patches that were popped in step (1)\&.
.RE
Conflicts can occur whenever we push a patch; that is, in step (2) and (5)\&. If there are conflicts, the command will stop so that you can resolve them\&.
.SH "OPTIONS"
.PP
\-n NAME, \-\-name NAME
.RS 4
Name of squashed patch\&.
.RE
.PP
\-m MESSAGE, \-\-message MESSAGE
.RS 4
Use MESSAGE instead of invoking the editor\&.
.RE
.PP
\-f FILE, \-\-file FILE
.RS 4
Use the contents of FILE instead of invoking the editor\&. (If FILE is "\-", write to stdout\&.)
.RE
.PP
\-\-save\-template FILE
.RS 4
Instead of running the command, just write the message template to FILE, and exit\&. (If FILE is "\-", write to stdout\&.)
When driving StGit from another program, it is often useful to first call a command with \fI\-\-save\-template\fR, then let the user edit the message, and then call the same command with \fI\-\-file\fR\&.
.RE
.SH "STGIT"
Part of the StGit suite \- see \fBstg\fR(1)