stg-squash — 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:
- Pop all the given patches, plus any other patches on top of them.
- Push the given patches in the order they were given on the command line.
- Squash the given patches into one big patch.
- Allow the user to edit the commit message of the new patch interactively.
- 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.
This option bypasses the commit-msg hook.
Part of the StGit suite - see stg(1)