1baz(1)                          baz arch client                         baz(1)
2
3
4

NAME

6       baz - arch command line client tool
7

SYNOPSIS

9       baz command [ command_options ]
10       baz command [-h|--help|-H]
11       baz [-h|--help|-H|-V|--version]
12

DESCRIPTION

14       baz is an implementation of arch .
15
16       arch is a version control system, which allows you to keep old versions
17       of files and directories (usually source code),  keep  a  log  of  who,
18       when, and why changes occurred, etc., like SVN, CVS, or RCS.
19
20       arch  has  a  number of advantages compared to competing systems. Among
21       these are:
22
23
24   Works on Whole Trees
25       arch keeps track of whole trees --  not  just  individual  files.   For
26       example,  if  you  change  many files in a tree, arch can record all of
27       those changes as a group rather than file-by-file; if you rename  files
28       or  reorganize  a  tree,  arch can record those tree arrangements along
29       with your changes to file contents.
30
31
32   Changeset Oriented
33       arch doesn´t simply "snapshot" your project trees.  Instead, arch asso‐
34       ciates  each  revision  with  a  particular changeset: a description of
35       exactly what has changed.  arch provides changeset oriented commands to
36       help you review changesets, merge trees by applying changesets, examine
37       the history of a tree by asking what changesets have  been  applied  to
38       it, and so forth.
39
40
41   Fully Distributed
42       arch  doesn´t  rely  on a central repository.  For example, there is no
43       need to give write access to a project´s  archive  to  all  significant
44       contributors.  Instead, each contributor can have their own archive for
45       their work.  arch seamlessly operates across archive boundaries.
46

COMMAND OVERVIEW

48   Help
49       baz help [options]
50              provide help with arch
51
52
53   User Commands
54       baz my-id [options] [id]
55              print or change your id
56
57
58       baz my-default-archive [options] [archive]
59              print or change your default archive
60
61
62       baz register-archive [options] [-d name] location
63              change an archive location registration
64
65
66       baz whereis-archive [options] archive
67              print an archive location registration
68
69
70       baz archives [options] [search regular expression]
71              report registered archives and their locations
72
73
74       baz upgrade [options]
75              perform an upgrade of local baz settings and data.
76
77
78   Project Tree Commands
79       baz annotate [options] [path ...]
80              display the changesets that last modified lines in the tree
81
82
83       baz diff [options] [revision] [-- limit...]
84              report about local changes in a project tree
85
86
87       baz init-tree [options] [[archive]/version]
88              initialize a new project tree
89
90
91       baz tree-id [options] [dir]
92              Print the tree identifier for a project tree->
93
94
95       baz tree-root [options] [dir]
96              find and print the root of a project tree
97
98
99       baz tree-version [options] [NEW VERSION]
100              Print the default version for a project tree
101
102
103       baz set-tree-version [options] [...]
104              This command has been removed; you  can  use  ´baz  tree-version
105              <version>´ instead.
106
107
108       baz undo [options] [revision] [-- file ...]
109              undo and save changes in a project tree
110
111
112       baz redo [options] [changeset]
113              redo changes in project tree
114
115
116       baz file-diff [options] file [revision]
117              show local changes to a file
118
119
120       baz switch [options] [package]
121              change the working trees version to that of package
122
123
124   Project Tree Inventory Commands
125       baz inventory [options] [dir]*
126              inventory a source tree
127
128
129       baz status [options] [dir]
130              scan a project tree and show the tree status.
131
132
133       baz lint [options] [dir]
134              audit a source tree
135
136
137       baz resolved [options] FILE [FILE ...]
138              Tell bazaar one or more tree problems have been resolved
139
140
141       baz id [options] file ...
142              report the inventory id for a file
143
144
145       baz id-tagging-method [options] [method]
146              print or change a project tree id tagging method
147
148
149       baz add-id [options] file ...
150              add an explicit inventory id
151
152
153       baz delete-id [options] file ...
154              remove an explicit inventory id
155
156
157       baz rm [options] file...
158              remove  a  file  (or dir, or symlink) and its explicit inventory
159              tag (if any)
160
161
162       baz move-id [options] from to
163              move an explicit inventory id
164
165
166       baz mv [options] from to   OR   from1 from2 ... dir
167              move a file (or dir, or symlink) and its explicit inventory  tag
168              (if any)
169
170
171       baz explicit-default [options] [TAG-PREFIX]
172              print or modify default ids
173
174
175       baz id-tagging-defaults [options]
176              print the default =tagging-method contents
177
178
179       baz inode-sig [options] [dir]
180              output the inode signature for a source tree.
181
182
183   Patch Set Commands
184       baz changeset [options] ORIG MOD DEST [files]
185              compute a whole-tree changeset
186
187
188       baz apply-changeset [options] CHANGESET [TARGET]
189              apply a whole-tree changeset
190
191
192       baz show-changeset [options] [dir]
193              generate a report from a changeset
194
195
196   Archive Transaction Commands
197       baz make-archive [options] [name] location
198              create a new archive directory
199
200
201       baz import [options] [[archive]/version]
202              archive a full-source base-0 revision
203
204
205       baz export [options] [revision] [dir]
206              export all or some of a tree revision
207
208
209       baz commit [options] [file ...]
210              archive a changeset-based revision
211
212
213       baz get [options] revision [dir]
214              construct a project tree for a revision
215
216
217       baz get-changeset [options] revision [dir]
218              retrieve a changeset from an archive
219
220
221       baz lock-revision [options] VERSION|REVISION
222              lock (or unlock) an archive revision
223
224
225       baz archive-mirror [options] [from [to] [limit]]
226              update an archive mirror
227
228
229   Archive Commands
230       baz abrowse [options] [limit]
231              print an outline describing archive contents
232
233
234       baz rbrowse [options] [[ARCHIVE_NAME/]LIMIT_REGEX]
235              print an outline describing an archive´s contents
236
237
238       baz categories [options] [archive]
239              list the categories in an archive
240
241
242       baz branches [options] [[archive/]category]
243              list the branches in an archive category
244
245
246       baz versions [options] [branch]
247              list the versions in an archive branch
248
249
250       baz revisions [options] [[archive/]version]
251              list the revisions in an archive version
252
253
254       baz ancestry [options] [revision]
255              display the ancestory of a revision
256
257
258       baz ancestry-graph [options] [revision]
259              display the ancestory of a revision
260
261
262       baz change-archive [options] archivename|URL
263              Alter  properties of an archive. For instance, add signatures to
264              an unsigned archive.
265
266
267       baz cat-archive-log [options] revision
268              print the contents of an archived log entry
269
270
271       baz cacherev [options] [ARCHIVE/[PACKAGE[--VERSION[--PATCHLEVEL]]]]  or
272       [PATCHLEVEL]
273              cache a full source tree in an archive
274
275
276       baz cachedrevs [options] [version]
277              list cached revisions in an archive
278
279
280       baz uncacherev [options] revision [dir]
281              remove a cached full source tree from an archive
282
283
284       baz archive-meta-info [options] [archive/]item-name
285              report meta-info from an archive
286
287
288       baz archive-snapshot [options] dir [[archive/]limit]
289              update an archive snapshot
290
291
292       baz archive-version [options] [archive]
293              list the archive-version in an archive
294
295
296       baz archive-fixup [options] [archive]
297              fix ancillary files (e.g. .listing files) in an archive
298
299
300   Patch Log Commands
301       baz make-log [options] [version]
302              initialize a new log file entry
303
304
305       baz log-versions [options]
306              list patch log versions in a project tree
307
308
309       baz add-log-version [options] [archive]/version
310              add a patch log version to a project tree
311
312
313       baz remove-log-version [options] [archive]/version
314              remove a version´s patch log from a project tree
315
316
317       baz log [-f|--full] [-r start[:end]]
318              Show the log messages for the working directory or given
319
320
321       baz logs [options] [[archive]/version ...]
322              list patch logs for a version in a project tree
323
324
325       baz cat-log [options] revision-spec
326              print the contents of a project tree log entry
327
328
329       baz changelog [options] [[archive]/version]
330              generate a ChangeLog from a patch log
331
332
333       baz log-for-merge [options] [[archive]/version]
334              generate a log entry body for a merge
335
336
337       baz merges [options] INTO [FROM]
338              report where two branches have been merged
339
340
341       baz new-merges [options] [[archive]/version]
342              list tree patches new to a version
343
344
345   Multi-project Configuration Commands
346       baz build-config [options] config
347              instantiate a multi-project config
348
349
350       baz cat-config [options] config
351              output information about a multi-project config
352
353
354   Commands for Branching and Merging
355       baz branch [options] [SOURCE] BRANCH
356              create a branch
357
358
359       baz merge [options] [FROM]
360              merge from another branch
361
362
363       baz update [options] [version/revision]
364              update a project tree to reflect recent archived changes
365
366
367       baz replay [options] [version/revision...]
368              apply revision changesets to a project tree
369
370
371       baz apply-delta [options] FROM(REVISION|DIR) TO(REVISION|DIR)
372              compute a changeset between any two trees or revisions and apply
373              it to a project tree
374
375
376       baz missing [options] [version]
377              print patches missing from a project tree
378
379
380       baz join-branch [options] version
381              add a version as an ancestor of a project tree
382
383
384       baz sync-tree [options] revision
385              unify a project tree´s patch-log with a given revision
386
387
388       baz delta [options] (REVISION|TREE)-A (REVISION|TREE)-B [DESTDIR]
389              compute a changeset (or diff) between any two trees or revisions
390
391
392   Local Cache Commands
393       baz file-find [options] file [revision]
394              find given version of file
395
396
397       baz pristines [options] [limit]
398              list pristine trees in a project tree
399
400
401       baz add-pristine [options] revision
402              ensure that a project tree has a particular pristine revision
403
404
405       baz find-pristine [options] revision
406              find and print the path to a pristine revision
407
408
409   Revision Library Commands
410       baz my-revision-library [options] [dir]
411              print or change your revision library path
412
413
414       baz library-config [options] library-dir
415              configure parameters of a revision library
416
417
418       baz library-find [options] revision
419              find and print the  location  of  a  revision  in  the  revision
420              library
421
422
423       baz library-add [options] revision
424              add a revision to the revision library
425
426
427       baz library-remove [options] revision
428              remove a revision from the revision library
429
430
431       baz library-archives [options]
432              list the archives in your revision library
433
434
435       baz library-categories [options] [archive]
436              list the categories in your revision library
437
438
439       baz library-branches [options] [category]
440              list the branches in a library category
441
442
443       baz library-versions [options] [branch]
444              list the versions in a library branch
445
446
447       baz library-revisions [options] [version]
448              list the revisions in a library version
449
450
451       baz library-log [options] revision
452              output a log message from the revision library
453
454
455       baz library-file [options] file revision
456              find a file in a revision library
457
458
459   Cache Commands
460       baz cache-config [options] [dir]
461              Print or change your cache settings
462
463
464   Published Revisions Commands
465       baz grab [options] location
466              grab a published revision
467
468
469   Miscellaneous Scripting Support
470       baz parse-package-name [options] name
471              parse a package name
472
473
474       baz valid-package-name [options] name
475              test a package name for validity
476
477
478       baz escape [--unescaped] string
479              print strings in escaped or unescaped form
480
481

