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,  re‐
16       freshed, etc. The key philosophical concept is that your primary output
17       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.  Patch options, such as the strip level or whether
50       the patch is reversed, can be added after each patch file name. Options
51       are introduced by a space, separated by spaces, and follow  the  syntax
52       of  the  patch(1) options (e.g. -p2). Quilt records patch options auto‐
53       matically when a command supporting  them  is  used.  Without  options,
54       strip  level 1 is assumed.  You can also add a comment after each patch
55       file name and options, introduced by a space followed by a hash charac‐
56       ter. When quilt adds, removes, or renames patches, it automatically up‐
57       dates the series file. Users of quilt can  modify  series  files  while
58       some  patches  are  applied,  as  long as the applied patches remain in
59       their original order.
60
61       Different series files can be used to  assemble  patches  in  different
62       ways, corresponding for example to different development branches.
63
64       Before  a  patch is applied (or ``pushed on the stack''), copies of all
65       files the patch modifies are saved  to  the  .pc/patch  directory.  The
66       patch  is  added to the list of currently applied patches (.pc/applied-
67       patches). Later when a patch is regenerated (quilt refresh), the backup
68       copies in .pc/patch are compared with the current versions of the files
69       in the source tree using GNU diff.
70
71       Documentation related to a patch can be put at the beginning of a patch
72       file.   Quilt  is careful to preserve all text that precedes the actual
73       patch when doing a refresh. (This is limited to patches in unified for‐
74       mat; see diff documentation).
75
76       The  series  file is looked up in the .pc directory, in the root of the
77       source tree, and in the patches directory.  The first series file  that
78       is found is used. This may also be a symbolic link, or a file with mul‐
79       tiple hard links.  Usually, only one series file is used for a  set  of
80       patches, so the patches sub-directory is a convenient location.
81
82       The  .pc  directory and its sub-directories cannot be relocated, but it
83       can be a symbolic link. While patches are applied to the  source  tree,
84       this  directory  is  essential  for  many  operations, including taking
85       patches off the stack (quilt pop), and refreshing  patches  (quilt  re‐
86       fresh).  Files in the .pc directory are automatically removed when they
87       are no longer needed, so there is no need to clean up manually.
88
89

QUILT COMMANDS REFERENCE

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

COMMON OPTIONS TO ALL COMMANDS

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

EXIT STATUS

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

EXAMPLE OF WORKING TREE

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

EXAMPLE

902       Please refer to the pdf documentation for a full example of use.
903
904

CONFIGURATION FILE

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

AUTHORS

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

SEE ALSO

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