logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

gbp-pq-rpm - Manage patches and development branches in Git

Actions

import Create a development (patch-queue) branch by applying all patches from the packaging branch on top
              of the upstream version. The patches must apply without fuzz.

       export Export patches from the development branch into the packaging branch.  It generates patches  (one-
              per-commit) from the development branch and updates the spec file accordingly. It doesn't automat‐
              ically commit the changes though - they need to verified and committed manually.

       rebase Switch  to the development branch and rebase it against the current upstream version (indicated in
              the spec file of the associated packaging branch).

       drop   Drop (delete) the development branch associated to the current  branch.  For  example,  you're  on
              branch foo this would drop branch development/foo.

       apply  Add a single patch to the development branch - similar to using git-am.

       switch Switch between the development branch and the associated packaging branch.

Author

       Markus Lehtonen <markus.lehtonen@linux.intel.com>

                                                 9 January 2025                                    gbp-pq-rpm(1)

Description

gbppq-rpm  helps  in  managing  patches and development branch(es) for packages that are maintained with
       gbp. It designed to be used for packages that are maintained using the "orphan-packaging" model.  gbppq-rpm has multiple subcommands, or actions, for working with the branches and patches.

       gbppq-rpm makes it easy to do source code development on  a  separate  development  branch  (patch-queue
       branch  in Debian git-buildpackage terms).  For example, if the packaging files would be stored in master
       the associated development branch would be development/master.

Meta Tags

       When exporting patches from a patch-queue branch gbppq-rpm will look at the commit message  for  special
       tags  it recognizes. All tags need to start at the first column and require at least one whitespace after
       the colon.

       Gbp-Rpm:Ignore
              Ignores the commit, no patch is generated out of it.

       Gbp-Rpm:If<expression>
              Conditional patch. Put patch inside "%if <expression>" in the spec file.

       Gbp-Rpm:IfArch<expression>
              Conditional patch. Put patch inside "%ifarch <expression>" in the spec file.

       For example, the following commit message:

             Fix around a problem in Fedora

             which is not applicable elsewhere.

             Gbp-Rpm: If 0%{?fedora}

       Will result something like this in the spec file:

             # 0001-Fix-around-a-problem-in-Fedora.patch
             %if 0%{?fedora}
             %patch0 -p1
             %endif

Name

       gbp-pq-rpm - Manage patches and development branches in Git

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>:<in‐
              fo>:<warning>:<error>'.  Numerical values and color names are accepted, empty fields imply the de‐
              fault 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).

       --packaging-dir=DIRECTORY
              Subdirectory that contains the RPM packaging files.

       --spec-file=FILEPATH
              Relative  path  to the spec file to use. Special value auto causes gbp to search and guess.  Other
              values cause the --packaging-dir option to be ignored: the directory of the spec file is used, in‐
              stead.

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

       --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 exist‐
              ing patches were not generated by gbppq.

       --force
              Import even if the development (patch-queue) branch already exists.  Only valid for the import ac‐
              tion.

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

       --[no-]patch-numbers
              Whether the patch files should start with a number or not.

See Also

gbp-buildpackage-rpm(1), gbp-import-srpm(1), gbp.conf(5)

Synopsis

gbppq-rpm [--version] [--help] [--verbose] [--color=[auto|on|off]] [--color-scheme=COLOR_SCHEME]
                  [--packaging-dir=DIRECTORY] [--spec-file=FILEPATH] [--upstream-tag=TAG-FORMAT] [--abbrev=num] [--force] [--[no-]drop] [--[no-]patch-numbers] drop | export | import | rebase | switch |
                  apply

See Also