Provided by: git-buildpackage_0.9.29_all bug

NAME

       gbp-pq - Manage quilt patches on patch queue branches in git

SYNOPSIS

       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] [--abbrev= num] [--force]
              [--commit] [--meta-closes=bug-close-tags] [--meta-closes-bugnum=bug-number-format]
              [--pq-from= [DEBIAN|TAG]] [--upstream-tag= tag-format] [--[no-]ignore-new] drop |
              export | import | rebase | switch

DESCRIPTION

       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   ⟨https://honk.sigxcpu.org/piki/development/debian_packages_in_git/⟩   for    example
       workflows.

ACTIONS

       import 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 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.

       rebase Switch  to  the  patch-queue  branch associated to the current branch and rebase it
              against the current branch.

       drop   Drop (delete) the patch queue associated to the current branch.  So  if  you're  on
              branch foo, this would drop branch patch-queue/foo.

       apply  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 Switch to the patch-queue branch if on the base branch and switch to base branch if
              on patch-queue branch.

OPTIONS

       --version
              Print version of the program, i.e. version of the git-buildpackage suite

       -v, --verbose
              Verbose execution

       -h, --help
              Print help and exit

       --color=[auto|on|off]
              Whether to use colored output.

       --color-scheme=COLOR_SCHEME
              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).

       --[no-]patch-numbers
              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.

       --patch-num-format=format
              The format specifier for patch number prefixes. The default format is '%04d-'.

       --[no-]renumber
              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=topic
              Topic to use when importing a single patch

       --time-machine=NUM
              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.

       --[no-]drop
              Whether  to  automatically  drop (delete) the patch queue branch after a successful
              export

       --abbrev=NUM
              When exporting a patch queue abbreviate commit, instead of showing the full 40-byte
              hexadecimal  object name in header lines, show only a partial prefix of length NUM.
              This is useful when existing patches were not generated by gbp pq.

       --force
              In case of import, import  even  if  the  patch-queue  branch  already  exists  and
              overwrite its content with debian/patches.

       --commit
              In  case  of  export,  commit  debian/patchesthe changes to Git after exporting the
              patches.

       --meta-closes=bug-close-tags
              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.

       --meta-closes-bugnum=bug-number-format
              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.

       --pq-from=[DEBIAN|TAG]
              How  to  find  the starting point for the patch queue base. The options are DEBIAN,
              that will use the Debian branch as the base for the patch queue  branch,  and  TAG,
              that will use the corresponding upstream tag as a base for the patch queue branch.

              This  is  only  needed  if your upstream branch is not merged in the Debian branch.
              The default is DEBIAN.

       --upstream-tag=TAG-FORMAT
              Use this tag format  when  looking  for  tags  of  upstream  versions,  default  is
              upstream/%(version)s.

       --[no-]ignore-new
              Don't  abort  if  there  are  uncommitted changes in the source tree or the current
              branch doesn't match the DEBIAN-BRANCH.

TAGS

       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 export

              If unset, it will be formatted like git am would format it.

       Gbp[-Pq]: Topic topic
              Moves the patch into a subdir called topic when running

              gbp pq export

              This allows for some structure below debian/patches.

       Gbp-Pq-Topic: topic
              Deprecated: use Gbp[-Pq]: Topic topic instead.

SEE ALSO

       gbp-buildpackage(1), dpkg-source(1), quilt(1), gbp.conf(5)

AUTHOR

       Guido Günther <agx@sigxcpu.org>

                                        29 September 2022                               gbp-pq(1)