HELP

483   baz help
484       provide help with arch
485
486       Usage: baz help [options]
487
488         -h, --help     Display a help message and exit.
489         -H             Display a verbose help message and exit.
490         --aliases      Display command aliases
491         -V, --version  Display a release identifier string
492                        and exit.
493
494
495
496       This command prints a list of the available commands.
497
498
499       To see just a list of the options to a particular command, use:
500
501           baz $cmd -h
502
503
504       (where  $cmd  is the name of the command).   For additional explanation
505       about a given command, use:
506
507           baz $cmd -H
508
509
510

USER COMMANDS

512   baz my-id
513       print or change your id
514
515       Usage: baz my-id [options] [id]
516
517         -e, --errname  specify program name for errors
518         -u, --uid      print only the UID portion of the ID
519
520
521       With no argument print your arch id.
522
523
524       With an argument, record ID-STRING as your id in ~/.arch-params/=id
525
526
527       Your id is recorded in various archives and log  messages  as  you  use
528       arch.   It must consist entirely of printable characters and fit on one
529       line.  By convention, it should have the form of an email  address,  as
530       in this example:
531
532               Jane Hacker <jane.hacker@gnu.org>
533
534
535       The  portion  of an id string between < and > is called your uid.  arch
536       sometimes uses your uid as  a  fragment  when  generating  unique  file
537       names.
538
539
540       The  option -u (--uid) causes only the uid part of your id string to be
541       printed.
542
543
544   baz my-default-archive
545       print or change your default archive
546
547       Usage: baz my-default-archive [options] [archive]
548
549         -A, --archive  Override `my-default-archive´
550         -e, --errname  specify program name for errors
551         -d, --delete   unspecify your default archive
552         -s, --silent   suppress reassuring messages
553
554
555       With no argument, and without -d, print the name of  your  default  ar‐
556       chive.
557
558
559       With   an   argument,   record  ARCHIVE  as  your  default  archive  in
560       ~/.arch-params/=default-archive
561
562
563       With the option -d (--delete) and no argument, ensure that you  do  not
564       have a default archive set in ~/.arch-params.
565
566
567       Your default archive is determined this way:
568
569
570       If  the  option  -A (--archive) is given and not empty, that archive is
571       the default (which makes this script useful for processing a  -A  argu‐
572       ment that was passed to another script).
573
574
575       If  -A  is not given, but ~/.arch-params/=default-archive exists and is
576       not empty, that is your default archive.
577
578
579       Otherwise, your default archive is the name of the local archive rooted
580       at the argument to -R (--root) or specified in the environment variable
581       ARCHROOT.
582
583
584       If no default archive can be found by any of these means,  the  program
585       exits with status 1, printing an error message unless the -s (--silent)
586       option is given.
587
588
589   baz register-archive
590       change an archive location registration
591
592       Usage: baz register-archive [options] [-d name] location
593
594         -f, --force       overwrite existing location
595         --present-ok      return 0 even if archive exists
596         -d, --delete      delete archive registration
597
598
599       Record the location of ARCHIVE.
600
601
602       With -d, remove the registration of a  previously  registered  archive.
603       When  accompanied  by -f, override permissions on the registration file
604       and don´t complain if the archive is not registered. If you are  delet‐
605       ing a location that is inaccesible, you may provide the name of the ar‐
606       chive that the location belongs to This may not be provided when regis‐
607       tering an archive: inaccessible archives may not be registered.
608
609
610       A LOCATION should be either a directory name or a distant URL.
611
612
613       When  registering  a  new archive, then the archive´s name will be read
614       automatically from the archive´s meta data.
615
616
617       Archive locations are stored in ~/.arch-params/archives/ARCHIVENAME.
618
619
620       Registering archives is optional. If you use a url to  a  command,  the
621       archive will be automatically registered.
622
623
624   baz whereis-archive
625       print an archive location registration
626
627       Usage: baz whereis-archive [options] archive
628
629         --all-locations      Show all known locations for this archive name
630
631
632       Print the registered location of an archive.
633
634
635       Usually the archive must have been previously registered with "baz reg‐
636       ister-archive".
637
638
639       As a special exception, the the archive is not registered, but  is  the
640       name  of  the  archive  rooted at the location given with the option -R
641       (--root) or in the environment variable ARCHROOT then print  that  root
642       directory.
643
644
645   baz archives
646       report registered archives and their locations
647
648       Usage: baz archives [options] [search regular expression]
649
650         -n, --names           print archive names only
651         -R, --exclude-remote  Exclude MIRROR and SOURCE archives.
652         --all-locations       Show all known locations for archives
653
654
655       Print a list of registered archives and their locations
656
657
658       If  [search  regex]  is  given then only archives with names that match
659       [search regex] will be shown
660
661
662   baz upgrade
663       perform an upgrade of local baz settings and data.
664
665       Usage: baz upgrade [options]
666
667         --leave-old-config      Leave the  old  config  in  place.  this  may
668       interfere with normal operation and is not recommended.
669         --move-old-config            Move      the     config     data     to
670       ~/.arch-params/upgraded-by-baz-1.3 after it is upgraded
671
672
673       By default, nothing is done. You must supply --move-old-config  (recom‐
674       mended) or --leave-old-config
675
676
677       For    baz    1.3    this:   Scans   all   the   archives   listed   in
678       ~/.arch-params/=locations and writes consolidated configuration details
679       to ~/.arch-params/archives. After upgrading, the previous configuration
680       details are saved in ~/.arch-params/upgraded-by-baz-1.3/
681
682
683       If an archive cannot be connected to,  its  configuration  details  are
684       left untouched
685
686

PROJECT TREE COMMANDS

688   baz annotate
689       display the changesets that last modified lines in the tree
690
691       Usage: baz annotate [options] [path ...]
692
693         -d, --dir DIR  cd to DIR first
694
695
696
697   baz diff
698       report about local changes in a project tree
699
700       Usage: baz diff [options] [revision] [-- limit...]
701
702         -d, --dir DIR          Change to DIR first.
703         -o, --output DIR       Save changeset in DIR.
704         -v, --verbose          Verbose changeset report.
705         -q, --quiet            Suppress progress information
706         -s, --summary          Do not include diffs in the output.
707         -p, --show-c-function  Show which C function each change is in.
708         --link                 hardlink unchanged files to revision library
709         --unescaped            show filenames in unescaped form
710
711
712       Generate  a patch report describing the differences between the current
713       project tree (or DIR if it is supplied) and the project  trees  current
714       revision (or REVISION if supplied).
715
716
717
718   baz init-tree
719       initialize a new project tree
720
721       Usage: baz init-tree [options] [[archive]/version]
722
723         -A, --archive  Override `my-default-archive´
724         -d, --dir DIR  cd to DIR first
725         --nested       initialize a nested project tree.
726
727
728       Initialize DIR as a new project tree.
729
730
731       An  empty  patch-log  for  VERSION will be created, and VERSION will be
732       made the default location for check-ins.
733
734
735   baz tree-id
736       Print the tree identifier for a project tree->
737
738       Usage: baz tree-id [options] [dir]
739
740
741
742       Print the patchset identifier that represents the current  tree->  I.e.
743       foo@example.com/demo--1.0--patch-4.  Defaults  to  the tree the current
744       directory is in.
745
746
747   baz tree-root
748       find and print the root of a project tree
749
750       Usage: baz tree-root [options] [dir]
751
752         --accurate      error for mid-txn trees
753         -s, --silent    exit status only
754
755
756       Find and print the root of the project tree that contains DIR  (or  the
757       current  directory).  The option --accurate checks for three possibili‐
758       ties:
759
760           1) The project tree was the subject of a commit that
761              was killed before the log entry was added to the
762              tree´s patch log.  It is unknown whether or not
763              the commit took place in the archive.  The {arch}
764              directory contains the log file as "++mid-commit".
765
766           2) The project tree was the subject of a killed commit, but
767              it is certain the commit took place.  The log file
768              is stored as "++commit-definite".
769
770           3) The project tree patch log is fully up-to-date (as far as
771              arch knows).
772
773
774       In case 1, exit with an error and error message.
775
776
777       In case 2, install the log file before printing the tree root and exit‐
778       ing normally.
779
780
781       In case 3, print the tree root and exit normally.
782
783
784   baz tree-version
785       Print the default version for a project tree
786
787       Usage: baz tree-version [options] [NEW VERSION]
788
789         -d, --dir DIR  cd to DIR first
790
791
792       Print  the  default  version of project tree DIR (or the current direc‐
793       tory).
794
795
796       (Advanced Usage) If [NEW VERSION] is given, then  the  version  of  the
797       working tree is changed to the supplied one
798
799
800   baz set-tree-version
801       This command has been removed; you can use ´baz tree-version <version>´
802       instead.
803
804       Usage: baz set-tree-version [options] [...]
805
806   baz undo
807       undo and save changes in a project tree
808
809       Usage: baz undo [options] [revision] [-- file ...]
810
811         -A, --archive           Override `my-default-archive´
812         -d, --dir DIR           cd to DIR first
813         -o, --output PATCH-DIR  save changeset in PATCH-DIR
814         -n, --no-output         do not save the changeset
815         -q, --quiet             no progress reports while computing changeset
816         --unescaped             show filenames in unescaped form
817
818
819       Compute a patch set describing the changes from REVISION to the project
820       tree  containing  DIR.   Save  the  patch  in PATCH-DIR (which must not
821       already exist) and apply the patch in reverse to the project tree  con‐
822       taining DIR.
823
824
825       The  effect is to remove local changes in the DIR project tree but save
826       them in a convenient form.
827
828
829       If REVISION is not specified, the latest ancestor of the  default  ver‐
830       sion of project tree is used.
831
832
833       If  REVISION  is  specified  as  a  VERSION, the latest ancestor of the
834       project tree in that VERSION is used.
835
836
837       If DIR is not specified, "." is assumed.
838
839
840       If PATCH-DIR is not specified, a temporary file-name  of  the  matching
841       ,,undo-* is used.
842
843
844       If --no-output is specified, the patch set is not saved.
845
846
847       See also "baz redo -H" and "baz diff -H".
848
849
850   baz redo
851       redo changes in project tree
852
853       Usage: baz redo [options] [changeset]
854
855         -k, --keep       do not delete the patch
856         -q, --quiet      no progress reports while computing changeset
857         -d, --dir DIR    Operate on project tree in DIR (default `.´)
858         --unescaped      show filenames in unescaped form
859
860
861       Apply CHANGESET to the project tree and then delete CHANGESET.
862
863
864       If  CHANGESET is not specified, the highest numbered ,,undo-N directory
865       in the project tree root is used.
866
867
868       If --keep is given, the changeset directory is not deleted.
869
870
871       See also "baz undo --help" and "baz apply-changeset --help".
872
873
874   baz file-diff
875       show local changes to a file
876
877       Usage: baz file-diff [options] file [revision]
878
879         -A, --archive   Override `my-default-archive´
880         -N, --new-file  Treat missing file as empty
881
882
883       Print diffs between FILE and the corresponding file in a cached copy of
884       REVISION.
885
886
887       The  default  patch  level  for a given version is the latest level for
888       which the project tree has a patch.  The default archive and version is
889       as printed by "baz tree-version".
890
891
892   baz switch
893       change the working trees version to that of package
894
895       Usage: baz switch [options] [package]
896
897         -d, --dir DIR  Change to DIR first.
898         -q, --quiet    Suppress progress information
899
900
901       change  the  working trees version to that of package, and make equiva‐
902       lent to revision. Preserves uncommitted changes.
903
904
905       Note: baz automatically switches to the _latest_ revision in  the  sup‐
906       plied version.
907
908

PROJECT TREE INVENTORY COMMANDS

910   baz inventory
911       inventory a source tree
912
913       Usage: baz inventory [options] [dir]*
914
915
916         -s, --source        list source files
917         -p, --precious      list precious files
918         -b, --backups       list backup files
919         -j, --junk          list junk files
920         -u, --unrecognized  list unrecognized files
921         -t, --trees         list roots of nested trees
922
923         -d, --directories   list only directories
924         -f, --files         list only non-directories
925         -B, --both          list both dirs and files
926         --kind              indicate file kinds
927
928         --all               include arch control files
929         --nested            include nested trees
930         --no-recursion      do not list content of directory
931
932         --ids               list with ids (source files only)
933         --untagged          include files that are missing ids
934
935         --explicit          use explicit file ids
936         --implicit          permit implicit file ids
937         --tagline           permit tagline file ids
938         --names             use name-based file ids
939         --unescaped         show filenames in unescaped form
940
941
942       With no arguments, print a human-readable inventory report.
943
944
945       With  category  options  (--source  etc) limit the report to just those
946       files.  With no other options, the report  includes  all  sections  and
947       files.
948
949
950       The options -d, -f, and -b cancel each other.
951
952
953       The options --nested and --no-recursion cancel each other.
954
955
956       If  a  directory is precious, junk, or unrecognized, only the directory
957       name itself is printed -- its contents are not searched.
958
959
960   baz status
961       scan a project tree and show the tree status.
962
963       Usage: baz status [options] [dir]
964
965         -V, --version             Display a  release  identifier  string  and
966       exit
967         -s, --broken-symlinks     Just list broken symlinks
968         -u,  --unrecognized-files   Just  list files violating naming conven‐
969       tions
970         -t, --untagged-files      Just list files lacking inventory ids
971         -m, --missing-files       Just list inventory ids lacking correspond‐
972       ing files
973         -d, --duplicate-ids       Just list duplicated ids
974         -c, --conflicted          Just list conflicted files
975         --lint                    Only lint the project tree
976         --diffs                   deprecated. use baz diff instead
977         --strict                  exit with non-0 status on _any_ oddity
978         --unescaped               show filenames in unescaped form
979
980
981
982       Audit  a  source  tree for various changes, the characters in the first
983       column mean: C - conflicts R - renames A - adds D - deletes P - permis‐
984       sions  ?  - unexpected files By default, changes will report the status
985       for everything within a tree. Specific changes may be ignored by  pass‐
986       ing options to the changes command
987
988
989       Note:  If  conflicts have occurred, when you have resolved them, notify
990       baz by run baz resolved --all
991
992
993   baz lint
994       audit a source tree
995
996       Usage: baz lint [options] [dir]
997
998         -s, --broken-symlinks     Just list broken symlinks
999         -u, --unrecognized-files  Just list files  violating  naming  conven‐
1000       tions
1001         -t, --untagged-files      Just list files lacking inventory ids
1002         -m, --missing-files       Just list inventory ids lacking correspond‐
1003       ing files
1004         -d, --duplicate-ids       Just list duplicated ids
1005         --strict                  exit with non-0 status on _any_ oddity
1006         --unescaped               show filenames in unescaped form
1007
1008
1009       Audit a source tree for missing files, untagged files,  duplicate  ids,
1010       and files not matching recognized naming conventions.
1011
1012
1013       The  default is to list files failing any of those tests.  Enabling any
1014       of the `specific´ tests disables the rest,  unless  they´re  explicitly
1015       enabled  on  the command line. Therefore, "lint" is equivalent to "lint
1016       -sutmd"
1017
1018   baz resolved
1019       Tell bazaar one or more tree problems have been resolved
1020
1021       Usage: baz resolved [options] FILE [FILE ...]
1022
1023         -d, --dir DIR  Change to DIR first.
1024         --all          Mark all problems as resolved
1025         --rejects      Mark rejects as resolved
1026         -q, --quiet    Suppress progress information
1027
1028
1029
1030       This command is used to tell bazaar that one or more tree problems  has
1031       been  solved.  In  this  version  of  bazaar,  --all  is  equivalent to
1032       --rejects
1033
1034   baz id
1035       report the inventory id for a file
1036
1037       Usage: baz id [options] file ...
1038
1039         --implicit       Use the implicit id tagging method.
1040         --tagline        Use the tagline id tagging method (default).
1041         --explicit       Use the explicit id tagging method.
1042         --names          Use the names id tagging method.
1043         --silent         No output -- exit status only.
1044         --unescaped      show filenames in unescaped form
1045
1046
1047       Print a file´s inventory id.
1048
1049
1050   baz id-tagging-method
1051       print or change a project tree id tagging method
1052
1053       Usage: baz id-tagging-method [options] [method]
1054
1055         -d, --dir DIR  cd to DIR first
1056         --strict       exit with error if method not set
1057
1058
1059       Print or change the method by which source files are identified in  DIR
1060       (or the current directory).
1061
1062
1063       When setting, METHOD must be one of:
1064
1065               names           -- use naming conventions only
1066               implicit        -- use naming conventions but permit
1067                                  for inventory tags
1068               explicit        -- require explicit designation of source
1069               tagline         -- mix names, explicit and arch-tag: methods
1070
1071
1072       When  printing,  if  --strict  is  provided but no id tagging method is
1073       explicitly set, print an error.
1074
1075
1076   baz add-id
1077       add an explicit inventory id
1078
1079       Usage: baz add-id [options] file ...
1080
1081         --escaped      Provided file names may be escaped.
1082         -i, --id ID    Specify ID, instead of using auto-generated id.
1083
1084
1085       Create an explicit inventory id for FILE (which may be a regular  file,
1086       symbolic link, or directory).
1087
1088
1089   baz delete-id
1090       remove an explicit inventory id
1091
1092       Usage: baz delete-id [options] file ...
1093
1094
1095
1096       Remove  an explicit inventory id for FILE (which may be a regular file,
1097       symbolic link, or directory).
1098
1099
1100   baz rm
1101       remove a file (or dir, or symlink) and its explicit inventory  tag  (if
1102       any)
1103
1104       Usage: baz rm [options] file...
1105
1106
1107
1108
1109   baz move-id
1110       move an explicit inventory id
1111
1112       Usage: baz move-id [options] from to
1113
1114
1115
1116       Move  an explicit inventory id for FILE (which may be a regular file or
1117       symbolic link but which must not be a directory).
1118
1119
1120   baz mv
1121       move a file (or dir, or symlink) and its  explicit  inventory  tag  (if
1122       any)
1123
1124       Usage: baz mv [options] from to   OR   from1 from2 ... dir
1125
1126
1127
1128       This command is suitable as a replacement for mv(1) within any baz tree
1129       for any move operation, regardless of id tagging method.
1130
1131
1132   baz explicit-default
1133       print or modify default ids
1134
1135       Usage: baz explicit-default [options] [TAG-PREFIX]
1136
1137         -D, --dir DIR    cd to DIR first
1138         -d, --delete     remove the default
1139         -s, --strong     use the strong default (default)
1140         -w, --weak       use the weak default
1141         --dont-care      use the dont-care default
1142
1143
1144       For files in this directory, use:
1145
1146            ID-PREFIX__BASENAME
1147
1148
1149       as the default explicit id for all files in this directory that do  not
1150       have an explicit explicit id.
1151
1152
1153       With no arguments, print the previously set ID-PREFIX.
1154
1155
1156       By  default, this command sets, prints or deletes a "strong default" --
1157       a default explicit id which overrides implicit ids.
1158
1159
1160       With --weak, set (or print) a weak default id which  is  overridden  by
1161       explicit ids.
1162
1163
1164       The --dont-care option sets (or with -d, clears) a flag for that direc‐
1165       tory that causes unidged files not to be reported as such in "baz lint"
1166       reports.
1167
1168
1169   baz id-tagging-defaults
1170       print the default =tagging-method contents
1171
1172       Usage: baz id-tagging-defaults [options]
1173
1174
1175
1176       Print  the  boilerplate  contents that are used to initialize new =tag‐
1177       ging-method files.
1178
1179
1180   baz inode-sig
1181       output the inode signature for a source tree.
1182
1183       Usage: baz inode-sig [options] [dir]
1184
1185
1186
1187
1188

