r11745 - /website/quilt.pod

rra at users.alioth.debian.org rra at users.alioth.debian.org
Thu Dec 27 00:15:46 UTC 2007


Author: rra
Date: Thu Dec 27 00:15:45 2007
New Revision: 11745

URL: http://svn.debian.org/wsvn/?sc=1&rev=11745
Log:
Add a tips and tricks section with information about cleaner patches
and unified context diffs in the *.rej files.  Mention ~/.quiltrc.
Fix a stray letter and an unwrapped line.

Modified:
    website/quilt.pod

Modified: website/quilt.pod
URL: http://svn.debian.org/wsvn/website/quilt.pod?rev=11745&op=diff
==============================================================================
--- website/quilt.pod (original)
+++ website/quilt.pod Thu Dec 27 00:15:45 2007
@@ -26,6 +26,9 @@
 it. This way you won't have to worry about this quilt oddity (like me; ever
 forgot to mention it in the first revision of this document).
 
+You can also create F<.quiltrc> in your home directory and set
+C<QUILT_PATCHES> there if you prefer.
+
 =head2 1.1. Patches order -- the series
 
 C<quilt> manages the series of patches as a stack. You push to it (apply a
@@ -101,13 +104,14 @@
 
 =head2 2.4. Other commands
 
-C<quilt delete> deletes, C<quilt rename> renames a patch. There are a lot more. See the manual page.
+C<quilt delete> deletes, C<quilt rename> renames a patch. There are a lot
+more. See the manual page.
 
 =head1 3. Integrating within package build process
 
 C<include /usr/share/quilt/quilt.make> has some candy for C<debian/rules>.
 First, it defines C<QUILT_PATCHES> to be C<debian/patches> so that one doesn't
-have to worry about that setting in the pbuilder chroot.o
+have to worry about that setting in the pbuilder chroot.
 
 Second, it defines C<QUILT_STAMPFN>, which can be used as a C<build-stamp> or
 C<configure-stamp> dependency.
@@ -162,6 +166,39 @@
 
 =back
 
+=head1 5. Tips and tricks
+
+=head2 5.1. Cleaner patches
+
+By default, C<quilt> saves patches that look like the output from C<diff>.
+This means they include timestamps for each changed file.  C<quilt> also
+preserves C<Index:> lines, such as those generated by C<svn diff>.  However,
+C<patch> doesn't need any of that data to apply the patch and it has the
+unfortunate side effect of causing every file header line of the patch to
+change each time someone runs C<quilt refresh>.
+
+To use the simplest headers in the patch, add:
+
+    QUILT_DIFF_ARGS="--no-timestamps --no-index"
+    QUILT_REFRESH_ARGS="--no-timestamps --no-index"
+
+to F<~/.quiltrc> or set those variables in the environment if you prefer.  The
+next time you C<quilt refresh> a patch, C<quilt> will remove the extraneous
+information.
+
+=head2 5.2. Unified reject files
+
+If upstream has made a change that conflicts with a patch, one normally
+force-applies the patch (with C<quilt push -f I<patch>>) and then looks at the
+resulting F<*.rej> file to see what part of the patch failed.  By default, the
+F<*.rej> file is a traditional context diff similar to the output of C<diff
+-c>.  If you're used to the output of C<diff -u>, you can tell C<quilt> to
+create unified context diffs for the F<*.rej> files by putting:
+
+    QUILT_PATCH_OPTS="--unified-reject-files"
+
+in your F<~/.quiltrc> or by setting that variable in the environment.
+
 =head1 Version
 
 $Id$
@@ -179,6 +216,8 @@
 =over
 
 =item * gregor herrmann <gregor+debian at comodo.priv.at>
+
+=item * Russ Allbery <rra at debian.org>
 
 =back
 




More information about the Pkg-perl-cvs-commits mailing list