stg-squash(1) Squash two or more patches into one


stg squash [options] [--] <patches>


Squash two or more patches, creating one big patch that contains all their changes. In more detail:

1. Pop all the given patches, plus any other patches on top of them.

2. Push the given patches in the order they were given on the command line.

3. Squash the given patches into one big patch.

4. Allow the user to edit the commit message of the new patch interactively.

5. Push the other patches that were popped in step (1).
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.


-n NAME, --name NAME

Name of squashed patch.

-m MESSAGE, --message MESSAGE

Use MESSAGE instead of invoking the editor.

-f FILE, --file FILE

Use the contents of FILE instead of invoking the editor. (If FILE is "-", write to stdout.)

--save-template FILE

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 --save-template, then let the user edit the message, and then call the same command with --file.


Part of the StGit suite - see stg(1)