PATCH SET COMMANDS

1190   baz changeset
1191       compute a whole-tree changeset
1192
1193       Usage: baz changeset [options] ORIG MOD DEST [files]
1194
1195         --file-list FILES      record only diffs of selected files
1196         --unescaped            show filenames in unescaped form
1197
1198
1199       Compares the source trees ORIG and MOD, and produces a  changeset  tree
1200       in DEST, which must not already exist.
1201
1202
1203       See also "baz apply-changeset -H".
1204
1205
1206   baz apply-changeset
1207       apply a whole-tree changeset
1208
1209       Usage: baz apply-changeset [options] CHANGESET [TARGET]
1210
1211         -N, --forward    pass the --forward option to `patch´
1212         -r, --reverse    Apply the changeset in reverse
1213         --unescaped      show filenames in unescaped form
1214
1215
1216       Apply the changeset CHANGESET to the source tree TARGET (default `.´).
1217
1218
1219       See also "baz changeset -H".
1220
1221
1222   baz show-changeset
1223       generate a report from a changeset
1224
1225       Usage: baz show-changeset [options] [dir]
1226
1227         --diffs          include diff output
1228         --unescaped      show filenames in unescaped form
1229
1230
1231       Produce a human-readable summary of a changeset.
1232
1233

ARCHIVE TRANSACTION COMMANDS

