1quilt(1)                    General Commands Manual                   quilt(1)
2
3
4

NAME

6       quilt - tool to manage series of patches
7
8

SYNOPSIS

10       quilt [-h] command [options]
11
12

DESCRIPTION

14       Quilt is a tool to manage large sets of patches by keeping track of the
15       changes  each  patch  makes.  Patches  can  be   applied,   un-applied,
16       refreshed, etc. The key philosophical concept is that your primary out‐
17       put is patches.
18
19       With quilt, all work occurs within a single  directory  tree.  Commands
20       can  be  invoked  from anywhere within the source tree. They are of the
21       form quilt cmd similar to CVS, svn or git commands. They can be  abbre‐
22       viated as long as the specified part of the command is unique. All com‐
23       mands print some help text with quilt cmd -h.
24
25       Quilt manages a stack of patches. Patches are applied incrementally  on
26       top  of the base tree plus all preceding patches. They can be pushed on
27       top of the stack (quilt push), and popped off the  stack  (quilt  pop).
28       Commands  are  available  for  querying the contents of the series file
29       (quilt series, see below), the contents of the  stack  (quilt  applied,
30       quilt  previous,  quilt top), and the patches that are not applied at a
31       particular moment (quilt next, quilt unapplied).  By default, most com‐
32       mands apply to the topmost patch on the stack.
33
34       Patch files are located in the patches sub-directory of the source tree
35       (see EXAMPLE OF WORKING  TREE  below).  The  QUILT_PATCHES  environment
36       variable  can  be used to override this location. When not found in the
37       current directory, that subdirectory is  searched  recursively  in  the
38       parent  directories  (this  is  similar to the way git searches for its
39       configuration files). The patches directory  may  contain  sub-directo‐
40       ries. It may also be a symbolic link instead of a directory.
41
42       A  file  called series contains a list of patch file names that defines
43       the order in which patches are applied. Unless there are means by which
44       series  files  can  be  generated automatically, it is usually provided
45       along with a set of patches. In this file, each patch file name is on a
46       separate  line. Patch files are identified by path names that are rela‐
47       tive to the patches directory; patches may be in sub-directories  below
48       this directory. Lines in the series file that start with a hash charac‐
49       ter (#) are ignored.  You can also add a comment after each patch  file
50       name,  introduced  by a space  followed by a hash character. When quilt
51       adds, removes, or renames patches, it automatically updates the  series
52       file.  Users  of  quilt  can modify series files while some patches are
53       applied, as long as the applied patches remain in their original order.
54
55       Different series files can be used to  assemble  patches  in  different
56       ways, corresponding for example to different development branches.
57
58       Before  a  patch is applied (or ``pushed on the stack''), copies of all
59       files the patch modifies are saved  to  the  .pc/patch  directory.  The
60       patch  is  added to the list of currently applied patches (.pc/applied-
61       patches). Later when a patch is regenerated (quilt refresh), the backup
62       copies in .pc/patch are compared with the current versions of the files
63       in the source tree using GNU diff.
64
65       Documentation related to a patch can be put at the beginning of a patch
66       file.   Quilt  is careful to preserve all text that precedes the actual
67       patch when doing a refresh. (This is limited to patches in unified for‐
68       mat; see diff documentation).
69
70       The  series  file is looked up in the .pc directory, in the root of the
71       source tree, and in the patches directory.  The first series file  that
72       is found is used. This may also be a symbolic link, or a file with mul‐
73       tiple hard links.  Usually, only one series file is used for a  set  of
74       patches, so the patches sub-directory is a convenient location.
75
76       The  .pc  directory and its sub-directories cannot be relocated, but it
77       can be a symbolic link. While patches are applied to the  source  tree,
78       this  directory  is  essential  for  many  operations, including taking
79       patches off the  stack  (quilt  pop),  and  refreshing  patches  (quilt
80       refresh).   Files  in  the .pc directory are automatically removed when
81       they are no longer needed, so there is no need to clean up manually.
82
83

QUILT COMMANDS REFERENCE

85       add [-P patch] {file} ...
86
87           Add one or more files to the topmost or named patch.  Files must be
88           added  to the patch before being modified.  Files that are modified
89           by patches already applied on top of the specified patch cannot  be
90           added.
91
92
93           -P patch
94
95               Patch to add files to.
96
97
98
99       annotate [-P patch] {file}
100
101           Print  an  annotated  listing  of  the specified file showing which
102           patches modify which lines. Only applied patches are included.
103
104
105           -P patch
106
107               Stop checking for changes at the specified rather than the top‐
108               most patch.
109
110
111
112       applied [patch]
113
114           Print a list of applied patches, or all patches up to and including
115           the specified patch in the file series.
116
117
118
119       delete [-r] [--backup] [patch|-n]
120
121           Remove the specified or topmost patch from the series file.  If the
122           patch  is applied, quilt will attempt to remove it first. (Only the
123           topmost patch can be removed right now.)
124
125
126           -n  Delete the next patch after topmost, rather than the  specified
127               or topmost patch.
128
129
130           -r  Remove  the  deleted  patch  file from the patches directory as
131               well.
132
133
134           --backup
135
136               Rename the patch  file  to  patch~  rather  than  deleting  it.
137               Ignored if not used with `-r'.
138
139
140
141       diff  [-p  n|-p ab] [-u|-U num|-c|-C num] [--combine patch|-z] [-R] [-P
142       patch]  [--snapshot]  [--diff=utility]  [--no-timestamps]  [--no-index]
143       [--sort] [--color[=always|auto|never]] [file ...]
144
145           Produces  a  diff of the specified file(s) in the topmost or speci‐
146           fied patch.  If no files are specified, all files that are modified
147           are included.
148
149
150           -p n
151               Create a -p n style patch (-p0 or -p1 are supported).
152
153
154           -p ab
155               Create  a  -p1  style  patch,  but use a/file and b/file as the
156               original and new filenames instead of the default dir.orig/file
157               and dir/file names.
158
159
160           -u, -U num, -c, -C num
161
162               Create  a unified diff (-u, -U) with num lines of context. Cre‐
163               ate a context diff (-c, -C) with num lines of context. The num‐
164               ber of context lines defaults to 3.
165
166
167           --no-timestamps
168
169               Do not include file timestamps in patch headers.
170
171
172           --no-index
173
174               Do not output Index: lines.
175
176
177           -z  Write  to standard output the changes that have been made rela‐
178               tive to the topmost or specified patch.
179
180
181           -R  Create a reverse diff.
182
183
184           -P patch
185
186               Create a diff for the specified patch.  (Defaults to  the  top‐
187               most patch.)
188
189
190           --combine patch
191
192               Create  a  combined diff for all patches between this patch and
193               the patch specified with -P. A patch name of `-' is  equivalent
194               to specifying the first applied patch.
195
196
197           --snapshot
198
199               Diff against snapshot (see `quilt snapshot -h').
200
201
202           --diff=utility
203
204               Use  the specified utility for generating the diff. The utility
205               is invoked with the original and new file name as arguments.
206
207
208           --color[=always|auto|never]
209
210               Use syntax coloring (auto activates it only if the output is  a
211               tty).
212
213
214           --sort
215               Sort  files  by  their  name instead of preserving the original
216               order.
217
218
219
220       edit file ...
221
222           Edit the specified file(s) in $EDITOR after adding it (them) to the
223           topmost patch.
224
225
226
227       files [-v] [-a] [-l] [--combine patch] [patch]
228
229           Print  the  list  of  files  that  the  topmost  or specified patch
230           changes.
231
232
233           -a  List all files in all applied patches.
234
235
236           -l  Add patch name to output.
237
238
239           -v  Verbose, more user friendly output.
240
241
242           --combine patch
243
244               Create a listing for all patches between  this  patch  and  the
245               topmost  or  specified patch. A patch name of `-' is equivalent
246               to specifying the first applied patch.
247
248
249
250
251       fold [-R] [-q] [-f] [-p strip-level]
252
253           Integrate the patch read  from  standard  input  into  the  topmost
254           patch:  After  making  sure that all files modified are part of the
255           topmost patch, the patch is applied with the specified strip  level
256           (which defaults to 1).
257
258
259           -R  Apply patch in reverse.
260
261
262           -q  Quiet operation.
263
264
265           -f  Force  apply,  even  if  the patch has rejects. Unless in quiet
266               mode, apply the patch interactively: the patch utility may  ask
267               questions.
268
269
270           -p strip-level
271
272               The number of pathname components to strip from file names when
273               applying patchfile.
274
275
276
277       fork [new_name]
278
279           Fork the topmost patch.  Forking a patch means creating a  verbatim
280           copy  of  it under a new name, and use that new name instead of the
281           original one in the current series.  This is useful  when  a  patch
282           has  to  be modified, but the original version of it should be pre‐
283           served, e.g.  because it is used in another series, or for the his‐
284           tory.   A  typical  sequence  of  commands  would  be:  fork, edit,
285           refresh.
286
287           If new_name is missing, the name of the forked patch  will  be  the
288           current  patch  name,  followed by `-2'.  If the patch name already
289           ends in a dash-and-number, the number is further incremented (e.g.,
290           patch.diff, patch-2.diff, patch-3.diff).
291
292
293
294       graph  [--all] [--reduce] [--lines[=num]] [--edge-labels=files] [-T ps]
295       [patch]
296
297           Generate a dot(1) directed graph showing the  dependencies  between
298           applied patches. A patch depends on another patch if both touch the
299           same file or, with the --lines option, if their modifications over‐
300           lap.  Unless  otherwise  specified,  the graph includes all patches
301           that the topmost patch depends on.  When a patch name is specified,
302           instead  of  the  topmost  patch,  create a graph for the specified
303           patch. The graph will include all other  patches  that  this  patch
304           depends on, as well as all patches that depend on this patch.
305
306
307           --all
308               Generate a graph including all applied patches and their depen‐
309               dencies. (Unapplied patches are not included.)
310
311
312           --reduce
313
314               Eliminate transitive edges from the graph.
315
316
317           --lines[=num]
318
319               Compute dependencies by looking at the lines the  patches  mod‐
320               ify.  Unless a different num is specified, two lines of context
321               are included.
322
323
324           --edge-labels=files
325
326               Label graph edges with the file names that the adjacent patches
327               modify.
328
329
330           -T ps
331               Directly produce a PostScript output file.
332
333
334
335       grep [-h|options] {pattern}
336
337           Grep  through  the  source files, recursively, skipping patches and
338           quilt meta-information. If no filename argument is given, the whole
339           source  tree  is  searched.  Please see the grep(1) manual page for
340           options.
341
342
343           -h  Print this help. The grep -h option can be passed after a  dou‐
344               ble-dash (--). Search expressions that start with a dash can be
345               passed after a second double-dash (-- --).
346
347
348
349       header  [-a|-r|-e]  [--backup]  [--strip-diffstat]   [--strip-trailing-
350       whitespace] [patch]
351
352           Print or change the header of the topmost or specified patch.
353
354
355           -a, -r, -e
356
357               Append  to  (-a)  or  replace (-r) the exiting patch header, or
358               edit (-e) the header in $EDITOR. If none of  these  options  is
359               given, print the patch header.
360
361
362           --strip-diffstat
363
364               Strip diffstat output from the header.
365
366
367           --strip-trailing-whitespace
368
369               Strip trailing whitespace at the end of lines of the header.
370
371
372           --backup
373
374               Create a backup copy of the old version of a patch as patch~.
375
376
377
378       import [-p num] [-R] [-P patch] [-f] [-d {o|a|n}] patchfile ...
379
380           Import  external  patches.   The patches will be inserted following
381           the current top patch, and must be pushed  after  import  to  apply
382           them.
383
384
385           -p num
386
387               Number of directory levels to strip when applying (default=1)
388
389
390           -R
391
392               Apply patch in reverse.
393
394
395           -P patch
396
397               Patch  filename  to  use  inside quilt. This option can only be
398               used when importing a single patch.
399
400
401           -f  Overwrite/update existing patches.
402
403
404           -d {o|a|n}
405
406               When overwriting in existing patch, keep the old (o), all  (a),
407               or  new (n) patch header. If both patches include headers, this
408               option must be specified. This option is only effective when -f
409               is used.
410
411
412
413       mail  {--mbox  file|--send}  [-m  text]  [-M  file]  [--prefix  prefix]
414       [--sender ...] [--from ...] [--to ...] [--cc ...] [--bcc  ...]  [--sub‐
415       ject  ...]  [--reply-to  message]  [--charset  ...]  [--signature file]
416       [first_patch [last_patch]]
417
418           Create mail messages from a specified  range  of  patches,  or  all
419           patches  in  the  series  file,  and either store them in a mailbox
420           file, or send them immediately. The editor is opened  with  a  tem‐
421           plate       for       the       introduction.       Please      see
422           /usr/share/doc/quilt/README.MAIL for details.   When  specifying  a
423           range  of patches, a first patch name of `-' denotes the first, and
424           a last patch name of `-' denotes the last patch in the series.
425
426
427           -m text
428
429               Text to use as the text in the introduction. When  this  option
430               is  used,  the editor will not be invoked, and the patches will
431               be processed immediately.
432
433
434           -M file
435
436               Like the -m option, but read the introduction from file.
437
438
439           --prefix prefix
440
441               Use an alternate prefix in the bracketed part of  the  subjects
442               generated. Defaults to `patch'.
443
444
445           --mbox file
446
447               Store  all  messages  in the specified file in mbox format. The
448               mbox can later be sent using formail, for example.
449
450
451           --send
452
453               Send the messages directly.
454
455
456           --sender
457
458               The envelope sender address to use. The address must be of  the
459               form `user@domain.name'. No display name is allowed.
460
461
462           --from, --subject
463
464               The  values  for  the  From  and  Subject headers to use. If no
465               --from option is given, the value of  the  --sender  option  is
466               used.
467
468
469           --to, --cc, --bcc
470
471               Append a recipient to the To, Cc, or Bcc header.
472
473
474           --charset
475
476               Specify  a  particular  message encoding on systems which don't
477               use UTF-8 or ISO-8859-15. This character  encoding  must  match
478               the one used in the patches.
479
480
481           --signature file
482
483               Append the specified signature to messages (defaults to ~/.sig‐
484               nature if found; use `-' for no signature).
485
486
487           --reply-to message
488
489               Add the appropriate headers to reply to the specified message.
490
491
492
493       new [-p n|-p ab] {patchname}
494
495           Create a new patch with the specified  file  name,  and  insert  it
496           after the topmost patch. The name can be prefixed with a sub-direc‐
497           tory name, allowing for grouping related patches together.
498
499
500           -p n
501               Create a -p n style patch (-p0 or -p1 are supported).
502
503
504           -p ab
505               Create a -p1 style patch, but use  a/file  and  b/file  as  the
506               original and new filenames instead of the default dir.orig/file
507               and dir/file names.
508
509               Quilt can be used in  sub-directories  of  a  source  tree.  It
510               determines the root of a source tree by searching for a patches
511               directory above the current working directory. Create a patches
512               directory  in  the  intended  root directory if quilt chooses a
513               top-level directory that is too high up in the directory tree.
514
515
516
517       next [patch]
518
519           Print the name of the next patch after  the  specified  or  topmost
520           patch in the series file.
521
522
523
524       patches [-v] [--color[=always|auto|never]] {file} [files...]
525
526           Print  the  list of patches that modify any of the specified files.
527           (Uses a heuristic to determine which files are  modified  by  unap‐
528           plied  patches.  Note that this heuristic is much slower than scan‐
529           ning applied patches.)
530
531
532           -v  Verbose, more user friendly output.
533
534
535           --color[=always|auto|never]
536
537               Use syntax coloring (auto activates it only if the output is  a
538               tty).
539
540
541
542       pop [-afRqv] [--refresh] [num|patch]
543
544           Remove  patch(es)  from  the  stack  of  applied  patches.  Without
545           options, the topmost patch is removed.  When a number is specified,
546           remove the specified number of patches.  When a patch name is spec‐
547           ified, remove patches until the specified patch end up  on  top  of
548           the  stack.   Patch  names  may  include the patches/ prefix, which
549           means that filename completion can be used.
550
551
552           -a  Remove all applied patches.
553
554
555           -f  Force remove. The state before the patch(es) were applied  will
556               be restored from backup files.
557
558
559           -R  Always verify if the patch removes cleanly; don't rely on time‐
560               stamp checks.
561
562
563           -q  Quiet operation.
564
565
566           -v  Verbose operation.
567
568
569           --refresh
570
571               Automatically refresh every patch before it gets unapplied.
572
573
574
575       previous [patch]
576
577           Print the name of the previous patch before the specified  or  top‐
578           most patch in the series file.
579
580
581
582       push   [-afqvm]  [--fuzz=N]  [--merge[=merge|diff3]]  [--leave-rejects]
583       [--color[=always|auto|never]] [--refresh] [num|patch]
584
585           Apply patch(es) from the series file.  Without  options,  the  next
586           patch  in  the series file is applied.  When a number is specified,
587           apply the specified number of patches.  When a patch name is speci‐
588           fied,  apply  all  patches up to and including the specified patch.
589           Patch names may include the patches/ prefix, which means that file‐
590           name completion can be used.
591
592
593           -a  Apply all patches in the series file.
594
595
596           -q  Quiet operation.
597
598
599           -f  Force apply, even if the patch has rejects.
600
601
602           -v  Verbose operation.
603
604
605           --fuzz=N
606
607               Set the maximum fuzz factor (default: 2).
608
609
610           -m, --merge[=merge|diff3]
611
612               Merge the patch file into the original files (see patch(1)).
613
614
615           --leave-rejects
616
617               Leave around the reject files patch produced, even if the patch
618               is not actually applied.
619
620
621           --color[=always|auto|never]
622
623               Use syntax coloring (auto activates it only if the output is  a
624               tty).
625
626
627           --refresh
628
629               Automatically  refresh  every  patch  after it was successfully
630               applied.
631
632
633
634       refresh [-p n|-p ab] [-u|-U num|-c|-C num] [-z[new_name]]  [-f]  [--no-
635       timestamps]  [--no-index]  [--diffstat]  [--sort]  [--backup] [--strip-
636       trailing-whitespace] [patch]
637
638           Refreshes the specified patch, or the  topmost  patch  by  default.
639           Documentation  that comes before the actual patch in the patch file
640           is retained.
641
642           It is possible to refresh patches that are  not  on  top.   If  any
643           patches  on  top of the patch to refresh modify the same files, the
644           script aborts by default.  Patches can still be refreshed with  -f.
645           In  that  case  this  script will print a warning for each shadowed
646           file, changes by more recent patches  will  be  ignored,  and  only
647           changes  in  files  that  have not been modified by any more recent
648           patches will end up in the specified patch.
649
650
651           -p n
652               Create a -p n style patch (-p0 or -p1 supported).
653
654
655           -p ab
656               Create a -p1 style patch, but use  a/file  and  b/file  as  the
657               original and new filenames instead of the default dir.orig/file
658               and dir/file names.
659
660
661           -u, -U num, -c, -C num
662
663               Create a unified diff (-u, -U) with num lines of context.  Cre‐
664               ate a context diff (-c, -C) with num lines of context. The num‐
665               ber of context lines defaults to 3.
666
667
668           -z[new_name]
669
670               Create a new patch containing the changes instead of refreshing
671               the  topmost  patch. If no new name is specified, `-2' is added
672               to the original patch name, etc. (See the fork command.)
673
674
675           --no-timestamps
676
677               Do not include file timestamps in patch headers.
678
679
680           --no-index
681
682               Do not output Index: lines.
683
684
685           --diffstat
686
687               Add a diffstat section to the  patch  header,  or  replace  the
688               existing diffstat section.
689
690
691           -f  Enforce refreshing of a patch that is not on top.
692
693
694           --backup
695
696               Create a backup copy of the old version of a patch as patch~.
697
698
699           --sort
700               Sort  files  by  their  name instead of preserving the original
701               order.
702
703
704           --strip-trailing-whitespace
705
706               Strip trailing whitespace at the end of lines.
707
708
709
710       remove [-P patch] {file} ...
711
712           Remove one or more files from the topmost or  named  patch.   Files
713           that  are  modified by patches on top of the specified patch cannot
714           be removed.
715
716
717           -P patch
718
719               Remove named files from the named patch.
720
721
722
723       rename [-P patch] new_name
724
725           Rename the topmost or named patch.
726
727
728           -P patch
729
730               Patch to rename.
731
732
733
734       revert [-P patch] {file} ...
735
736           Revert uncommitted changes to the topmost or named  patch  for  the
737           specified  file(s):  after the revert, 'quilt diff -z' will show no
738           differences for those files. Changes to files that are modified  by
739           patches on top of the specified patch cannot be reverted.
740
741
742           -P patch
743
744               Revert changes in the named patch.
745
746
747
748       series [--color[=always|auto|never]] [-v]
749
750           Print the names of all patches in the series file.
751
752
753           --color[=always|auto|never]
754
755               Use  syntax coloring (auto activates it only if the output is a
756               tty).
757
758
759           -v  Verbose, more user friendly output.
760
761
762
763       setup   [-d   path-prefix]   [-v]    [--sourcedir    dir]    [--fuzz=N]
764       [--slow|--fast] {specfile|seriesfile}
765
766           Initializes  a  source tree from an rpm spec file or a quilt series
767           file.
768
769
770           -d  Optional path prefix for the resulting source tree.
771
772
773           --sourcedir
774
775               Directory that contains the package sources. Defaults to `.'.
776
777
778           -v  Verbose debug output.
779
780
781           --fuzz=N
782
783               Set the maximum fuzz factor (needs rpm 4.6 or later).
784
785
786           --slow
787               Use the original, slow method to process the spec file. This is
788               the  default  for  now, but that might change in the future. In
789               this mode, rpmbuild generates a working  tree  in  a  temporary
790               directory  while  all its actions are recorded, and then every‐
791               thing is replayed from scratch in the target directory.
792
793
794           --fast
795               Use an alternative, faster method to process the spec file.  In
796               this mode, rpmbuild is told to generate a working tree directly
797               in the target directory.
798
799
800
801       snapshot [-d]
802
803           Take a snapshot of the current working  state.   After  taking  the
804           snapshot,  the  tree  can  be modified in the usual ways, including
805           pushing and popping patches.  A diff against the tree at the moment
806           of the snapshot can be generated with `quilt diff --snapshot'.
807
808
809           -d  Only remove current snapshot.
810
811
812
813       top
814
815           Print the name of the topmost patch on the current stack of applied
816           patches.
817
818
819
820       unapplied [patch]
821
822           Print a list of patches that are not applied, or all  patches  that
823           follow the specified patch in the series file.
824
825
826
827       upgrade
828
829           Upgrade  the  meta-data  in  a  working tree from an old version of
830           quilt to the current version. This command is only needed when  the
831           quilt meta-data format has changed, and the working tree still con‐
832           tains old-format meta-data. In that case, quilt will request to run
833           `quilt upgrade'.
834
835
836

COMMON OPTIONS TO ALL COMMANDS

838       --trace
839
840               Runs  the  command in bash trace mode (-x). For internal debug‐
841               ging.
842
843
844       --quiltrc file
845
846               Use the specified configuration file instead of ~/.quiltrc  (or
847               /etc/quilt.quiltrc  if ~/.quiltrc does not exist).  See the pdf
848               documentation for details about  its  possible  contents.   The
849               special  value  "-"  causes quilt not to read any configuration
850               file.
851
852
853       --version
854
855               Print the version number and exit immediately.
856
857

EXIT STATUS

859       The exit status is 0 if the sub-command was successfully executed,  and
860       1 in case of error.
861
862       An  exit status of 2 denotes that quilt did not do anything to complete
863       the command.  This happens in particular when asking to push  when  the
864       whole stack is already pushed, or asking to pop when the whole stack is
865       already popped.  This behavior is intended to ease the scripting around
866       quilt.
867
868

EXAMPLE OF WORKING TREE

870              work/
871              ├── patches/
872              │    ├── series         (list of patches to apply)
873              │    ├── patch1.diff    (one particular patch)
874              │    ├── patch2.diff
875              │    └── ...
876              ├── .pc/
877              │    ├── .quilt_patches (content of QUILT_PATCHES)
878              │    ├── .quilt_series  (content of QUILT_SERIES)
879              │    ├── patch1.diff/   (copy of patched files)
880              │    │    └── ...
881              │    ├── patch2.diff/
882              │    │    └── ...
883              │    └── ...
884              └── ...
885
886       The  patches/  directory is precious as it contains all your patches as
887       well as the order in which it should be applied.
888
889       The .pc/ directory contains some metadata about the  current  state  of
890       your  patch  serie. Changing its content is not advised. This directory
891       can usually be regenerated from the initial files and  the  content  of
892       the  patches/  directory  (provided  that  all patches were regenerated
893       before the removal).
894
895

EXAMPLE

897       Please refer to the pdf documentation for a full example of use.
898
899

CONFIGURATION FILE

901       Upon startup, quilt evaluates the file  .quiltrc  in  the  user's  home
902       directory,  or the file specified with the --quiltrc option.  This file
903       is a regular bash script. Default options can be passed to any  COMMAND
904       by   defining   a   QUILT_${COMMAND}_ARGS   variable.    For   example,
905       QUILT_DIFF_ARGS="--color=auto" causes the output of quilt  diff  to  be
906       syntax colored when writing to a terminal.
907
908       In addition to that, quilt recognizes the following variables:
909
910
911       EDITOR
912
913           The  program  to  run  to edit files.  If it isn't redefined in the
914           configuration file, $EDITOR as defined in the environment  will  be
915           used.
916
917
918       LESS
919
920           The  arguments  used  to  invoke  the pager.  Inherits the existing
921           value of $LESS if LESS is already set in the environment, otherwise
922           defaults to "-FRSX".
923
924
925       QUILT_DIFF_OPTS
926
927           Additional  options that quilt shall pass to GNU diff when generat‐
928           ing patches. A useful setting for C  source  code  is  "-p",  which
929           causes  GNU  diff  to  show in the resulting patch which function a
930           change is in.
931
932
933       QUILT_PATCH_OPTS
934
935           Additional options that quilt shall pass to GNU patch when applying
936           patches.   For  example,  recent  versions of GNU patch support the
937           "--reject-format=unified" option for  generating  reject  files  in
938           unified  diff  style  (older patch versions used "--unified-reject-
939           files" for that).
940
941           You may also want to add the "-E" option if you  have  issues  with
942           quilt  not deleting empty files when you think it should. The docu‐
943           mentation of GNU patch says that "normally this option is  unneces‐
944           sary",  but  when  patch  is  in  POSIX mode or if the patch format
945           doesn't allow to distinguish empty files from deleted files,  patch
946           deletes  empty  files  only  if the -E option is given. Beware that
947           when passing -E to patch, quilt will no longer be able to deal with
948           empty files, which is why using -E is no longer the default.
949
950
951       QUILT_DIFFSTAT_OPTS
952
953           Additional  options that quilt shall pass to diffstat when generat‐
954           ing patch statistics. For example, "-f0" can be used for an  alter‐
955           native  output  format.  Recent  versions  of diffstat also support
956           alternative rounding methods ("-r1", "-r2").
957
958
959       QUILT_PC
960
961           The location of backup files and any other  data  relating  to  the
962           current  state  of  the working directory from quilt's perspective.
963           Defaults to ".pc".
964
965
966       QUILT_PATCHES
967
968           The location of patch files, defaulting to "patches".
969
970
971       QUILT_SERIES
972
973           The name of the series file,  defaulting  to  "series".  Unless  an
974           absolute  path  is  used,  the  search  algorithm  described  above
975           applies.
976
977
978       QUILT_PATCHES_PREFIX
979
980           If set to anything, quilt will prefix patch names  it  prints  with
981           their directory (QUILT_PATCHES).
982
983
984       QUILT_NO_DIFF_INDEX
985
986           By  default, quilt prepends an Index: line to the patches it gener‐
987           ates.  If this variable is set to anything, no line  is  prepended.
988           This is a shortcut to adding --no-index to both QUILT_DIFF_ARGS and
989           QUILT_REFRESH_ARGS.
990
991
992       QUILT_NO_DIFF_TIMESTAMPS
993
994           By default, quilt includes timestamps in  headers  when  generating
995           patches.  If this variable is set to anything, no timestamp will be
996           included.  This is a shortcut to  adding  --no-timestamps  to  both
997           QUILT_DIFF_ARGS and QUILT_REFRESH_ARGS.
998
999
1000       QUILT_PAGER
1001
1002           The pager quilt shall use for commands which produce paginated out‐
1003           put. If unset, the values of GIT_PAGER or PAGER is used.   If  none
1004           of these variables is set, "less -R" is used.  An empty value indi‐
1005           cates that no pager should be used.
1006
1007
1008       QUILT_COLORS
1009
1010           By default, quilt uses its predefined color set in order to be more
1011           comprehensible  when  distiguishing  various  types of patches, eg.
1012           applied/unapplied, failed, etc.
1013
1014           To override one or more color settings, set the QUILT_COLORS  vari‐
1015           able  in  following  syntax - colon (:) separated list of elements,
1016           each being of the  form  <format  name>=<foreground  color>[;<back‐
1017           ground color>]
1018
1019           Format names with their respective default values are listed below,
1020           along with their usage(s).  Color codes(values) are  standard  bash
1021           coloring        escape        codes.        See       more       at
1022           http://tldp.org/LDP/abs/html/colorizing.html#AEN20229
1023
1024
1025           diff_hdr  Used in 'quilt diff' to color the index line. Defaults to
1026                     32 (green).
1027
1028
1029           diff_add  Used in 'quilt diff' to color added lines. Defaults to 36
1030                     (azure).
1031
1032
1033           diff_mod  Used in 'quilt diff' to color modified lines. Defaults to
1034                     35 (purple).
1035
1036
1037           diff_rem  Used  in 'quilt diff' to color removed lines. Defaults to
1038                     35 (purple).
1039
1040
1041           diff_hunk Used in 'quilt diff' to color hunk header. Defaults to 33
1042                     (brown/orange).
1043
1044
1045           diff_ctx  Used  in 'quilt diff' to color the text after end of hunk
1046                     header (diff --show-c-function generates this).  Defaults
1047                     to 35 (purple).
1048
1049
1050           diff_cctx Used  in  'quilt  diff' to color the 15-asterisk sequence
1051                     before or after a hunk. Defaults to 33 (brown/orange).
1052
1053
1054           patch_fuzz
1055                     Used in 'quilt push' to color the patch fuzz information.
1056                     Defaults to 35 (purple).
1057
1058
1059           patch_fail
1060                     Used  in 'quilt push' to color the fail message. Defaults
1061                     to 31 (red).
1062
1063
1064           series_app
1065                     Used in 'quilt series' and 'quilt patches' to  color  the
1066                     applied patch names. Defaults to 32 (green).
1067
1068
1069           series_top
1070                     Used  in  'quilt series' and 'quilt patches' to color the
1071                     top patch name. Defaults to 33 (brown/orange).
1072
1073
1074           series_una
1075                     Used in 'quilt series' and 'quilt patches' to color unap‐
1076                     plied patch names. Defaults to 0 (no special color).
1077
1078           In addition, the clear format name is used to turn off special col‐
1079           oring. Its value is 0; it is not advised to modify it.
1080
1081           The content of QUILT_COLORS supersedes default values. So the value
1082           diff_hdr=35;44  will  get you the diff headers in magenta over blue
1083           instead of the default green over unchanged background.  For  that,
1084           add the following content to ~/.quiltrc (or /etc/quilt.quiltrc):
1085
1086           QUILT_DIFF_ARGS="--color"
1087           QUILT_COLORS='diff_hdr=35;44'
1088
1089

AUTHORS

1091       Quilt  started  as a series of scripts written by Andrew Morton (patch-
1092       scripts). Based  on  Andrew's  ideas,  Andreas  Gruenbacher  completely
1093       rewrote  the  scripts, with the help of several other contributors (see
1094       AUTHORS file in the distribution).
1095
1096       This man page was written by Martin Quinson, based on information found
1097       in the pdf documentation, and in the help messages of each commands.
1098
1099

SEE ALSO

1101       The      pdf      documentation,      which     should     be     under
1102       /usr/share/doc/quilt/quilt.pdf.  Note that some  distributors  compress
1103       this file.  zxpdf(1) can be used to display compressed pdf files.
1104
1105       diff(1), patch(1), guards(1).
1106
1107
1108
1109quilt                            Dec 17, 2013                         quilt(1)
Impressum