123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308 |
- <refentry id="man.gbp.pq">
- <refentryinfo>
- <address>
- &dhemail;
- </address>
- <author>
- &dhfirstname;
- &dhsurname;
- </author>
- </refentryinfo>
- <refmeta>
- <refentrytitle>gbp-pq</refentrytitle>
- &dhsection;
- </refmeta>
- <refnamediv>
- <refname>gbp-pq</refname>
- <refpurpose>Manage quilt patches on patch queue branches in git</refpurpose>
- </refnamediv>
- <refsynopsisdiv>
- <cmdsynopsis>
- &gbp-pq;
- &man.common.options.synopsis;
- <arg><option>--[no-]patch-numbers</option></arg>
- <arg><option>--patch-num-format=</option><replaceable>format</replaceable></arg>
- <arg><option>--[no-]renumber</option></arg>
- <arg><option>--topic=</option><replaceable>topic</replaceable></arg>
- <arg><option>--time-machine=</option><replaceable>num</replaceable></arg>
- <arg><option>--[no-]drop</option></arg>
- <arg><option>--force</option></arg>
- <arg><option>--meta-closes=bug-close-tags</option></arg>
- <arg><option>--meta-closes-bugnum=bug-number-format</option></arg>
- <group choice="plain">
- <arg><option>drop</option></arg>
- <arg><option>export</option></arg>
- <arg><option>import</option></arg>
- <arg><option>rebase</option></arg>
- <arg><option>switch</option></arg>
- </group>
- </cmdsynopsis>
- </refsynopsisdiv>
- <refsect1>
- <title>DESCRIPTION</title>
- <para>
- &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
- <replaceable>master</replaceable>, the associated patch-queue branch will be
- called <replaceable>patch-queue/master</replaceable>.
- </para>
- <para>
- See <ulink url="https://honk.sigxcpu.org/piki/development/debian_packages_in_git/"></ulink>
- for example workflows.
- </para>
- </refsect1>
- <refsect1>
- <title>ACTIONS</title>
- <variablelist>
- <varlistentry>
- <term><option>import</option>
- </term>
- <listitem>
- <para>
- Create a patch queue branch from quilt patches in debian/patches/
- that are listed in debian/patches/series. The patches must apply
- without fuzz.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>export</option>
- </term>
- <listitem>
- <para>
- 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.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>rebase</option>
- </term>
- <listitem>
- <para>
- Switch to the patch-queue branch associated to the current branch and
- rebase it against the current branch.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>drop</option>
- </term>
- <listitem>
- <para>
- Drop (delete) the patch queue associated to the current branch. So if
- you're on branch <replaceable>foo</replaceable>, this would drop
- branch <replaceable>patch-queue/foo</replaceable>.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>apply</option>
- </term>
- <listitem>
- <para>
- Add a single patch to the patch-queue similar to using
- <command>git-am</command>. Use <option>--topic</option> if you want
- the patch to appear in a separate subdir when exporting the patch queue
- using <option>export</option>. This can be used to separate upstream
- patches from &debian; specific patches.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>switch</option>
- </term>
- <listitem>
- <para>
- Switch to the patch-queue branch if on the base branch and switch
- to base branch if on patch-queue branch.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- </refsect1>
- <refsect1>
- <title>OPTIONS</title>
- <variablelist>
- &man.common.options.description;
- <varlistentry>
- <term><option>--[no-]patch-numbers</option>
- </term>
- <listitem>
- <para>
- 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 <option>Gbp[-Pq]: Name</option> tag, since the
- name specified is preserved unless the <option>--renumber</option>
- option is used.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--patch-num-format=</option><replaceable>format</replaceable>
- </term>
- <listitem>
- <para>
- The format specifier for patch number prefixes. The default format is '%04d-'.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--[no-]renumber</option>
- </term>
- <listitem>
- <para>
- Whether or not to renumber patches exported from the patch queue,
- instead of preserving numbers specified in
- <option>Gbp-Pq: Name</option> tags. The default is not to renumber
- patches. Useful when patches need to be renamed for the sake of
- uniformity. For example, using <option>--renumber</option> with
- <option>--no-patch-num</option> will strip all numeric prefixes from
- exported patches.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--topic=</option><replaceable>topic</replaceable>
- </term>
- <listitem>
- <para>
- Topic to use when importing a single patch
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--time-machine=</option><replaceable>NUM</replaceable>
- </term>
- <listitem>
- <para>
- 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 <replaceable>NUM</replaceable> 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.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--[no-]drop</option></term>
- <listitem>
- <para>Whether to drop (delete) the patch queue branch after
- a successful export</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--force</option></term>
- <listitem>
- <para>In case of <option>import</option>, import even if the branch already
- exists</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--meta-closes=</option><replaceable>bug-close-tags</replaceable>
- </term>
- <listitem>
- <para>
- What meta tags to look for to generate a commit message when
- using <option>export</option> <option>--commit</option>.
- The default is <literal>'Closes|LP'</literal> to support Debian and Launchpad.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--meta-closes-bugnum=</option><replaceable>bug-number-format</replaceable>
- </term>
- <listitem>
- <para>
- What regular expression should be used to parse out the
- bug number when using
- <option>export</option> <option>--commit</option>. The
- default is <literal>'(?:bug|issue)?\#?\s?\d+'</literal>.
- See <xref linkend="man.gbp.dch"/> for details.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- </refsect1>
- <refsect1>
- <title>TAGS</title>
- <para>
- 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.
- </para>
- <variablelist>
- <varlistentry>
- <term><option>Gbp[-Pq]: Ignore</option>
- </term>
- <listitem>
- <para>
- Ignores the commit, no patch is generated out of it.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>Gbp[-Pq]: Name</option> <replaceable>name</replaceable>
- </term>
- <listitem>
- <para>
- The name to use for the patch when running
- <screen>&gbp-pq; export</screen>
- If unset, it will be formatted like
- <command>git am</command> would format it.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>Gbp[-Pq]: Topic</option> <replaceable>topic</replaceable>
- </term>
- <listitem>
- <para>
- Moves the patch into a subdir called <replaceable>topic</replaceable>
- when running <screen>&gbp-pq; export</screen> This allows for some
- structure below <filename>debian/patches</filename>.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>Gbp-Pq-Topic:</option> <replaceable>topic</replaceable>
- </term>
- <listitem>
- <para>
- Deprecated: use <option>Gbp[-Pq]: Topic</option>
- <replaceable>topic</replaceable> instead.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- </refsect1>
- <refsect1>
- <title>SEE ALSO</title>
- <para>
- <xref linkend="man.gbp.buildpackage"/>,
- <citerefentry>
- <refentrytitle>dpkg-source</refentrytitle>
- <manvolnum>1</manvolnum>
- </citerefentry>,
- <citerefentry>
- <refentrytitle>quilt</refentrytitle>
- <manvolnum>1</manvolnum>
- </citerefentry>,
- <xref linkend="man.gbp.conf"/>
- </para>
- </refsect1>
- <refsect1>
- <title>AUTHOR</title>
- <para>
- &dhusername; &dhemail;
- </para>
- </refsect1>
- </refentry>
|