1235   baz make-archive
1236       create a new archive directory
1237
1238       Usage: baz make-archive [options] [name] location
1239
1240         -m, --mirror MASTER              create mirror of specified archive
1241         -M,  --mirror-from  MASTER-SOURCE  create pull-based mirror of speci‐
1242       fied archive
1243         -l, --listing                    Keep .listing  files  up-to-date  in
1244       this archive.
1245         -t, --tla                        Create a tla format archive.
1246         -s,  --signed                      GPG  sign the contents of this ar‐
1247       chive.
1248
1249
1250       NAME is the global name for the archive.  It must be an  email  address
1251       with  a  fully qualified domain name, optionally followed by "--" and a
1252       string of letters, digits, periods and dashes.
1253
1254
1255       With --mirror, label the new archive as a mirror  of  MASTER.  Ordinary
1256       commits  can  not be made to a mirror archive, however the command "baz
1257       archive-mirror" can write to a mirror.
1258
1259
1260       Two special forms of this command are available:
1261
1262          baz make-archive --mirror MASTER LOCATION
1263
1264
1265       is equivalent to:
1266
1267          baz make-archive --mirror MASTER MASTER-MIRROR LOCATION
1268
1269
1270       and thus "baz archive-mirror MASTER" will push changes from  MASTER  to
1271       the newly created mirror.
1272
1273          baz make-archive --mirror-from MASTER-SOURCE LOCATION
1274
1275
1276       is equivalent to:
1277
1278          baz make-archive --mirror MASTER-SOURCE MASTER LOCATION
1279
1280
1281       and  thus  "baz  archive-mirror  MASTER"  will  pull  changes from MAS‐
1282       TER-SOURCE to the newly created mirror.
1283
1284
1285       The first of these two special forms is especially handy when  creating
1286       a remote mirror in which to publish a local repository.
1287
1288
1289       The  second  special  form  is  handy when creating a local mirror of a
1290       remote archive, locally bound to the remote archive´s name.
1291
1292
1293       The --tla option creates a tla format archive, the default is  to  cre‐
1294       ate a Bazaar archive.
1295
1296
1297
1298   baz import
1299       archive a full-source base-0 revision
1300
1301       Usage: baz import [options] [[archive]/version]
1302
1303         -d, --dir DIR           Import the directory DIR.
1304         -l, --log FILE          Commit with log file FILE.
1305         -s, --summary TEXT      log with summary TEXT plus log-for-merge out‐
1306       put
1307         -a, --automatic         Initialise dir as a  working  tree,  add  all
1308       source-looking  files  in  dir and import. This operation requires VER‐
1309       SION.
1310         -L, --log-message TEXT  log with TEXT
1311
1312
1313       Archive a from-scratch base revision of the tree DIR  (or  the  current
1314       directory).   Use  this  command  to create the first revision of a new
1315       project.
1316
1317
1318       If --log-message is specified without --summary, then TEXT is used both
1319       as the summary and the first line of the log body.
1320
1321
1322   baz export
1323       export all or some of a tree revision
1324
1325       Usage: baz export [options] [revision] [dir]
1326
1327         -s, --silent   no output
1328
1329
1330       Extract  REVISION  from  an archive, creating a new source tree with no
1331       control information.
1332
1333
1334
1335   baz commit
1336       archive a changeset-based revision
1337
1338       Usage: baz commit [options] [file ...]
1339
1340         -d, --dir DIR           cd to DIR first
1341         -l, --log FILE          commit with log file FILE
1342         -s, --summary TEXT      log with summary TEXT plus log-for-merge out‐
1343       put
1344         -L, --log-message TEXT  log with TEXT plus log-for-merge output
1345         --strict                strict tree-lint
1346         --seal                  create a version-0 revision
1347         --fix                   create a versionfix revision
1348         --out-of-date-ok        commit even if out of date
1349         --just-commit            only  commit  a simple changeset, do not add
1350       other files (such as ancestry,cached revisions.
1351         --file-list FILE        commit only changes to files listed in FILE
1352         --unescaped             show filenames in unescaped form
1353         -b, --branch            commit to a different branch
1354
1355
1356       Archive a revision of the project tree containing DIR (or  the  current
1357       directory)
1358
1359
1360       If  there are any automated ChangeLog files, update them before comput‐
1361       ing the patch set.
1362
1363
1364       If --log-message is specified without --summary, then TEXT is used both
1365       as the summary and the first line of the log body.
1366
1367
1368   baz get
1369       construct a project tree for a revision
1370
1371       Usage: baz get [options] revision [dir]
1372
1373         -A, --archive        Override `my-default-archive´
1374         --no-pristine        don´t save a pristine copy
1375         --link                hardlink  files  to revision library instead of
1376       copying
1377         --library            ensure the revision is in a revision library
1378         --sparse             add library entries sparsely (--link, --library)
1379         --non-sparse         add library entries densely (--link, --library)
1380         -s, --silent         no output
1381         --no-greedy-add      do not allow greedy libraries to add revisions
1382         --unescaped          show filenames in unescaped form
1383
1384
1385       Extract REVISION from an archive, creating the new  project  tree  DIR.
1386       If  DIR  is  not specified, store the working copy in a subdirectory of
1387       the current directory, giving it the name  of  the  revision.  CAUTION:
1388       when using the links option be sure to use copy-on-write on your editor
1389       or the revision library will be corrupted. Either way, the project tree
1390       must not already exist.
1391
1392
1393   baz get-changeset
1394       retrieve a changeset from an archive
1395
1396       Usage: baz get-changeset [options] revision [dir]
1397
1398         -A, --archive  Override `my-default-archive´
1399
1400
1401       Retrieve  the  changeset for REVISION and store it in the directory DIR
1402       (or a directory named REVISION.patches).  DIR must not already exist.
1403
1404
1405   baz lock-revision
1406       lock (or unlock) an archive revision
1407
1408       Usage: baz lock-revision [options] VERSION|REVISION
1409
1410         -A, --archive  Override `my-default-archive´
1411         -u, --unlock   release a lock owned by you
1412         -b, --break    break any existing lock
1413
1414
1415       Acquire the lock needed to create REVISION.
1416
1417
1418       Revision must be the next patch-level in sequence, however, if no patch
1419       level is specified, the revision is automatically calculated
1420
1421
1422   baz archive-mirror
1423       update an archive mirror
1424
1425       Usage: baz archive-mirror [options] [from [to] [limit]]
1426
1427         --no-cached        don´t copy cached revisions
1428         -s, --summary      print the summary of each patch
1429         --cached-tags      copy only cachedrevs for tags to other archives
1430         -a, --all-mirrors  mirror to all known mirrors
1431
1432
1433       If  no  arguments  are given, update either the archive for the project
1434       tree you are in, or your `my-default-archive´-MIRROR archive  with  the
1435       contents of `my-default-archive´.
1436
1437
1438       If a [FROM] archive is given, update the [FROM]-MIRROR archive with the
1439       contents of the [FROM] archive
1440
1441
1442       If both [FROM] and [TO] archives are specified, update  [TO]  with  the
1443       contents of [FROM]
1444
1445
1446       If  LIMIT  is  provided,  it  should be a category, branch, version, or
1447       revision name.   Only the indicated part of FROM will be copied to  TO.
1448       If  LIMIT  is  a  revision,  then  cached  revisions will be copied and
1449       deleted to TO.
1450
1451
1452       (see "baz make-archive -H".).
1453
1454

ARCHIVE COMMANDS

1456   baz abrowse
1457       print an outline describing archive contents
1458
1459       Usage: baz abrowse [options] [limit]
1460
1461         -r, --reverse          sort revisions from newest to oldest
1462         -s, --summary          print a summary of each patch
1463         -c, --creator          print the creator of each patch
1464         -D, --date             print the date of each patch
1465         -k, --kind             show each revision kind (import, changeset  or
1466       id)
1467         -C, --cacherevs        show cached revisions
1468         -f, --full             print full patch level names
1469         --desc                 implies -s -c -D -k -C
1470         --local-merges         list merges from the same archive
1471         --foreign-merges       list merges from other archives
1472         --merges               list all merges
1473         --categories           show category names only
1474         --branches             show branch names only
1475         --versions             show version names only
1476         --omit-empty           omit empty or unchanged-since items
1477         --since SNAP-FILE      show revisions after those listed in SNAP-FILE
1478         --since-limits         limit output to items in the since file
1479         --snap SNAP-FILE       record the highest revisions shown
1480         --force                overwrite an existing snap-file
1481
1482
1483       Describe the contents of an archive in outline format.
1484
1485
1486       With LIMIT, look only that part of the archive.
1487
1488
1489       LIMIT may be a fully qualified name and may be an archive name.
1490
1491
1492   baz rbrowse
1493       print an outline describing an archive´s contents
1494
1495       Usage: baz rbrowse [options] [[ARCHIVE_NAME/]LIMIT_REGEX]
1496
1497         --all                    Search all archives
1498         --since SNAP-FILE        Only show differences since SNAP-FILE
1499         --snap SNAP-FILE         Snap an archive
1500         -f, --snap-force         Force snap writing
1501         -r                       Reverse patch logs
1502         -s                       Print the summary of matching patches
1503         -c                       Print the creator of matching patches
1504         -D                       Print the date of matching patches
1505         --patch-regex REGEX      Only show revisions that contain [REGEX]
1506                                  (implies -s)
1507         --show-sealed            Do not hide sealed branches
1508
1509
1510
1511       an  outline  of  an  archive  will  be printed, showing the categories,
1512       branches and revisions of the specified archive if no archive is  given
1513       then `my-default-archive` is used.
1514
1515
1516       If [LIMIT REGEX] is specified, revisions will only be shown if the cat‐
1517       egory, branch  or  version  matches  [LIMIT  REGEX].  If  --patch-regex
1518       [REGEX] is given, then only patchlogs matching [REGEX] will be given
1519
1520   baz categories
1521       list the categories in an archive
1522
1523       Usage: baz categories [options] [archive]
1524
1525
1526
1527       Print a list of the categories present in an archive.
1528
1529
1530   baz branches
1531       list the branches in an archive category
1532
1533       Usage: baz branches [options] [[archive/]category]
1534
1535
1536
1537       Print a list of the branches within CATEGORY
1538
1539
1540   baz versions
1541       list the versions in an archive branch
1542
1543       Usage: baz versions [options] [branch]
1544
1545         -A, --archive  Override `my-default-archive´
1546         -r, --reverse  sort from newest to oldest
1547
1548
1549       Print a list of versions within an archive branch.
1550
1551
1552       The  list is ordinarily sorted from oldest to newest, but the order can
1553       be changed with -r (--reverse).
1554
1555
1556   baz revisions
1557       list the revisions in an archive version
1558
1559       Usage: baz revisions [options] [[archive/]version]
1560
1561         -r, --reverse  sort from newest to oldest
1562         -f, --full     list fully qualified names
1563         -s, --summary  print a summary of each patch
1564         -c, --creator  print the creator of each patch
1565         -D, --date     print the date of each patch
1566
1567
1568       Print a list of revisions within an archive version.
1569
1570
1571       The list is ordinarily sorted from oldest to newest, but the order  can
1572       be changed with -r (--reverse).
1573
1574
1575       With optional arguments specifying patches, list only those patches, if
1576       they exist.  If a listed patch does not exist, exit with status 1.  The
1577       -r (--reverse) flag has no effect with optional arguments.
1578
1579
1580   baz ancestry
1581       display the ancestory of a revision
1582
1583       Usage: baz ancestry [options] [revision]
1584
1585         -d, --dir DIR  cd to DIR first
1586         -m, --merges   show merges into this development line
1587         -r, --reverse  list oldest to newest
1588         -s, --summary  print a summary of each patch
1589         -c, --creator  print the creator of each patch
1590         -t, --tree     generate or print the tree ancestry file
1591         -D, --date     print the date of each patch
1592
1593
1594       Print the ancestry of a revision.
1595
1596
1597   baz ancestry-graph
1598       display the ancestory of a revision
1599
1600       Usage: baz ancestry-graph [options] [revision]
1601
1602         -d, --dir DIR    cd to DIR first
1603         -m, --merges     show merges into this development line
1604         -r, --reverse    list oldest to newest
1605         -i, --immediate  show only the immediate ancestor
1606         -p, --previous   show the (namespace) previous revision
1607
1608
1609       Print a list describing the ancestry of a revision.
1610
1611
1612   baz change-archive
1613       Alter  properties  of  an  archive.  For instance, add signatures to an
1614       unsigned archive.
1615
1616       Usage: baz change-archive [options] archivename|URL
1617
1618         --add-signatures         turn this archve into a signed archive
1619         --remove-signatures      remove digital signatures from this archive
1620
1621
1622
1623       The following operations involve making a temporary mirror of  the  ar‐
1624       chive: - adding signatures - removing signatures - changing the archive
1625       format They may take some time as they involve a full mirror of the ar‐
1626       chive  and all its contents The following operations will automatically
1627       propogate  their  changes  to   all   writeable   mirrors   listed   in
1628       ~/.arch-params/archives/NAME,  and  must have the master archive avail‐
1629       able to operate at all: - adding signatures - removing signatures
1630
1631
1632   baz cat-archive-log
1633       print the contents of an archived log entry
1634
1635       Usage: baz cat-archive-log [options] revision
1636
1637         --headers      show only log headers
1638
1639
1640       Retrieve and print the log message for the indicated revision from  its
1641       archive.
1642
1643
1644   baz cacherev
1645       cache a full source tree in an archive
1646
1647       Usage:   baz  cacherev  [options]  [ARCHIVE/[PACKAGE[--VERSION[--PATCH‐
1648       LEVEL]]]] or [PATCHLEVEL]
1649
1650
1651
1652       Cache a full-text copy of the indicated revision in the archive.   This
1653       can  speed  up  subsequent  calls  to "baz get" for that and subsequent
1654       revisions.
1655
1656
1657       If no nothing is specified, but  the  command  is  run  from  within  a
1658       project  tree, cache the latest revision in the default version of that
1659       tree.
1660
1661
1662   baz cachedrevs
1663       list cached revisions in an archive
1664
1665       Usage: baz cachedrevs [options] [version]
1666
1667
1668
1669       Report which revisions of VERSION have been cached as  whole  trees  in
1670       the archive.
1671
1672
1673       See also "baz cacherev -H".
1674
1675
1676   baz uncacherev
1677       remove a cached full source tree from an archive
1678
1679       Usage: baz uncacherev [options] revision [dir]
1680
1681         -A, --archive  Override `my-default-archive´
1682
1683
1684       Remove the cached form of REVISION from its archive.
1685
1686
1687       If  REVISION  is  not  specified,  but the command is run from within a
1688       project tree, uncache the latest revision in  the  default  version  of
1689       that tree.
1690
1691
1692       Also see "baz cacherev -H".
1693
1694
1695   baz archive-meta-info
1696       report meta-info from an archive
1697
1698       Usage: baz archive-meta-info [options] [archive/]item-name
1699
1700
1701
1702       Print the contents of a meta-info file from an archive. For example,
1703
1704           % baz archive-meta-info name
1705
1706
1707       prints the official name of your default archive.
1708
1709
1710   baz archive-snapshot
1711       update an archive snapshot
1712
1713       Usage: baz archive-snapshot [options] dir [[archive/]limit]
1714
1715
1716
1717       Update  the  directory  DIR  with a "snapshot" of of an archive (or the
1718       part of the archive indicated by LIMIT
1719
1720
1721       For each archive snapshotted, DIR will contain a file and  subdirectory
1722       (where $ARCH is the name of the archive):
1723
1724           ./$ARCH.added
1725           ./$ARCH/
1726
1727
1728       Similarly, for each category snapshotted, DIR will contain:
1729
1730           ./$ARCH/$CAT.added
1731           ./$ARCH/$CAT/
1732
1733
1734       and so on, recursively, for branches and versions.
1735
1736
1737       For each revision, the snapshot contains:
1738
1739           ./$ARCH/$CAT/$BRANCH/$VERSION/$REVISION.added
1740
1741
1742       and that file contains a copy of the patch log entry for that revision.
1743
1744
1745       Snapshots  can  be used in combination with other tools (´make´ is sug‐
1746       gested) to trigger one-time events in response to new additions  to  an
1747       archive.
1748
1749
1750   baz archive-version
1751       list the archive-version in an archive
1752
1753       Usage: baz archive-version [options] [archive]
1754
1755
1756
1757       Print the archive format identifier string of an arch archive.
1758
1759
1760   baz archive-fixup
1761       fix ancillary files (e.g. .listing files) in an archive
1762
1763       Usage: baz archive-fixup [options] [archive]
1764
1765
1766
1767       This  is  a  kind  of  "catch-all"  command  to  fix  the non-standard,
1768       non-transactional state of an archive.  Currently its sole function  is
1769       to repair .listing files in archives that use them.
1770
1771

PATCH LOG COMMANDS

1773   baz make-log
1774       initialize a new log file entry
1775
1776       Usage: baz make-log [options] [version]
1777
1778         -A, --archive  Override `my-default-archive´
1779         -d, --dir DIR  cd to DIR first
1780         --no-file      Display filename, but do not create file.
1781
1782
1783       Create  (if  needed)  a  log entry file in the root of the project tree
1784       containing DIR, for the indicated VERSION.
1785
1786
1787       The name of the new log file is printed to standard output.
1788
1789
1790   baz log-versions
1791       list patch log versions in a project tree
1792
1793       Usage: baz log-versions [options]
1794
1795         -d, --dir DIR            cd to DIR first
1796         -a, --archive ARCHIVE    list only logs for ARCHIVE
1797         -c, --category CATEGORY  list only logs for CATEGORY
1798         -b, --branch BRANCH      list only logs for BRANCH
1799         -v, --vsn VERSION        list only logs for VERSION
1800         -r, --reverse            reverse the sort order
1801
1802
1803       Print the list of versions for  which  there  are  patch  logs  in  the
1804       project tree containing DIR (or the current directory).
1805
1806
1807   baz add-log-version
1808       add a patch log version to a project tree
1809
1810       Usage: baz add-log-version [options] [archive]/version
1811
1812         -A, --archive  Override `my-default-archive´
1813         -d, --dir DIR  cd to DIR first
1814
1815
1816       Add  an  initially  empty  list of patch log for VERSION to the project
1817       tree containing DIR (or the current directory).
1818
1819
1820       A project tree patch log is a pre-requisite for checking the  directory
1821       in on that version, or updating with patches from that version.
1822
1823
1824       Note  that  versions  recorded for a project tree are recorded by fully
1825       qualified version names: an archive name plus the  name  of  a  version
1826       within that archive.
1827
1828
1829   baz remove-log-version
1830       remove a version´s patch log from a project tree
1831
1832       Usage: baz remove-log-version [options] [archive]/version
1833
1834         -A, --archive  Override `my-default-archive´
1835         -d, --dir DIR  cd to DIR first
1836
1837
1838       Remove  the  patch log for VERSION from the project tree containing DIR
1839       (or the current directory).
1840
1841
1842       Use this command with caution -- it erases revision  history  from  the
1843       project tree!
1844
1845
1846   baz log
1847       Show the log messages for the working directory or given
1848
1849       Usage: baz log [-f|--full] [-r start[:end]]
1850
1851         -r, --range    -r start[:end], where start+end are PATCH or PACKAGE
1852         -f, --full     show the entire log message rather than the summary
1853
1854
1855       files/directories,    since    the    beginning   of   time   (crossing
1856       copies/renames) or since/between the revisions/dates  given.  Can  also
1857       be run out of a working directory to
1858        interrogate an archive instead of a working tree->
1859
1860
1861       Examples:  Show  me  the  changes made to scripts/dpkg-source.pl in the
1862       archive:
1863          %% baz log -r dpkg--devel--1.13 scripts/dpkg-source.pl
1864
1865
1866       Show me the changes between a different branch´s  patch-4, my  branches
1867       patch-2:
1868           %% baz log -r dpkg--devel--1.13--patch-4:patch-2
1869
1870
1871       Show  me  the  changes  in  all revisions of the tree-version after and
1872       including patch-123.
1873           %% baz log -r patch-123:
1874
1875        Show me the last ten changes:
1876           %% baz log -r 10
1877
1878
1879   baz logs
1880       list patch logs for a version in a project tree
1881
1882       Usage: baz logs [options] [[archive]/version ...]
1883
1884         -A, --archive         Override `my-default-archive´
1885         -d, --dir DIR         cd to DIR first
1886         -r, --reverse         sort from newest to oldest
1887         -s, --summary         print the summary of each patch
1888         -c, --creator         print the creator of each patch
1889         -D, --date            print the date of each patch
1890         --local-merges        list merges from the same archive
1891         --foreign-merges      list merges from other archives
1892         --merges              list all merges
1893         -f, --full            print full patch level names
1894
1895
1896       Print the list of patches applied to a project tree DIR (or the current
1897       directory) from VERSION.
1898
1899
1900   baz cat-log
1901       print the contents of a project tree log entry
1902
1903       Usage: baz cat-log [options] revision-spec
1904
1905         -A, --archive  Override `my-default-archive´
1906         -d, --dir DIR  cd to DIR first
1907
1908
1909       Retrieve  and  print  the  patch  log for the indicated revision from a
1910       project tree.
1911
1912
1913   baz changelog
1914       generate a ChangeLog from a patch log
1915
1916       Usage: baz changelog [options] [[archive]/version]
1917
1918         -A, --archive               Override `my-default-archive´
1919         -d, --dir DIR               cd to DIR first
1920         --no-files                  exclude file lists from ChangeLog
1921         --untagged                  don´t implicitly tag the output file
1922         --new-entry PATCH,FILE      make FILE the first (top) entry
1923                                       for patch level PATCH
1924
1925
1926       Generate a ChangeLog for VERSION from the patch log for DIR.
1927
1928
1929   baz log-for-merge
1930       generate a log entry body for a merge
1931
1932       Usage: baz log-for-merge [options] [[archive]/version]
1933
1934         -A, --archive  Override `my-default-archive´
1935         -d, --dir DIR  cd to DIR first
1936         -r, --reverse  sort from newest to oldest
1937
1938
1939       Generate a log entry body describing a merge into VERSION.
1940
1941
1942   baz merges
1943       report where two branches have been merged
1944
1945       Usage: baz merges [options] INTO [FROM]
1946
1947         -d, --dir DIR  cd to DIR first
1948         -r, --reverse  sort from newest to oldest
1949         -f, --full     print full patch level names
1950
1951
1952       Print a list of pairs of patch level names:
1953
1954               %s     %s   INTO-RVN  FROM-RVN
1955
1956
1957       where each pair indicates that at patch level  INTO-RVN  of  INTO,  the
1958       patch log entry FROM-RVN was added.
1959
1960
1961       FROM  may be a branch name, version name, or revision name. If a branch
1962       or version name, all merges from that branch or version  are  reported.
1963       If  a  revision  name, only the merge points for that specific revision
1964       are reported.
1965
1966
1967       INTO may be a version name or revision name.  If a  version  name,  all
1968       merge  points within that version are printed.  If a revision name, all
1969       merge points at that revision or earlier are printed.
1970
1971
1972       Output is sorted using patch-level ordering of the first column.
1973
1974
1975       Included patches are listed by full name  unless  FROM  is  a  revision
1976       name.   If  FROM  is  a  revision,  --full  causes  its full name to be
1977       printed.
1978
1979
1980   baz new-merges
1981       list tree patches new to a version
1982
1983       Usage: baz new-merges [options] [[archive]/version]
1984
1985         -A, --archive  Override `my-default-archive´
1986         -d, --dir DIR  cd to DIR first
1987         -r, --reverse  sort from newest to oldest
1988
1989
1990       List all patch log entries in the tree containing  DIR  that  have  not
1991       already been merged with VERSION.
1992
1993

MULTI-PROJECT CONFIGURATION COMMANDS

1995   baz build-config
1996       instantiate a multi-project config
1997
1998       Usage: baz build-config [options] config
1999
2000         -d, --dir DIR        cd to DIR first
2001         --no-pristines       don´t create pristine copies
2002         --link                hardlink  files  to revision library instead of
2003       copying
2004         --library            ensure revisions are in the revision library
2005         --sparse             add library entries sparsely (--link, --library)
2006         --no-greedy-add      do not allow greedy libraries to add revisions
2007         -r, --release-id     overwrite ./=RELEASE-ID for this config
2008
2009
2010       Build the named configuration.  See also baz cat-config -H".
2011
2012
2013   baz cat-config
2014       output information about a multi-project config
2015
2016       Usage: baz cat-config [options] config
2017
2018         -d, --dir DIR     cd to DIR first
2019         -o, --output CFG  write the output as config CFG
2020         -f, --force       overwrite an exiting config (with --output)
2021         -s, --snap        Show current patch levels of subtree packages.
2022         --unescaped       show filenames in unescaped form
2023
2024
2025       Parse and print the indicate config file from a project tree
2026
2027
2028       A config file contains blank lines, comment lines  starting  with  "#",
2029       and  config  specification  lines.    The  config  file called $NAME is
2030       stored in a project tree as ./configs/$NAME or as ./$NAME.
2031
2032
2033       A config specification line contains a relative path within  a  project
2034       tree,  and  a specification of the project or revision to store in that
2035       location.
2036
2037
2038       For example, the line:
2039
2040          ./src/arch   lord@emf.net--2003b/arch--devo--1.0
2041
2042
2043       means that, when building the configuration,  the  latest  revision  of
2044       arch--devo--1.0 should be created within the tree as ./src/arch.
2045
2046
2047       The  project  specification  can  be a branch name, version name or the
2048       name of a specific revision.
2049
2050
2051       The option --snap says to examine the project tree to  find  out  which
2052       revisions  of configured project are printed, and generate a new config
2053       specification that references those specific revisions.   For  example,
2054       the output for the line shown above might be:
2055
2056           ./src/arch  lord@emf.net--2003b/arch--devo--1.0--patch-21
2057
2058
2059       The  option --output causes the output from this command to be recorded
2060       as a new configuration file (or to replace an existing file if  --force
2061       is provided).
2062
2063

COMMANDS FOR BRANCHING AND MERGING

2065   baz branch
2066       create a branch
2067
2068       Usage: baz branch [options] [SOURCE] BRANCH
2069
2070         -l, --log FILE     commit with log file FILE
2071         --no-cacherev      Do not cacherev tag even if different archive
2072         --seal             create a version-0 revision
2073         --fix              create a versionfix revision
2074         -d, --dir DIR      cd to DIR first
2075
2076
2077       Create  the  continuation  at  the  next patch level of BRANCH which is
2078       equivalent to SOURCE.
2079
2080
2081       If SOURCE is not specified, the current project tree revision is  used,
2082       and the project tree is switched to BRANCH
2083
2084
2085   baz merge
2086       merge from another branch
2087
2088       Usage: baz merge [options] [FROM]
2089
2090         -c, --changes OUTPUT     Generate but don´t apply the changeset.
2091         -r, --reference VERSION  Set reference version (default: project tree
2092       version)
2093         --show-merge-points      Calculate the trees to use for merging, show
2094       their ids and exit.
2095         --star-merge              Use  the  more restrictive star merge algo‐
2096       rithm for choosing the common ancestor
2097         --trace                  Trace the selection of the merge points.
2098         --two-way                Perform a 2-way merge.
2099         -t, --three-way          (Deprecated - now default) Perform  a  3-way
2100       merge.
2101         -d, --dir DIR            Operate on project tree in DIR (default `.´)
2102         --unescaped              show filenames in unescaped form
2103
2104
2105       Merge  changes  from  FROM  into  the  project tree, considering common
2106       ancestry from the project  tree  reference  version,  REFERENCE  (which
2107       defaults  to  the  tree  version  of  the project tree). If FROM is not
2108       given, it defaults to the tree revision.
2109
2110
2111       The --star-merge option is for use in situations where the  pattern  of
2112       merges  between  branches  is  strictly  a star. If you desire standard
2113       external rejection hunks, you should use --star-merge --two-way.
2114
2115
2116       By default, merge will perform a three way  merge,  using  any  of  the
2117       ´best´  common  ancestors  available.  When  used in a star development
2118       model, the results will be the same as with --star-merge. However  when
2119       used  in a mesh model, where teams of developers are collaborating with
2120       each other, the chosen common ancestor  will  be  the  closest  commont
2121       text, reducing spurious conflicts.
2122
2123
2124       FROM indicates a revision (it may be specified as a version name, indi‐
2125       cating the latest revision in that version).
2126
2127
2128       TREE is the project tree into which the merge will occur.
2129
2130
2131       The mesh or graph algorithm details: merge works by computing the clos‐
2132       est  common  ancestor.  This  is defined as the common ancestor that is
2133       reachable in a minimal number of hops from Both  FROM  and  TREE.  When
2134       multiple  ancestors  are  reachable  in  the  same number of hops, only
2135       ancestors with no children reachable in the same  number  of  hops  are
2136       chosen.  If  there are multiple ancestors left to choose from, an arbi‐
2137       trary one is chosen.  This  is  optimised  for  diff3  merges,  use  of
2138       --two-way is NOT RECOMMENDED without also specifying --star-merge.
2139
2140
2141       The --star-merge option details: Star-merge works by computing the most
2142       recent ANCESTOR revision of REFERENCE and FROM and  then  applying  the
2143       changeset:
2144
2145                delta (ANCESTOR, FROM)
2146
2147
2148       to TREE.
2149
2150
2151       The "most recent ancestor" is defined as follows:
2152
2153
2154       MAYBE_ANCESTOR_1  is defined as the highest patch level of FROM in REF‐
2155       ERENCE for which both TREE and FROM have a patch log. In  other  words,
2156       it  is  the  latest REFERENCE revision of FROM´s version already merged
2157       into TREE.
2158
2159
2160       MAYBE_ANCESTOR_2 is defined as the highest patch level in REFERENCE for
2161       which  both FROM and REFERENCE have a patch log.  In other words, it is
2162       the latest revision of REFERENCE already merged into FROM.
2163
2164
2165       MAYBE_ANCESTOR_2, if it is not "nil", was  merged  into  FROM  at  some
2166       revision of FROM´s version, which we can call LAST_MERGE_INTO_FROM.
2167
2168
2169       If both MAYBE_ANCESTOR_1 or MAYBE_ANCESTOR_2 are nil, star-merge can do
2170       nothing.
2171
2172
2173       If just one of MAYBE_ANCESTOR_1 is MAYBE_ANCESTOR_2 is  not  nil,  then
2174       that non-nil value is ANCESTOR.
2175
2176
2177       If  both  MAYBE_ANCESTOR_1  and  MAYBE_ANCESTOR_2  are  not  nil,  then
2178       LAST_MERGE_INTO_FROM and MAYBE_ANCESTOR_1 are compared (both are  revi‐
2179       sions  in  FROM´s  version). If MAYBE_ANCESTOR_1 is the later revision,
2180       then  MAYBE_ANCESTOR_1  is  ANCESTOR,  otherwise,  MAYBE_ANCESTOR_2  is
2181       ANCESTOR.
2182
2183
2184   baz update
2185       update a project tree to reflect recent archived changes
2186
2187       Usage: baz update [options] [version/revision]
2188
2189         -d, --dir DIR    Update project tree in DIR (default `.´)
2190         --dest DEST      Instead of modifying the project tree in-place,
2191                          make  a  copy  of it to DEST and apply the result to
2192       that
2193         --unescaped      show filenames in unescaped form
2194
2195
2196       Update a project tree by getting the latest revision of VERSION (or the
2197       default  version  of the project tree) and then applying a patch set of
2198       the differences between the project tree and the highest revision  with
2199       which it is up-to-date.
2200
2201
2202       If  the merge involves conflicts, a warning message is printed, and the
2203       new project tree will contain ".rej" files.
2204
2205
2206   baz replay
2207       apply revision changesets to a project tree
2208
2209       Usage: baz replay [options] [version/revision...]
2210
2211         --list FILE         read a list of patches to apply
2212         --new               replay only new patches
2213         --reverse           reverse the named patch
2214         -d, --dir DIR       Operate on project tree in DIR (default `.´)
2215         --dest DEST         Instead of modifying the project tree in-place,
2216                             make a copy of it to DEST and apply the result to
2217       that
2218         --skip-present       skip  patches  that contain 1 or more patch logs
2219       already in this tree
2220         --unescaped         show filenames in unescaped form
2221
2222
2223       The result is formed by applying patches in the latest revision of VER‐
2224       SION  (or  the default version of the project tree), stopping after the
2225       first patch that causes conflicts.  If multiple VERSIONs are specified,
2226       they are applied in turn.
2227
2228
2229       If one or more specific REVISIONs (including patch-levels) is specified
2230       instead, only those patch sets, and no others, will be applied.
2231
2232
2233       With the --list option, read a list of patches to apply  from  FILE  (-
2234       for standard input).  Complete revision names should be listed, one per
2235       line.  replay will stop at the first patch in the list  that  causes  a
2236       merge conflict, leaving behind files with names of the form:
2237
2238          ,,replay.conflicts-in  --   the  name  of the patch that caused con‐
2239       flicts
2240
2241          ,,replay.remaining    --  the list of patches not yet applied
2242
2243
2244   baz apply-delta
2245       compute a changeset between any two trees or revisions and apply it  to
2246       a project tree
2247
2248       Usage: baz apply-delta [options] FROM(REVISION|DIR) TO(REVISION|DIR)
2249
2250         -A, --archive    Override `my-default-archive´
2251         -q, --quiet      instruct command to be quieter when applying delta
2252         -d, --dir DIR    Operate on project tree in DIR (default `.´)
2253         -t, --three-way  Perform a 3-way (diff3-style) merge.
2254         --dest DEST      Instead of modifying the project tree in-place,
2255                          make  a  copy  of it to DEST and apply the result to
2256       that
2257         --unescaped      show filenames in unescaped form
2258
2259
2260       A delta between A and B (both of which may be either a full revision or
2261       a project tree) is computed, and then applied to the project tree.
2262
2263
2264       Exit Status Codes:
2265
2266           0  No conflict during patch
2267           1  Conflicts occurred during patch
2268           3  Internal Error
2269
2270
2271   baz missing
2272       print patches missing from a project tree
2273
2274       Usage: baz missing [options] [version]
2275
2276         -A, --archive       Override `my-default-archive´
2277         -d, --dir DIR       cd to DIR first
2278         -r, --reverse       sort from newest to oldest
2279         -s, --summary       display a summary of each missing patch
2280         -c, --creator       display the creator of each missing patch
2281         -D, --date          display the date of each missing patch
2282         --unqualified       print unqualified revision names
2283         --skip-present       skip  patches  that contain 1 or more patch logs
2284       already in this tree
2285
2286
2287       Print a list of patches missing in the project tree containing DIR  (or
2288       the  current  directory)  for  VERSION  (or the default version. of the
2289       project tree).
2290
2291
2292
2293   baz join-branch
2294       add a version as an ancestor of a project tree
2295
2296       Usage: baz join-branch [options] version
2297
2298         -A, --archive    Override `my-default-archive´
2299         -d, --dir DIR    Operate on project tree in DIR (default `.´)
2300         --dest DEST      Instead of modifying the project tree in-place,
2301                          make a copy of it to DEST and apply  the  result  to
2302       that
2303         --unescaped      show filenames in unescaped form
2304
2305
2306       VERSION--base-0  must be a continuation (e.g. tag). The command replays
2307       the changeset for VERSION--base-0 in the project tree,  which  has  the
2308       effect  of adding the log for the branch (making the tag an ancestor of
2309       the resulting tree).
2310
2311
2312   baz sync-tree
2313       unify a project tree´s patch-log with a given revision
2314
2315       Usage: baz sync-tree [options] revision
2316
2317         -d, --dir DIR    Operate on project tree in DIR (default `.´)
2318         --dest DEST      Instead of modifying the project tree in-place,
2319                          make a copy of it to DEST and apply  the  result  to
2320       that
2321         --unescaped      show filenames in unescaped form
2322
2323
2324       The  new project tree is formed by getting the REVISION and adding  all
2325       patch-log entries from REVISION.  No actual  merging  is  performed  --
2326       only the patch-log is changed.
2327
2328
2329   baz delta
2330       compute a changeset (or diff) between any two trees or revisions
2331
2332       Usage:  baz  delta [options] (REVISION|TREE)-A (REVISION|TREE)-B [DEST‐
2333       DIR]
2334
2335         -A, --archive          Override `my-default-archive´
2336         -q, --quiet            quiet down progress  reports  while  computing
2337       changeset
2338         -n, --no-changeset     do not generate a changeset
2339         --diffs                print changeset report with diffs (implies -n)
2340         -p, --show-c-function  Show which C function each change is in.
2341         --unescaped            show filenames in unescaped form
2342
2343
2344
2345       Given (REVISION|TREE)-A and (REVISION|TREE)-B, baz will build a change‐
2346       set that comprises the changes between REVISION-A and REVISION-B
2347
2348
2349       Example:
2350         baz delta baz--devo--1.1--patch-6             baz--devo--1.1--patch-8
2351       ,,changes
2352
2353         Will pull patch-6 and patch-8 from baz--devo--1.1 and compute
2354         a changeset, which will be saved in a newly created ,,changes
2355         directory. If you would like a report instead,
2356         append the --diffs option
2357

LOCAL CACHE COMMANDS

2359   baz file-find
2360       find given version of file
2361
2362       Usage: baz file-find [options] file [revision]
2363
2364         -A, --archive    Override `my-default-archive´
2365         -N, --new-file   Print missing file as `/dev/null´
2366         -s, --silent     suppress reasuring messages
2367         --unescaped      show filenames in unescaped form
2368
2369
2370       Print  location of file corresponding to FILE in a cached copy of REVI‐
2371       SION
2372
2373
2374       The default patch level for a given version is  the  latest  level  for
2375       which the project tree has a patch.  The default archive and version is
2376       as printed by "baz tree-version".
2377
2378
2379   baz pristines
2380       list pristine trees in a project tree
2381
2382       Usage: baz pristines [options] [limit]
2383
2384         -d, --dir DIR  cd to DIR first
2385         -r, --reverse  reverse sort order
2386
2387
2388       Print the list of pristine revisions cached in project tree DIR (or the
2389       current directory).
2390
2391
2392   baz add-pristine
2393       ensure that a project tree has a particular pristine revision
2394
2395       Usage: baz add-pristine [options] revision
2396
2397         -A, --archive  Override `my-default-archive´
2398         -d, --dir DIR  cd to DIR first
2399
2400
2401       Extract  REVISION from an archive, creating a pristine copy. Store that
2402       pristine copy in the current directory´s project tree
2403
2404
2405   baz find-pristine
2406       find and print the path to a pristine revision
2407
2408       Usage: baz find-pristine [options] revision
2409
2410         -A, --archive  Override `my-default-archive´
2411         -d, --dir DIR  cd to DIR first
2412         -s, --silent   exit status only
2413
2414
2415       Print the location of a pristine copy of the indicated revision
2416
2417

REVISION LIBRARY COMMANDS

2419   baz my-revision-library
2420       print or change your revision library path
2421
2422       Usage: baz my-revision-library [options] [dir]
2423
2424         -e, --errname      specify program name for errors
2425         -d, --delete       unspecify your revision library
2426         -s, --silent       suppress reassuring messages
2427         --search           use the full search path
2428         --add              use the full add path
2429         --search-only      use the search-only path
2430         --add-only         use the add-only path
2431         --first            prepend to the path if setting (default appends)
2432
2433
2434       With no argument, and without -d,  print  the  path  to  your  revision
2435       library.
2436
2437
2438       With  an  argument,  record DIR as the path to your revision library in
2439       ~/.arch-params/=revision-library
2440
2441
2442       With the option -d (--delete) and no argument, ensure that you  do  not
2443       have a revision library path set in ~/.arch-params.
2444
2445
2446       If  no revision library is set, the program exits with status 1, print‐
2447       ing an error message unless the -s (--silent) option is given.
2448
2449
2450   baz library-config
2451       configure parameters of a revision library
2452
2453       Usage: baz library-config [options] library-dir
2454
2455         --greedy          make the library greedy
2456         --non-greedy      make the library not greedy
2457         --sparse          make the library sparse
2458         --non-sparse      make the library not sparse
2459
2460
2461       Set/show various parameters for a revision library.
2462
2463
2464   baz library-find
2465       find and print the location of a revision in the revision library
2466
2467       Usage: baz library-find [options] revision
2468
2469         -A, --archive  Override `my-default-archive´
2470         -e, --errname  specify program name for errors
2471         -s, --silent   suppress reassuring messages
2472
2473
2474       Find REVISION in your revision library and print its path. If the revi‐
2475       sion  is not present, print an error message (unless --silent is speci‐
2476       fied) and exit with non-0 status.
2477
2478
2479   baz library-add
2480       add a revision to the revision library
2481
2482       Usage: baz library-add [options] revision
2483
2484         -s, --sparse          Don´t fill in gaps in the library.
2485         --non-sparse          Fill in gaps in the library.
2486         -L, --library LIB     specify which library to add to
2487         --for-links PATH      require a lib on the same device as PATH
2488         --unescaped           show filenames in unescaped form
2489
2490
2491       Add REVISION to your revision library.
2492
2493
2494       This command has no effect and exits with status  0  if  the  indicated
2495       revision is already in the library.
2496
2497
2498   baz library-remove
2499       remove a revision from the revision library
2500
2501       Usage: baz library-remove [options] revision
2502
2503         -A, --archive  Override `my-default-archive´
2504
2505
2506       Remove REVISION from your revision library.
2507
2508
2509       If  the  revision  is not present, print an error message and exit with
2510       non-0 status.
2511
2512
2513   baz library-archives
2514       list the archives in your revision library
2515
2516       Usage: baz library-archives [options]
2517
2518
2519
2520       List all archives with records in the revision library.
2521
2522
2523   baz library-categories
2524       list the categories in your revision library
2525
2526       Usage: baz library-categories [options] [archive]
2527
2528         -A, --archive  Override `my-default-archive´
2529
2530
2531       List all categories within a given archive in the revision library.
2532
2533
2534   baz library-branches
2535       list the branches in a library category
2536
2537       Usage: baz library-branches [options] [category]
2538
2539         -A, --archive  Override `my-default-archive´
2540
2541
2542       List all branches within CATEGORY in the revision library.
2543
2544
2545   baz library-versions
2546       list the versions in a library branch
2547
2548       Usage: baz library-versions [options] [branch]
2549
2550         -A, --archive  Override `my-default-archive´
2551         -r, --reverse  sort from newest to oldest
2552
2553
2554       List all versions within a particular archive/branch  with  records  in
2555       the revision library.
2556
2557
2558   baz library-revisions
2559       list the revisions in a library version
2560
2561       Usage: baz library-revisions [options] [version]
2562
2563         -A, --archive  Override `my-default-archive´
2564         -r, --reverse  sort from newest to oldest
2565         -f, --full     list fully qualified names
2566         -s, --summary  print a summary of each patch
2567         -c, --creator  print the creator of each patch
2568         -D, --date     print the date of each patch
2569
2570
2571       List  all revisions within a particular archive/version with records in
2572       the revision library.
2573
2574
2575   baz library-log
2576       output a log message from the revision library
2577
2578       Usage: baz library-log [options] revision
2579
2580         -A, --archive  Override `my-default-archive´
2581         -s, --silent   suppress reassuring messages
2582
2583
2584       Print the log message for REVISION from the library.
2585
2586
2587   baz library-file
2588       find a file in a revision library
2589
2590       Usage: baz library-file [options] file revision
2591
2592         -A, --archive  Override `my-default-archive´
2593         --id           interpret FILE as an inventory id
2594         --this         interpret FILE as a file within a project tree
2595
2596
2597       Find FILE in REVISION in your revision library and print its  path.  If
2598       the  revision  or  file is not present, print an error message and exit
2599       with non-0 status.
2600
2601

CACHE COMMANDS

2603   baz cache-config
2604       Print or change your cache settings
2605
2606       Usage: baz cache-config [options] [dir]
2607
2608         -d, --disable  Disable caching, and forget the directory
2609
2610
2611       With no argument, and without -d, print the path to your cache.
2612
2613
2614       With an argument, record DIR as the path to your
2615
2616
2617       With the option -d (--disable) and no argument,  disable  caching   and
2618       forget the cache directory
2619
2620

PUBLISHED REVISIONS COMMANDS

2622   baz grab
2623       grab a published revision
2624
2625       Usage: baz grab [options] location
2626
2627         --no-pristines      don´t create pristine copies
2628         --link               hardlink  files  to  revision library instead of
2629       copying
2630         --library           ensure revisions are in the revision library
2631         --sparse            add library entries sparsely (--link, --library)
2632         -r, --release-id    overwrite ./=RELEASE-ID for this config
2633
2634
2635       Grabs a published revision from LOCATION.
2636
2637
2638       A grab file has the following syntax:
2639
2640         Archive-Name:     [the name of the archive]
2641         Archive-Location: [the location of the archive]
2642         Target-Revision:  [PACKAGE|VERSION|REVISION to get]
2643         Target-Directory: [optional][The suggested directory to get into]
2644         Target-Config:    [optional][A configuration to build upon grabbing]
2645
2646

MISCELLANEOUS SCRIPTING SUPPORT

2648   baz parse-package-name
2649       parse a package name
2650
2651       Usage: baz parse-package-name [options] name
2652
2653         -A, --archive          Override `my-default-archive´
2654         -a, --arch             print the archive name
2655         --non-arch             print the non-archive part of the name
2656         -c, --category         print the category name
2657         -b, --branch           print the branch name
2658         -p, --package          print the package name
2659         -v, --vsn              print the version id
2660         --package-version      print the category--branch--version
2661         -l, --lvl              print the patch level
2662         --patch-level          synonym for --lvl
2663
2664
2665       Options -b, -B, -p, -v, and -l cancel each other.
2666
2667
2668       For -b, -v, and -l, just the id string is printed without "--".
2669
2670
2671       For -p, the output is "<basename>--<branch>".
2672
2673
2674   baz valid-package-name
2675       test a package name for validity
2676
2677       Usage: baz valid-package-name [options] name
2678
2679         -e, --errname      specify program name for errors
2680         --archive          require and explicit archive
2681         --no-archive       prohibit and explicit archive
2682         -c, --category     require a category
2683         -p, --package      require category, permit branch
2684         -v, --vsn          require a version number
2685         -l, --patch-level  require a patch level
2686         --lvl              synonym for --patch-level
2687         -t, --tolerant     tolerate more specific names
2688
2689
2690       Exit with status 0 if PACKAGE is a valid package name, status 1  other‐
2691       wise.
2692
2693
2694       By default, require a basename or basename plus branch label.
2695
2696
2697       Options -v and -l cancel -b and vice versa.
2698
2699
2700       Option -l implies -v.
2701
2702
2703       If  an  error  name  is specified (-e or --errname), then invalid names
2704       cause an error message on stdout.  Otherwise, the exit  status  is  the
2705       only output.
2706
2707
2708       By  default,  validation is strict.  For example, -b checks for a valid
2709       basename and does not permit a branch label or version number.
2710
2711
2712       With -t, more specific names are permitted.  For example, -b will  per‐
2713       mit a branch name, version number, and patch level.
2714
2715
2716   baz escape
2717       print strings in escaped or unescaped form
2718
2719       Usage: baz escape [--unescaped] string
2720
2721         --unescaped      show filenames in unescaped form
2722
2723
2724       Using Pika escaping rules.
2725
2726

