Reference

gbp-pq-rpm(1)

Manage patches and development branches in Git

NAME

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

SYNOPSIS

FCgbp pq-rpmF[0] [FC--versionF[0]] [FC--helpF[0]] [FC--verboseF[0]] [FC--color=F[0][auto|on|off]] [FC--color-scheme=F[0] COLOR_SCHEME] [FC--packaging-dir=F[0] DIRECTORY] [FC--spec-file=F[0] FILEPATH] [FC--upstream-tag=F[0] TAG-FORMAT] [FC--abbrev=F[0] num] [FC--forceF[0]] [FC--[no-]dropF[0]] [FC--[no-]patch-numbersF[0]] FCdropF[0] | FCexportF[0] | FCimportF[0] | FCrebaseF[0] | FCswitchF[0] | FCapplyF[0]

DESCRIPTION

gbp pq-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. gbp pq-rpm has multiple subcommands, or actions, for working with the branches and patches.

gbp pq-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.

ACTIONS

FCimportF[0]

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.

FCexportF[0]

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 automatically commit the changes though - they need to verified and committed manually.

FCrebaseF[0]

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

FCdropF[0]

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

FCapplyF[0]

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

FCswitchF[0]

Switch between the development branch and the associated packaging branch.

OPTIONS

FC--versionF[0]

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

FC-vF[0], FC--verboseF[0]

Verbose execution

FC-hF[0], FC--helpF[0]

Print help and exit

FC--color=F[0][auto|on|off]

Whether to use colored output.

FC--color-scheme=F[0]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, FC--git-color-scheme=F[0]FC'cyan:34::'F[0] would show debug messages in cyan, info messages in blue and other messages in default (i.e. warning and error messages in red).

FC--packaging-dir=F[0]DIRECTORY

Subdirectory that contains the RPM packaging files.

FC--spec-file=F[0]FILEPATH

Relative path to the spec file to use. Special value auto causes gbp to search and guess. Other values cause the FC--packaging-dirF[0] option to be ignored: the directory of the spec file is used, instead.

FC--upstream-tag=F[0]TAG-FORMAT

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

FC--abbrev=F[0]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.

FC--forceF[0]

Import even if the development (patch-queue) branch already exists. Only valid for the import action.

FC--[no-]dropF[0]

Whether to drop (delete) the patch queue branch after a successful export.

FC--[no-]patch-numbersF[0]

Whether the patch files should start with a number or not.

META TAGS

When exporting patches from a patch-queue branch gbp pq-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.

FCGbp-Rpm: IgnoreF[0]

Ignores the commit, no patch is generated out of it.

FCGbp-Rpm: If <expression>F[0]

Conditional patch. Put patch inside "%if <expression>" in the spec file.

FCGbp-Rpm: IfArch<expression>F[0]

Conditional patch. Put patch inside "%ifarch <expression>" in the spec file.

For example, the following commit message:

FC
      Fix around a problem in Fedora
      which is not applicable elsewhere.
      Gbp-Rpm: If 0%{?fedora}
    F[0]

Will result something like this in the spec file:

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

SEE ALSO

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

AUTHOR

Markus Lehtonen <[email protected][0]>

History

--color until Debian 9 (Stretch); --color-scheme until Debian 9 (Stretch); --force until Debian 9 (Stretch); --help until Debian 9 (Stretch); --packaging-dir until Debian 9 (Stretch); --spec-file until Debian 9 (Stretch); --upstream-tag until Debian 9 (Stretch); --verbose until Debian 9 (Stretch); --version until Debian 9 (Stretch); -h until Debian 9 (Stretch); -v until Debian 9 (Stretch).