gbp~pq [ --version ] [ --help ] [ --verbose ] [ --color=[auto|on|off] ] [ --color-scheme=COLOR_SCHEME ] [ --[no-]patch-numbers ] [ --patch-num-format=format ] [ --[no-]renumber ] [ --topic=topic ] [ --time-machine=num ] [ --[no-]drop ] [ --force ] [ --meta-closes=bug-close-tags ] [ --meta-closes-bugnum=bug-number-format ] drop | export | import | rebase | switch
gbp~pq helps one to manage quilt patches in Debian packages that are maintained with gbp. This is especially useful with packages using the 3.0 (quilt) source format. With gbp~pq, you can maintain the quilt patches that should be applied to a package on a separate branch called patch-queue branch. So if your Debian package lives on master, the associated patch-queue branch will be called patch-queue/master.
See <URL:https://honk.sigxcpu.org/piki/development/debian_packages_in_git/> for example workflows.
- Create a patch queue branch from quilt patches in debian/patches/ that are listed in debian/patches/series. The patches must apply without fuzz.
- Export the patches on the patch-queue branch associated to the current branch into a quilt patch series in debian/patches/ and update the series file.
- Switch to the patch-queue branch associated to the current branch and rebase it against the current branch.
- Drop (delete) the patch queue associated to the current branch. So if you're on branch foo, this would drop branch patch-queue/foo.
- Add a single patch to the patch-queue similar to using git-am. Use --topic if you want the patch to appear in a separate subdir when exporting the patch queue using export. This can be used to separate upstream patches from Debian specific patches.
- Switch to the patch-queue branch if on the base branch and switch to base branch if on patch-queue branch.
- Print version of the program, i.e. version of the git-buildpackage suite
- Verbose execution
- Print help and exit
- Whether to use colored output.
- Colors to use in output (when color is enabled). The format for COLOR_SCHEME is '<debug>:<info>:<warning>:<error>'. Numerical values and color names are accepted, empty fields imply the default color. For example, --git-color-scheme='cyan:34::' would show debug messages in cyan, info messages in blue and other messages in default (i.e. warning and error messages in red).
- Whether or not the patch files should be prefixed with a number. The default is to export patches with patch numbers. Note, however, that this normally affects patches whose names are automatically generated, and has no effect on exporting patches which have a Gbp[-Pq]: Name tag, since the name specified is preserved unless the --renumber option is used.
- The format specifier for patch number prefixes. The default format is '%04d-'.
- Whether or not to renumber patches exported from the patch queue, instead of preserving numbers specified in Gbp-Pq: Name tags. The default is not to renumber patches. Useful when patches need to be renamed for the sake of uniformity. For example, using --renumber with --no-patch-num will strip all numeric prefixes from exported patches.
- Topic to use when importing a single patch
- When importing a patch queue fails, go back commit-by-commit on the current branch to check if the patch-queue applies there. Do this at most NUM times. This can be useful if the patch-queue doesn't apply to the current branch HEAD anymore, e.g. after importing a new upstream version.
- Whether to automatically drop (delete) the patch queue branch after a successful export
- In case of import, import even if the patch-queue branch already exists and overwrite its content with debian/patches.
- What meta tags to look for to generate a commit message when using export --commit. The default is 'Closes|LP' to support Debian and Launchpad.
- What regular expression should be used to parse out the bug number when using export --commit. The default is '(?:bug|issue)?\#?\s?\d+'. See gbp-dch(1)> for details.
When exporting patches from a patch-queue branch, gbp~pq will look at the patch header for special tags it recognizes. All tags need to start at the first column and require at least one whitespace after the colon.
- Gbp[-Pq]: Ignore
- Ignores the commit, no patch is generated out of it.
- Gbp[-Pq]: Name name
The name to use for the patch when running
gbp~pq exportIf unset, it will be formatted like git am would format it.
- Gbp[-Pq]: Topic topic
Moves the patch into a subdir called topic
gbp~pq exportThis allows for some structure below debian/patches.
- Gbp-Pq-Topic: topic
- Deprecated: use Gbp[-Pq]: Topic topic instead.
Guido Guenther <[email protected]>