ENVIRONMENT

2728       EDITOR If  $EDITOR is set, use its value as the path of the text editor
2729              arch is to run when asking the user for text  input.  If  unset,
2730              log  messages  must  be given on the command line using the `-L´
2731              parameter or in the file created by `baz make-log´.
2732
2733       HOME   User´s home directory, where arch  looks  for  .arch-cache/  and
2734              .arch-params/ .
2735
2736
2737       http_proxy HTTP_PROXY
2738              If $http_proxy or $HTTP_PROXY is set, arch used its value as the
2739              URL of the proxy to use for WebDAV  accesses.   $http_proxy  has
2740              higher priority than $HTTP_PROXY.  If unset, no proxy is used.
2741
2742       TMPDIR If  $TMPDIR  is  set,  arch creates temporary files in the given
2743              directory. Otherwise, it uses `/tmp´.
2744

FILES

2746       ${HOME}/.arch-cache/
2747              Directory where arch caches archive data
2748
2749       ${HOME}/.arch-params/
2750              Directory where all the user´s settings are stored.
2751
2752       ${HOME}/.arch-params/hook
2753              Hook script called after every execution of baz.
2754
2755       ${HOME}/.arch-params/signing/
2756              Directory where the commands for signing and checking signatures
2757              are stored.
2758

SEE ALSO

2760       http://bazaar.canonical.com/,                 http://wiki.gnuarch.org/,
2761       http://gnuarch.org/
2762
2763
2764
27651.4.2                             2006-08-16                            baz(1)
Impressum