Hex Artifact Content
Not logged in

Artifact ab44da6d91082d27a614084f869728cae322abbf:

File www/fileformat.wiki part of check-in [7a2c37063a] - merge trunk into creole branch by bob on 2009-09-22 07:49:39. Also file www/fileformat.wiki part of check-in [8b630bb57a] - Provide --user-override option on the ci command and the --date-override option on the new command. Make a correction to the file format document. by drh on 2009-08-08 22:40:28.

0000: 3c 68 31 20 61 6c 69 67 6e 3d 22 63 65 6e 74 65  <h1 align="cente
0010: 72 22 3e 0a 46 6f 73 73 69 6c 20 46 69 6c 65 20  r">.Fossil File 
0020: 46 6f 72 6d 61 74 73 0a 3c 2f 68 31 3e 0a 0a 3c  Formats.</h1>..<
0030: 70 3e 54 68 65 20 67 6c 6f 62 61 6c 20 73 74 61  p>The global sta
0040: 74 65 20 6f 66 20 61 20 66 6f 73 73 69 6c 20 72  te of a fossil r
0050: 65 70 6f 73 69 74 6f 72 79 20 69 73 20 6b 65 70  epository is kep
0060: 74 20 73 69 6d 70 6c 65 20 73 6f 20 74 68 61 74  t simple so that
0070: 20 69 74 20 63 61 6e 0a 65 6e 64 75 72 65 20 69   it can.endure i
0080: 6e 20 75 73 65 66 75 6c 20 66 6f 72 6d 20 66 6f  n useful form fo
0090: 72 20 64 65 63 61 64 65 73 20 6f 72 20 63 65 6e  r decades or cen
00a0: 74 75 72 69 65 73 2e 20 0a 41 20 66 6f 73 73 69  turies. .A fossi
00b0: 6c 20 72 65 70 6f 73 69 74 6f 72 79 20 69 73 20  l repository is 
00c0: 69 6e 74 65 6e 64 65 64 20 74 6f 20 62 65 20 72  intended to be r
00d0: 65 61 64 61 62 6c 65 2c 0a 73 65 61 72 63 68 61  eadable,.searcha
00e0: 62 6c 65 2c 20 61 6e 64 20 65 78 74 65 6e 73 69  ble, and extensi
00f0: 62 6c 65 20 62 79 20 70 65 6f 70 6c 65 20 6e 6f  ble by people no
0100: 74 20 79 65 74 20 62 6f 72 6e 2e 3c 2f 70 3e 0a  t yet born.</p>.
0110: 0a 3c 70 3e 0a 54 68 65 20 67 6c 6f 62 61 6c 20  .<p>.The global 
0120: 73 74 61 74 65 20 6f 66 20 61 20 66 6f 73 73 69  state of a fossi
0130: 6c 20 72 65 70 6f 73 69 74 6f 72 79 20 69 73 20  l repository is 
0140: 61 6e 20 75 6e 6f 72 64 65 72 65 64 0a 73 65 74  an unordered.set
0150: 20 6f 66 20 3c 69 3e 61 72 74 69 66 61 63 74 73   of <i>artifacts
0160: 3c 2f 69 3e 2e 0a 41 6e 20 61 72 74 69 66 61 63  </i>..An artifac
0170: 74 20 6d 69 67 68 74 20 62 65 20 61 20 73 6f 75  t might be a sou
0180: 72 63 65 20 63 6f 64 65 20 66 69 6c 65 2c 20 74  rce code file, t
0190: 68 65 20 74 65 78 74 20 6f 66 20 61 20 77 69 6b  he text of a wik
01a0: 69 20 70 61 67 65 2c 0a 70 61 72 74 20 6f 66 20  i page,.part of 
01b0: 61 20 74 72 6f 75 62 6c 65 20 74 69 63 6b 65 74  a trouble ticket
01c0: 2c 20 6f 72 20 6f 6e 65 20 6f 66 20 73 65 76 65  , or one of seve
01d0: 72 61 6c 20 73 70 65 63 69 61 6c 20 63 6f 6e 74  ral special cont
01e0: 72 6f 6c 20 61 72 74 69 66 61 63 74 73 0a 75 73  rol artifacts.us
01f0: 65 64 20 74 6f 20 73 68 6f 77 20 74 68 65 20 72  ed to show the r
0200: 65 6c 61 74 69 6f 6e 73 68 69 70 73 20 62 65 74  elationships bet
0210: 77 65 65 6e 20 6f 74 68 65 72 20 61 72 74 69 66  ween other artif
0220: 61 63 74 73 20 77 69 74 68 69 6e 20 74 68 65 0a  acts within the.
0230: 70 72 6f 6a 65 63 74 2e 20 20 45 61 63 68 20 61  project.  Each a
0240: 72 74 69 66 61 63 74 20 69 73 20 6e 6f 72 6d 61  rtifact is norma
0250: 6c 6c 79 20 72 65 70 72 65 73 65 6e 74 65 64 20  lly represented 
0260: 6f 6e 20 64 69 73 6b 20 61 73 20 61 20 73 65 70  on disk as a sep
0270: 61 72 61 74 65 0a 66 69 6c 65 2e 20 20 41 72 74  arate.file.  Art
0280: 69 66 61 63 74 73 20 63 61 6e 20 62 65 20 74 65  ifacts can be te
0290: 78 74 20 6f 72 20 62 69 6e 61 72 79 2e 0a 3c 2f  xt or binary..</
02a0: 70 3e 0a 0a 3c 70 3e 0a 49 6e 20 61 64 64 69 74  p>..<p>.In addit
02b0: 69 6f 6e 20 74 6f 20 74 68 65 20 67 6c 6f 62 61  ion to the globa
02c0: 6c 20 73 74 61 74 65 2c 20 0a 65 61 63 68 20 66  l state, .each f
02d0: 6f 73 73 69 6c 20 72 65 70 6f 73 69 74 6f 72 79  ossil repository
02e0: 20 61 6c 73 6f 20 63 6f 6e 74 61 69 6e 73 20 6c   also contains l
02f0: 6f 63 61 6c 20 73 74 61 74 65 2e 0a 54 68 65 20  ocal state..The 
0300: 6c 6f 63 61 6c 20 73 74 61 74 65 20 63 6f 6e 73  local state cons
0310: 69 73 74 73 20 6f 66 20 77 65 62 2d 70 61 67 65  ists of web-page
0320: 20 66 6f 72 6d 61 74 74 69 6e 67 0a 70 72 65 66   formatting.pref
0330: 65 72 65 6e 63 65 73 2c 20 61 75 74 68 6f 72 69  erences, authori
0340: 7a 65 64 20 75 73 65 72 73 2c 20 74 69 63 6b 65  zed users, ticke
0350: 74 20 64 69 73 70 6c 61 79 20 61 6e 64 20 72 65  t display and re
0360: 70 6f 72 74 69 6e 67 20 66 6f 72 6d 61 74 73 2c  porting formats,
0370: 0a 61 6e 64 20 73 6f 20 66 6f 72 74 68 2e 20 20  .and so forth.  
0380: 54 68 65 20 67 6c 6f 62 61 6c 20 73 74 61 74 65  The global state
0390: 20 69 73 20 73 68 61 72 65 64 20 69 6e 20 63 6f   is shared in co
03a0: 6d 6d 6f 6e 20 61 6d 6f 6e 67 20 61 6c 6c 0a 72  mmon among all.r
03b0: 65 70 6f 73 69 74 6f 72 69 65 73 20 66 6f 72 20  epositories for 
03c0: 74 68 65 20 73 61 6d 65 20 70 72 6f 6a 65 63 74  the same project
03d0: 2c 20 77 68 65 72 65 61 73 20 74 68 65 20 6c 6f  , whereas the lo
03e0: 63 61 6c 20 73 74 61 74 65 20 69 73 20 6f 66 74  cal state is oft
03f0: 65 6e 0a 64 69 66 66 65 72 65 6e 74 20 69 6e 20  en.different in 
0400: 73 65 70 61 72 61 74 65 20 72 65 70 6f 73 69 74  separate reposit
0410: 6f 72 69 65 73 2e 0a 54 68 65 20 6c 6f 63 61 6c  ories..The local
0420: 20 73 74 61 74 65 20 69 73 20 6e 6f 74 20 76 65   state is not ve
0430: 72 73 69 6f 6e 65 64 20 61 6e 64 20 69 73 20 6e  rsioned and is n
0440: 6f 74 20 73 79 6e 63 68 72 6f 6e 69 7a 65 64 0a  ot synchronized.
0450: 77 69 74 68 20 74 68 65 20 67 6c 6f 62 61 6c 20  with the global 
0460: 73 74 61 74 65 2e 0a 54 68 65 20 6c 6f 63 61 6c  state..The local
0470: 20 73 74 61 74 65 20 69 73 20 6e 6f 74 20 63 6f   state is not co
0480: 6d 70 6f 73 65 64 20 6f 66 20 61 72 74 69 66 61  mposed of artifa
0490: 63 74 73 20 61 6e 64 20 69 73 20 6e 6f 74 20 69  cts and is not i
04a0: 6e 74 65 6e 64 65 64 20 74 6f 20 62 65 20 65 6e  ntended to be en
04b0: 64 75 72 69 6e 67 2e 0a 54 68 69 73 20 64 6f 63  during..This doc
04c0: 75 6d 65 6e 74 20 69 73 20 63 6f 6e 63 65 72 6e  ument is concern
04d0: 65 64 20 77 69 74 68 20 67 6c 6f 62 61 6c 20 73  ed with global s
04e0: 74 61 74 65 20 6f 6e 6c 79 2e 20 20 4c 6f 63 61  tate only.  Loca
04f0: 6c 20 73 74 61 74 65 20 69 73 20 6f 6e 6c 79 0a  l state is only.
0500: 6d 65 6e 74 69 6f 6e 65 64 20 68 65 72 65 20 69  mentioned here i
0510: 6e 20 6f 72 64 65 72 20 74 6f 20 64 69 73 74 69  n order to disti
0520: 6e 67 75 69 73 68 20 69 74 20 66 72 6f 6d 20 67  nguish it from g
0530: 6c 6f 62 61 6c 20 73 74 61 74 65 2e 0a 3c 2f 70  lobal state..</p
0540: 3e 0a 0a 3c 70 3e 0a 45 61 63 68 20 61 72 74 69  >..<p>.Each arti
0550: 66 61 63 74 20 69 6e 20 74 68 65 20 72 65 70 6f  fact in the repo
0560: 73 69 74 6f 72 79 20 69 73 20 6e 61 6d 65 64 20  sitory is named 
0570: 62 79 20 69 74 73 20 53 48 41 31 20 68 61 73 68  by its SHA1 hash
0580: 2e 0a 4e 6f 20 70 72 65 66 69 78 65 73 20 6f 72  ..No prefixes or
0590: 20 6d 65 74 61 20 69 6e 66 6f 72 6d 61 74 69 6f   meta informatio
05a0: 6e 20 69 73 20 61 64 64 65 64 20 74 6f 20 61 20  n is added to a 
05b0: 61 72 74 69 66 61 63 74 20 62 65 66 6f 72 65 0a  artifact before.
05c0: 69 74 73 20 68 61 73 68 20 69 73 20 63 6f 6d 70  its hash is comp
05d0: 75 74 65 64 2e 20 20 54 68 65 20 6e 61 6d 65 20  uted.  The name 
05e0: 6f 66 20 61 20 61 72 74 69 66 61 63 74 20 69 6e  of a artifact in
05f0: 20 74 68 65 20 72 65 70 6f 73 69 74 6f 72 79 0a   the repository.
0600: 69 73 20 65 78 61 63 74 6c 79 20 74 68 65 20 73  is exactly the s
0610: 61 6d 65 20 53 48 41 31 20 68 61 73 68 20 74 68  ame SHA1 hash th
0620: 61 74 20 69 73 20 63 6f 6d 70 75 74 65 64 20 62  at is computed b
0630: 79 20 73 68 61 31 73 75 6d 20 0a 6f 6e 20 74 68  y sha1sum .on th
0640: 65 20 66 69 6c 65 20 61 73 20 69 74 20 65 78 69  e file as it exi
0650: 73 74 73 20 69 6e 20 79 6f 75 72 20 73 6f 75 72  sts in your sour
0660: 63 65 20 74 72 65 65 2e 3c 2f 70 3e 0a 0a 3c 70  ce tree.</p>..<p
0670: 3e 0a 53 6f 6d 65 20 61 72 74 69 66 61 63 74 73  >.Some artifacts
0680: 20 68 61 76 65 20 61 20 70 61 72 74 69 63 75 6c   have a particul
0690: 61 72 20 66 6f 72 6d 61 74 20 77 68 69 63 68 20  ar format which 
06a0: 67 69 76 65 73 20 74 68 65 6d 20 73 70 65 63 69  gives them speci
06b0: 61 6c 0a 6d 65 61 6e 69 6e 67 20 74 6f 20 66 6f  al.meaning to fo
06c0: 73 73 69 6c 2e 20 20 46 6f 73 73 69 6c 20 72 65  ssil.  Fossil re
06d0: 63 6f 67 6e 69 7a 65 73 3a 3c 2f 70 3e 0a 0a 3c  cognizes:</p>..<
06e0: 75 6c 3e 0a 3c 6c 69 3e 20 4d 61 6e 69 66 65 73  ul>.<li> Manifes
06f0: 74 73 20 3c 2f 6c 69 3e 0a 3c 6c 69 3e 20 43 6c  ts </li>.<li> Cl
0700: 75 73 74 65 72 73 20 3c 2f 6c 69 3e 0a 3c 6c 69  usters </li>.<li
0710: 3e 20 43 6f 6e 74 72 6f 6c 20 41 72 74 69 66 61  > Control Artifa
0720: 63 74 73 20 3c 2f 6c 69 3e 0a 3c 6c 69 3e 20 57  cts </li>.<li> W
0730: 69 6b 69 20 50 61 67 65 73 20 3c 2f 6c 69 3e 0a  iki Pages </li>.
0740: 3c 6c 69 3e 20 54 69 63 6b 65 74 20 43 68 61 6e  <li> Ticket Chan
0750: 67 65 73 20 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a  ges </li>.</ul>.
0760: 0a 3c 70 3e 54 68 65 73 65 20 66 69 76 65 20 61  .<p>These five a
0770: 72 74 69 66 61 63 74 20 74 79 70 65 73 20 61 72  rtifact types ar
0780: 65 20 64 65 73 63 72 69 62 65 64 20 69 6e 20 74  e described in t
0790: 68 65 20 73 65 71 75 65 6c 2e 3c 2f 70 3e 0a 0a  he sequel.</p>..
07a0: 3c 70 3e 49 6e 20 74 68 65 20 63 75 72 72 65 6e  <p>In the curren
07b0: 74 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e  t implementation
07c0: 20 28 61 73 20 6f 66 20 32 30 30 39 2d 30 31 2d   (as of 2009-01-
07d0: 32 35 29 20 74 68 65 20 61 72 74 69 66 61 63 74  25) the artifact
07e0: 73 20 74 68 61 74 0a 6d 61 6b 65 20 75 70 20 61  s that.make up a
07f0: 20 66 6f 73 73 69 6c 20 72 65 70 6f 73 69 74 6f   fossil reposito
0800: 72 79 20 61 72 65 20 73 74 6f 72 65 64 20 69 6e  ry are stored in
0810: 20 69 6e 20 61 73 20 64 65 6c 74 61 2d 20 61 6e   in as delta- an
0820: 64 20 7a 6c 69 62 2d 63 6f 6d 70 72 65 73 73 65  d zlib-compresse
0830: 64 0a 62 6c 6f 62 73 20 69 6e 20 61 6e 20 3c 61  d.blobs in an <a
0840: 20 68 72 65 66 3d 22 68 74 74 70 3a 2f 2f 77 77   href="http://ww
0850: 77 2e 73 71 6c 69 74 65 2e 6f 72 67 2f 22 3e 53  w.sqlite.org/">S
0860: 51 4c 69 74 65 3c 2f 61 3e 20 64 61 74 61 62 61  QLite</a> databa
0870: 73 65 2e 20 20 54 68 69 73 0a 69 73 20 61 6e 20  se.  This.is an 
0880: 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 64  implementation d
0890: 65 74 61 69 6c 20 61 6e 64 20 6d 69 67 68 74 20  etail and might 
08a0: 63 68 61 6e 67 65 20 69 6e 20 61 20 66 75 74 75  change in a futu
08b0: 72 65 20 72 65 6c 65 61 73 65 2e 20 20 46 6f 72  re release.  For
08c0: 0a 74 68 65 20 70 75 72 70 6f 73 65 20 6f 66 20  .the purpose of 
08d0: 74 68 69 73 20 61 72 74 69 63 6c 65 20 22 66 69  this article "fi
08e0: 6c 65 20 66 6f 72 6d 61 74 22 20 6d 65 61 6e 73  le format" means
08f0: 20 74 68 65 20 66 6f 72 6d 61 74 20 6f 66 20 74   the format of t
0900: 68 65 20 61 72 74 69 66 61 63 74 73 2c 0a 6e 6f  he artifacts,.no
0910: 74 20 68 6f 77 20 74 68 65 20 61 72 74 69 66 61  t how the artifa
0920: 63 74 73 20 61 72 65 20 73 74 6f 72 65 64 20 6f  cts are stored o
0930: 6e 20 64 69 73 6b 2e 20 20 49 74 20 69 73 20 74  n disk.  It is t
0940: 68 65 20 61 72 74 69 66 61 63 74 20 66 6f 72 6d  he artifact form
0950: 61 74 20 74 68 61 74 0a 69 73 20 69 6e 74 65 6e  at that.is inten
0960: 64 65 64 20 74 6f 20 62 65 20 65 6e 64 75 72 69  ded to be enduri
0970: 6e 67 2e 20 20 54 68 65 20 73 70 65 63 69 66 69  ng.  The specifi
0980: 63 73 20 6f 66 20 68 6f 77 20 61 72 74 69 66 61  cs of how artifa
0990: 63 74 73 20 61 72 65 20 73 74 6f 72 65 64 20 6f  cts are stored o
09a0: 6e 0a 64 69 73 6b 2c 20 74 68 6f 75 67 68 20 73  n.disk, though s
09b0: 74 61 62 6c 65 2c 20 69 73 20 6e 6f 74 20 69 6e  table, is not in
09c0: 74 65 6e 64 65 64 20 74 6f 20 6c 69 76 65 20 61  tended to live a
09d0: 73 20 6c 6f 6e 67 20 61 73 20 74 68 65 0a 61 72  s long as the.ar
09e0: 74 69 66 61 63 74 20 66 6f 72 6d 61 74 2e 3c 2f  tifact format.</
09f0: 70 3e 0a 0a 3c 68 32 3e 31 2e 30 20 54 68 65 20  p>..<h2>1.0 The 
0a00: 4d 61 6e 69 66 65 73 74 3c 2f 68 32 3e 0a 0a 3c  Manifest</h2>..<
0a10: 70 3e 41 20 6d 61 6e 69 66 65 73 74 20 64 65 66  p>A manifest def
0a20: 69 6e 65 73 20 61 20 63 68 65 63 6b 2d 69 6e 20  ines a check-in 
0a30: 6f 72 20 76 65 72 73 69 6f 6e 20 6f 66 20 74 68  or version of th
0a40: 65 20 70 72 6f 6a 65 63 74 0a 73 6f 75 72 63 65  e project.source
0a50: 20 74 72 65 65 2e 20 20 54 68 65 20 6d 61 6e 69   tree.  The mani
0a60: 66 65 73 74 20 63 6f 6e 74 61 69 6e 73 20 61 20  fest contains a 
0a70: 6c 69 73 74 20 6f 66 20 61 72 74 69 66 61 63 74  list of artifact
0a80: 73 20 66 6f 72 0a 65 61 63 68 20 66 69 6c 65 20  s for.each file 
0a90: 69 6e 20 74 68 65 20 70 72 6f 6a 65 63 74 20 61  in the project a
0aa0: 6e 64 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e  nd the correspon
0ab0: 64 69 6e 67 20 66 69 6c 65 6e 61 6d 65 73 2c 20  ding filenames, 
0ac0: 61 73 0a 77 65 6c 6c 20 61 73 20 69 6e 66 6f 72  as.well as infor
0ad0: 6d 61 74 69 6f 6e 20 73 75 63 68 20 61 73 20 70  mation such as p
0ae0: 61 72 65 6e 74 20 63 68 65 63 6b 2d 69 6e 73 2c  arent check-ins,
0af0: 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65   the name of the
0b00: 0a 70 72 6f 67 72 61 6d 6d 65 72 20 77 68 6f 20  .programmer who 
0b10: 63 72 65 61 74 65 64 20 74 68 65 20 63 68 65 63  created the chec
0b20: 6b 2d 69 6e 2c 20 74 68 65 20 64 61 74 65 20 61  k-in, the date a
0b30: 6e 64 20 74 69 6d 65 20 77 68 65 6e 0a 74 68 65  nd time when.the
0b40: 20 63 68 65 63 6b 2d 69 6e 20 77 61 73 20 63 72   check-in was cr
0b50: 65 61 74 65 64 2c 20 61 6e 64 20 61 6e 79 20 63  eated, and any c
0b60: 68 65 63 6b 2d 69 6e 20 63 6f 6d 6d 65 6e 74 73  heck-in comments
0b70: 20 61 73 73 6f 63 69 61 74 65 64 0a 77 69 74 68   associated.with
0b80: 20 74 68 65 20 63 68 65 63 6b 2d 69 6e 2e 3c 2f   the check-in.</
0b90: 70 3e 0a 0a 3c 70 3e 0a 41 6e 79 20 61 72 74 69  p>..<p>.Any arti
0ba0: 66 61 63 74 20 69 6e 20 74 68 65 20 72 65 70 6f  fact in the repo
0bb0: 73 69 74 6f 72 79 20 74 68 61 74 20 66 6f 6c 6c  sitory that foll
0bc0: 6f 77 73 20 74 68 65 20 73 79 6e 74 61 63 74 69  ows the syntacti
0bd0: 63 20 72 75 6c 65 73 0a 6f 66 20 61 20 6d 61 6e  c rules.of a man
0be0: 69 66 65 73 74 20 69 73 20 61 20 6d 61 6e 69 66  ifest is a manif
0bf0: 65 73 74 2e 20 20 4e 6f 74 65 20 74 68 61 74 20  est.  Note that 
0c00: 61 20 6d 61 6e 69 66 65 73 74 20 63 61 6e 0a 62  a manifest can.b
0c10: 65 20 62 6f 74 68 20 61 20 72 65 61 6c 20 6d 61  e both a real ma
0c20: 6e 69 66 65 73 74 20 61 6e 64 20 61 6c 73 6f 20  nifest and also 
0c30: 61 20 63 6f 6e 74 65 6e 74 20 66 69 6c 65 2c 20  a content file, 
0c40: 74 68 6f 75 67 68 20 74 68 69 73 0a 69 73 20 72  though this.is r
0c50: 61 72 65 2e 0a 3c 2f 70 3e 0a 0a 3c 70 3e 0a 41  are..</p>..<p>.A
0c60: 20 6d 61 6e 69 66 65 73 74 20 69 73 20 61 20 74   manifest is a t
0c70: 65 78 74 20 66 69 6c 65 2e 20 20 4e 65 77 6c 69  ext file.  Newli
0c80: 6e 65 20 63 68 61 72 61 63 74 65 72 73 0a 28 41  ne characters.(A
0c90: 53 43 49 49 20 30 78 30 61 29 20 73 65 70 61 72  SCII 0x0a) separ
0ca0: 61 74 65 20 74 68 65 20 66 69 6c 65 20 69 6e 74  ate the file int
0cb0: 6f 20 22 63 61 72 64 73 22 2e 0a 45 61 63 68 20  o "cards"..Each 
0cc0: 63 61 72 64 20 62 65 67 69 6e 73 20 77 69 74 68  card begins with
0cd0: 20 61 20 73 69 6e 67 6c 65 0a 63 68 61 72 61 63   a single.charac
0ce0: 74 65 72 20 22 63 61 72 64 20 74 79 70 65 22 2e  ter "card type".
0cf0: 20 20 5a 65 72 6f 20 6f 72 20 6d 6f 72 65 20 61    Zero or more a
0d00: 72 67 75 6d 65 6e 74 73 20 6d 61 79 20 66 6f 6c  rguments may fol
0d10: 6c 6f 77 0a 74 68 65 20 63 61 72 64 20 74 79 70  low.the card typ
0d20: 65 2e 20 20 41 6c 6c 20 61 72 67 75 6d 65 6e 74  e.  All argument
0d30: 73 20 61 72 65 20 73 65 70 61 72 61 74 65 64 20  s are separated 
0d40: 66 72 6f 6d 20 65 61 63 68 20 6f 74 68 65 72 0a  from each other.
0d50: 61 6e 64 20 66 72 6f 6d 20 74 68 65 20 63 61 72  and from the car
0d60: 64 2d 74 79 70 65 20 63 68 61 72 61 63 74 65 72  d-type character
0d70: 20 62 79 20 61 20 73 69 6e 67 6c 65 20 73 70 61   by a single spa
0d80: 63 65 0a 63 68 61 72 61 63 74 65 72 2e 20 20 54  ce.character.  T
0d90: 68 65 72 65 20 69 73 20 6e 6f 20 73 75 72 70 6c  here is no surpl
0da0: 75 73 20 77 68 69 74 65 20 73 70 61 63 65 20 62  us white space b
0db0: 65 74 77 65 65 6e 20 61 72 67 75 6d 65 6e 74 73  etween arguments
0dc0: 0a 61 6e 64 20 6e 6f 20 6c 65 61 64 69 6e 67 20  .and no leading 
0dd0: 6f 72 20 74 72 61 69 6c 69 6e 67 20 77 68 69 74  or trailing whit
0de0: 65 73 70 61 63 65 20 65 78 63 65 70 74 20 66 6f  espace except fo
0df0: 72 20 74 68 65 20 6e 65 77 6c 69 6e 65 20 0a 63  r the newline .c
0e00: 68 61 72 61 63 74 65 72 20 74 68 61 74 20 61 63  haracter that ac
0e10: 74 73 20 61 73 20 74 68 65 20 63 61 72 64 20 73  ts as the card s
0e20: 65 70 61 72 61 74 6f 72 2e 0a 3c 2f 70 3e 0a 0a  eparator..</p>..
0e30: 3c 70 3e 0a 41 6c 6c 20 63 61 72 64 73 20 6f 66  <p>.All cards of
0e40: 20 74 68 65 20 6d 61 6e 69 66 65 73 74 20 6f 63   the manifest oc
0e50: 63 75 72 20 69 6e 20 73 74 72 69 63 74 20 73 6f  cur in strict so
0e60: 72 74 65 64 20 6c 65 78 69 63 6f 67 72 61 70 68  rted lexicograph
0e70: 69 63 61 6c 20 6f 72 64 65 72 2e 0a 4e 6f 20 63  ical order..No c
0e80: 61 72 64 20 6d 61 79 20 62 65 20 64 75 70 6c 69  ard may be dupli
0e90: 63 61 74 65 64 2e 0a 54 68 65 20 65 6e 74 69 72  cated..The entir
0ea0: 65 20 6d 61 6e 69 66 65 73 74 20 6d 61 79 20 62  e manifest may b
0eb0: 65 20 50 47 50 20 63 6c 65 61 72 2d 73 69 67 6e  e PGP clear-sign
0ec0: 65 64 2c 20 62 75 74 20 6f 74 68 65 72 77 69 73  ed, but otherwis
0ed0: 65 20 69 74 0a 6d 61 79 20 63 6f 6e 74 61 69 6e  e it.may contain
0ee0: 20 6e 6f 20 61 64 64 69 74 69 6f 6e 61 6c 20 74   no additional t
0ef0: 65 78 74 20 6f 72 20 64 61 74 61 20 62 65 79 6f  ext or data beyo
0f00: 6e 64 20 77 68 61 74 20 69 73 20 64 65 73 63 72  nd what is descr
0f10: 69 62 65 64 20 68 65 72 65 2e 0a 3c 2f 70 3e 0a  ibed here..</p>.
0f20: 0a 3c 70 3e 0a 41 6c 6c 6f 77 65 64 20 63 61 72  .<p>.Allowed car
0f30: 64 73 20 69 6e 20 74 68 65 20 6d 61 6e 69 66 65  ds in the manife
0f40: 73 74 20 61 72 65 20 61 73 20 66 6f 6c 6c 6f 77  st are as follow
0f50: 73 3a 0a 3c 2f 70 3e 0a 0a 3c 62 6c 6f 63 6b 71  s:.</p>..<blockq
0f60: 75 6f 74 65 3e 0a 3c 62 3e 43 3c 2f 62 3e 20 3c  uote>.<b>C</b> <
0f70: 69 3e 63 68 65 63 6b 69 6e 2d 63 6f 6d 6d 65 6e  i>checkin-commen
0f80: 74 3c 2f 69 3e 3c 62 72 3e 0a 3c 62 3e 44 3c 2f  t</i><br>.<b>D</
0f90: 62 3e 20 3c 69 3e 74 69 6d 65 2d 61 6e 64 2d 64  b> <i>time-and-d
0fa0: 61 74 65 2d 73 74 61 6d 70 3c 2f 69 3e 3c 62 72  ate-stamp</i><br
0fb0: 3e 0a 3c 62 3e 46 3c 2f 62 3e 20 3c 69 3e 66 69  >.<b>F</b> <i>fi
0fc0: 6c 65 6e 61 6d 65 3c 2f 69 3e 20 3c 69 3e 53 48  lename</i> <i>SH
0fd0: 41 31 2d 68 61 73 68 3c 2f 69 3e 20 3c 69 3e 70  A1-hash</i> <i>p
0fe0: 65 72 6d 69 73 73 69 6f 6e 73 3c 2f 69 3e 20 3c  ermissions</i> <
0ff0: 69 3e 6f 6c 64 2d 6e 61 6d 65 3c 2f 69 3e 3c 62  i>old-name</i><b
1000: 72 3e 0a 3c 62 3e 50 3c 2f 62 3e 20 3c 69 3e 53  r>.<b>P</b> <i>S
1010: 48 41 31 2d 68 61 73 68 3c 2f 69 3e 2b 3c 62 72  HA1-hash</i>+<br
1020: 3e 0a 3c 62 3e 52 3c 2f 62 3e 20 3c 69 3e 72 65  >.<b>R</b> <i>re
1030: 70 6f 73 69 74 6f 72 79 2d 63 68 65 63 6b 73 75  pository-checksu
1040: 6d 3c 2f 69 3e 3c 62 72 3e 0a 3c 62 3e 54 3c 2f  m</i><br>.<b>T</
1050: 62 3e 20 28 3c 62 3e 2b 3c 2f 62 3e 7c 3c 62 3e  b> (<b>+</b>|<b>
1060: 2d 3c 2f 62 3e 7c 3c 62 3e 2a 3c 2f 62 3e 29 3c  -</b>|<b>*</b>)<
1070: 69 3e 74 61 67 2d 6e 61 6d 65 20 20 3c 62 3e 2a  i>tag-name  <b>*
1080: 3c 2f 62 3e 20 3f 76 61 6c 75 65 3f 3c 2f 69 3e  </b> ?value?</i>
1090: 3c 62 72 3e 0a 3c 62 3e 55 3c 2f 62 3e 20 3c 69  <br>.<b>U</b> <i
10a0: 3e 75 73 65 72 2d 6c 6f 67 69 6e 3c 2f 69 3e 3c  >user-login</i><
10b0: 62 72 3e 0a 3c 62 3e 5a 3c 2f 62 3e 20 3c 69 3e  br>.<b>Z</b> <i>
10c0: 6d 61 6e 69 66 65 73 74 2d 63 68 65 63 6b 73 75  manifest-checksu
10d0: 6d 3c 2f 69 3e 0a 3c 2f 62 6c 6f 63 6b 71 75 6f  m</i>.</blockquo
10e0: 74 65 3e 0a 0a 3c 70 3e 0a 41 20 6d 61 6e 69 66  te>..<p>.A manif
10f0: 65 73 74 20 6d 75 73 74 20 68 61 76 65 20 65 78  est must have ex
1100: 61 63 74 6c 79 20 6f 6e 65 20 43 2d 63 61 72 64  actly one C-card
1110: 2e 20 20 54 68 65 20 73 6f 6c 65 20 61 72 67 75  .  The sole argu
1120: 6d 65 6e 74 20 74 6f 0a 74 68 65 20 43 2d 63 61  ment to.the C-ca
1130: 72 64 20 69 73 20 61 20 63 68 65 63 6b 2d 69 6e  rd is a check-in
1140: 20 63 6f 6d 6d 65 6e 74 20 74 68 61 74 20 64 65   comment that de
1150: 73 63 72 69 62 65 73 20 74 68 65 20 63 68 65 63  scribes the chec
1160: 6b 2d 69 6e 20 74 68 61 74 0a 74 68 65 20 6d 61  k-in that.the ma
1170: 6e 69 66 65 73 74 20 64 65 66 69 6e 65 73 2e 20  nifest defines. 
1180: 20 54 68 65 20 63 68 65 63 6b 2d 69 6e 20 63 6f   The check-in co
1190: 6d 6d 65 6e 74 20 69 73 20 74 65 78 74 2e 20 20  mment is text.  
11a0: 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 0a 65 73  The following.es
11b0: 63 61 70 65 20 73 65 71 75 65 6e 63 65 73 20 61  cape sequences a
11c0: 72 65 20 61 70 70 6c 69 65 64 20 74 6f 20 74 68  re applied to th
11d0: 65 20 74 65 78 74 3a 0a 41 20 73 70 61 63 65 20  e text:.A space 
11e0: 28 41 53 43 49 49 20 30 78 32 30 29 20 69 73 20  (ASCII 0x20) is 
11f0: 72 65 70 72 65 73 65 6e 74 65 64 20 61 73 20 22  represented as "
1200: 5c 73 22 20 28 41 53 43 49 49 20 30 78 35 43 2c  \s" (ASCII 0x5C,
1210: 20 30 78 37 33 29 2e 20 20 41 0a 6e 65 77 6c 69   0x73).  A.newli
1220: 6e 65 20 28 41 53 43 49 49 20 30 78 30 61 29 20  ne (ASCII 0x0a) 
1230: 69 73 20 22 5c 6e 22 20 28 41 53 43 49 49 20 30  is "\n" (ASCII 0
1240: 78 36 43 2c 20 78 36 45 29 2e 20 20 41 20 62 61  x6C, x6E).  A ba
1250: 63 6b 73 6c 61 73 68 20 0a 28 41 53 43 49 49 20  ckslash .(ASCII 
1260: 30 78 35 43 29 20 69 73 20 72 65 70 72 65 73 65  0x5C) is represe
1270: 6e 74 65 64 20 61 73 20 74 77 6f 20 62 61 63 6b  nted as two back
1280: 73 6c 61 73 68 65 73 20 22 5c 5c 22 2e 20 20 41  slashes "\\".  A
1290: 70 61 72 74 20 66 72 6f 6d 0a 73 70 61 63 65 20  part from.space 
12a0: 61 6e 64 20 6e 65 77 6c 69 6e 65 2c 20 6e 6f 20  and newline, no 
12b0: 6f 74 68 65 72 20 77 68 69 74 65 73 70 61 63 65  other whitespace
12c0: 20 63 68 61 72 61 63 74 65 72 73 20 61 72 65 20   characters are 
12d0: 61 6c 6c 6f 77 65 64 20 69 6e 0a 74 68 65 20 63  allowed in.the c
12e0: 68 65 63 6b 2d 69 6e 20 63 6f 6d 6d 65 6e 74 2e  heck-in comment.
12f0: 20 20 4e 6f 72 20 61 72 65 20 61 6e 79 20 75 6e    Nor are any un
1300: 70 72 69 6e 74 61 62 6c 65 20 63 68 61 72 61 63  printable charac
1310: 74 65 72 73 20 61 6c 6c 6f 77 65 64 0a 69 6e 20  ters allowed.in 
1320: 74 68 65 20 63 6f 6d 6d 65 6e 74 2e 0a 3c 2f 70  the comment..</p
1330: 3e 0a 0a 3c 70 3e 0a 41 20 6d 61 6e 69 66 65 73  >..<p>.A manifes
1340: 74 20 6d 75 73 74 20 68 61 76 65 20 65 78 61 63  t must have exac
1350: 74 6c 79 20 6f 6e 65 20 44 2d 63 61 72 64 2e 20  tly one D-card. 
1360: 20 54 68 65 20 73 6f 6c 65 20 61 72 67 75 6d 65   The sole argume
1370: 6e 74 20 74 6f 0a 74 68 65 20 44 2d 63 61 72 64  nt to.the D-card
1380: 20 69 73 20 61 20 64 61 74 65 2d 74 69 6d 65 20   is a date-time 
1390: 73 74 61 6d 70 20 69 6e 20 74 68 65 20 49 53 4f  stamp in the ISO
13a0: 38 36 30 31 20 66 6f 72 6d 61 74 2e 20 20 54 68  8601 format.  Th
13b0: 65 0a 64 61 74 65 20 61 6e 64 20 74 69 6d 65 20  e.date and time 
13c0: 73 68 6f 75 6c 64 20 62 65 20 69 6e 20 63 6f 6f  should be in coo
13d0: 72 64 69 6e 61 74 65 64 20 75 6e 69 76 65 72 73  rdinated univers
13e0: 61 6c 20 74 69 6d 65 20 28 55 54 43 29 2e 0a 54  al time (UTC)..T
13f0: 68 65 20 66 6f 72 6d 61 74 20 69 73 3a 0a 3c 2f  he format is:.</
1400: 70 3e 0a 0a 3c 62 6c 6f 63 6b 71 75 6f 74 65 3e  p>..<blockquote>
1410: 0a 3c 69 3e 59 59 59 59 3c 2f 69 3e 3c 62 3e 2d  .<i>YYYY</i><b>-
1420: 3c 2f 62 3e 3c 69 3e 4d 4d 3c 2f 69 3e 3c 62 3e  </b><i>MM</i><b>
1430: 2d 3c 2f 62 3e 3c 69 3e 44 44 3c 2f 69 3e 3c 62  -</b><i>DD</i><b
1440: 3e 54 3c 2f 62 3e 3c 69 3e 48 48 3c 2f 69 3e 3c  >T</b><i>HH</i><
1450: 62 3e 3a 3c 2f 62 3e 3c 69 3e 4d 4d 3c 2f 69 3e  b>:</b><i>MM</i>
1460: 3c 62 3e 3a 3c 2f 62 3e 3c 69 3e 53 53 3c 2f 69  <b>:</b><i>SS</i
1470: 3e 0a 3c 2f 62 6c 6f 63 6b 71 75 6f 74 65 3e 0a  >.</blockquote>.
1480: 0a 3c 70 3e 0a 41 20 6d 61 6e 69 66 65 73 74 20  .<p>.A manifest 
1490: 68 61 73 20 7a 65 72 6f 20 6f 72 20 6d 6f 72 65  has zero or more
14a0: 20 46 2d 63 61 72 64 73 2e 20 20 45 61 63 68 20   F-cards.  Each 
14b0: 46 2d 63 61 72 64 20 64 65 66 69 6e 65 73 20 61  F-card defines a
14c0: 20 66 69 6c 65 0a 28 6f 74 68 65 72 20 74 68 61   file.(other tha
14d0: 6e 20 74 68 65 20 6d 61 6e 69 66 65 73 74 20 69  n the manifest i
14e0: 74 73 65 6c 66 29 20 77 68 69 63 68 20 69 73 20  tself) which is 
14f0: 70 61 72 74 20 6f 66 20 74 68 65 20 63 68 65 63  part of the chec
1500: 6b 2d 69 6e 20 74 68 61 74 0a 74 68 65 20 6d 61  k-in that.the ma
1510: 6e 69 66 65 73 74 20 64 65 66 69 6e 65 73 2e 20  nifest defines. 
1520: 20 54 68 65 72 65 20 61 72 65 20 74 77 6f 2c 20   There are two, 
1530: 74 68 72 65 65 2c 20 6f 72 20 66 6f 75 72 20 61  three, or four a
1540: 72 67 75 6d 65 6e 74 73 2e 0a 54 68 65 20 66 69  rguments..The fi
1550: 72 73 74 20 61 72 67 75 6d 65 6e 74 0a 69 73 20  rst argument.is 
1560: 74 68 65 20 70 61 74 68 6e 61 6d 65 20 6f 66 20  the pathname of 
1570: 74 68 65 20 66 69 6c 65 20 69 6e 20 74 68 65 20  the file in the 
1580: 63 68 65 63 6b 2d 69 6e 20 72 65 6c 61 74 69 76  check-in relativ
1590: 65 20 74 6f 20 74 68 65 20 72 6f 6f 74 0a 6f 66  e to the root.of
15a0: 20 74 68 65 20 70 72 6f 6a 65 63 74 20 66 69 6c   the project fil
15b0: 65 20 68 69 65 72 61 72 63 68 79 2e 20 20 4e 6f  e hierarchy.  No
15c0: 20 22 2e 2e 22 20 6f 72 20 22 2e 22 20 64 69 72   ".." or "." dir
15d0: 65 63 74 6f 72 69 65 73 20 61 72 65 20 61 6c 6c  ectories are all
15e0: 6f 77 65 64 0a 77 69 74 68 69 6e 20 74 68 65 20  owed.within the 
15f0: 66 69 6c 65 6e 61 6d 65 2e 20 20 53 70 61 63 65  filename.  Space
1600: 20 63 68 61 72 61 63 74 65 72 73 20 61 72 65 20   characters are 
1610: 65 73 63 61 70 65 64 20 61 73 20 69 6e 20 43 2d  escaped as in C-
1620: 63 61 72 64 0a 63 6f 6d 6d 65 6e 74 20 74 65 78  card.comment tex
1630: 74 2e 20 20 42 61 63 6b 73 6c 61 73 68 20 63 68  t.  Backslash ch
1640: 61 72 61 63 74 65 72 73 20 61 6e 64 20 6e 65 77  aracters and new
1650: 6c 69 6e 65 73 20 61 72 65 20 6e 6f 74 20 61 6c  lines are not al
1660: 6c 6f 77 65 64 0a 77 69 74 68 69 6e 20 66 69 6c  lowed.within fil
1670: 65 6e 61 6d 65 73 2e 20 20 54 68 65 20 64 69 72  enames.  The dir
1680: 65 63 74 6f 72 79 20 73 65 70 61 72 61 74 6f 72  ectory separator
1690: 20 63 68 61 72 61 63 74 65 72 20 69 73 20 61 20   character is a 
16a0: 66 6f 72 77 61 72 64 0a 73 6c 61 73 68 20 28 41  forward.slash (A
16b0: 53 43 49 49 20 30 78 32 46 29 2e 20 20 54 68 65  SCII 0x2F).  The
16c0: 20 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e 74   second argument
16d0: 20 74 6f 20 74 68 65 20 46 2d 63 61 72 64 20 69   to the F-card i
16e0: 73 20 74 68 65 0a 66 75 6c 6c 20 34 30 2d 63 68  s the.full 40-ch
16f0: 61 72 61 63 74 65 72 20 6c 6f 77 65 72 2d 63 61  aracter lower-ca
1700: 73 65 20 68 65 78 61 64 65 63 69 6d 61 6c 20 53  se hexadecimal S
1710: 48 41 31 20 68 61 73 68 20 6f 66 20 74 68 65 20  HA1 hash of the 
1720: 63 6f 6e 74 65 6e 74 0a 61 72 74 69 66 61 63 74  content.artifact
1730: 2e 20 20 54 68 65 20 6f 70 74 69 6f 6e 61 6c 20  .  The optional 
1740: 33 72 64 20 61 72 67 75 6d 65 6e 74 20 64 65 66  3rd argument def
1750: 69 6e 65 73 20 61 6e 79 20 73 70 65 63 69 61 6c  ines any special
1760: 20 61 63 63 65 73 73 20 0a 70 65 72 6d 69 73 73   access .permiss
1770: 69 6f 6e 73 20 61 73 73 6f 63 69 61 74 65 64 20  ions associated 
1780: 77 69 74 68 20 74 68 65 20 66 69 6c 65 2e 20 20  with the file.  
1790: 54 68 65 20 6f 6e 6c 79 20 73 70 65 63 69 61 6c  The only special
17a0: 20 63 6f 64 65 20 63 75 72 72 65 6e 74 6c 79 0a   code currently.
17b0: 64 65 66 69 6e 65 64 20 69 73 20 22 78 22 20 77  defined is "x" w
17c0: 68 69 63 68 20 6d 65 61 6e 73 20 74 68 61 74 20  hich means that 
17d0: 74 68 65 20 66 69 6c 65 20 69 73 20 65 78 65 63  the file is exec
17e0: 75 74 61 62 6c 65 2e 20 20 41 6c 6c 20 66 69 6c  utable.  All fil
17f0: 65 73 20 61 72 65 0a 61 6c 77 61 79 73 20 72 65  es are.always re
1800: 61 64 61 62 6c 65 20 61 6e 64 20 77 72 69 74 61  adable and writa
1810: 62 6c 65 2e 20 20 54 68 69 73 20 63 61 6e 20 62  ble.  This can b
1820: 65 20 65 78 70 72 65 73 73 65 64 20 62 79 20 22  e expressed by "
1830: 77 22 20 70 65 72 6d 69 73 73 69 6f 6e 0a 69 66  w" permission.if
1840: 20 64 65 73 69 72 65 64 20 62 75 74 20 69 73 20   desired but is 
1850: 6f 70 74 69 6f 6e 61 6c 2e 0a 54 68 65 20 6f 70  optional..The op
1860: 74 69 6f 6e 61 6c 20 34 74 68 20 61 72 67 75 6d  tional 4th argum
1870: 65 6e 74 20 69 73 20 74 68 65 20 6e 61 6d 65 20  ent is the name 
1880: 6f 66 20 74 68 65 20 73 61 6d 65 20 66 69 6c 65  of the same file
1890: 20 61 73 20 69 74 20 65 78 69 73 74 65 64 20 69   as it existed i
18a0: 6e 0a 74 68 65 20 70 61 72 65 6e 74 20 63 68 65  n.the parent che
18b0: 63 6b 2d 69 6e 2e 20 20 49 66 20 74 68 65 20 6e  ck-in.  If the n
18c0: 61 6d 65 20 6f 66 20 74 68 65 20 66 69 6c 65 20  ame of the file 
18d0: 69 73 20 75 6e 63 68 61 6e 67 65 64 20 66 72 6f  is unchanged fro
18e0: 6d 20 69 74 73 0a 70 61 72 65 6e 74 2c 20 74 68  m its.parent, th
18f0: 65 6e 20 74 68 65 20 34 74 68 20 61 72 67 75 6d  en the 4th argum
1900: 65 6e 74 20 69 73 20 6f 6d 69 74 74 65 64 2e 0a  ent is omitted..
1910: 3c 2f 70 3e 0a 0a 3c 70 3e 0a 41 20 6d 61 6e 69  </p>..<p>.A mani
1920: 66 65 73 74 20 68 61 73 20 7a 65 72 6f 20 6f 72  fest has zero or
1930: 20 6f 6e 65 20 50 2d 63 61 72 64 73 2e 20 20 4d   one P-cards.  M
1940: 6f 73 74 20 6d 61 6e 69 66 65 73 74 73 20 68 61  ost manifests ha
1950: 76 65 20 6f 6e 65 20 50 2d 63 61 72 64 2e 0a 54  ve one P-card..T
1960: 68 65 20 50 2d 63 61 72 64 20 68 61 73 20 61 20  he P-card has a 
1970: 76 61 72 79 69 6e 67 20 6e 75 6d 62 65 72 20 6f  varying number o
1980: 66 20 61 72 67 75 6d 65 6e 74 73 20 74 68 61 74  f arguments that
1990: 0a 64 65 66 69 6e 65 73 20 6f 74 68 65 72 20 6d  .defines other m
19a0: 61 6e 69 66 65 73 74 73 20 66 72 6f 6d 20 77 68  anifests from wh
19b0: 69 63 68 20 74 68 65 20 63 75 72 72 65 6e 74 20  ich the current 
19c0: 6d 61 6e 69 66 65 73 74 0a 69 73 20 64 65 72 69  manifest.is deri
19d0: 76 65 64 2e 20 20 45 61 63 68 20 61 72 67 75 6d  ved.  Each argum
19e0: 65 6e 74 20 69 73 20 61 6e 20 34 30 2d 63 68 61  ent is an 40-cha
19f0: 72 61 63 74 65 72 20 6c 6f 77 65 72 63 61 73 65  racter lowercase
1a00: 20 0a 68 65 78 61 64 65 63 69 6d 61 6c 20 53 48   .hexadecimal SH
1a10: 41 31 20 6f 66 20 74 68 65 20 70 72 65 64 65 63  A1 of the predec
1a20: 65 73 73 6f 72 20 6d 61 6e 69 66 65 73 74 2e 20  essor manifest. 
1a30: 20 41 6c 6c 20 61 72 67 75 6d 65 6e 74 73 0a 74   All arguments.t
1a40: 6f 20 74 68 65 20 50 2d 63 61 72 64 20 6d 75 73  o the P-card mus
1a50: 74 20 62 65 20 75 6e 69 71 75 65 20 74 6f 20 74  t be unique to t
1a60: 68 61 74 20 6c 69 6e 65 2e 0a 54 68 65 20 66 69  hat line..The fi
1a70: 72 73 74 20 70 72 65 64 65 63 65 73 73 6f 72 20  rst predecessor 
1a80: 69 73 20 74 68 65 20 64 69 72 65 63 74 20 61 6e  is the direct an
1a90: 63 65 73 74 6f 72 20 6f 66 20 74 68 65 20 6d 61  cestor of the ma
1aa0: 6e 69 66 65 73 74 2e 0a 4f 74 68 65 72 20 61 72  nifest..Other ar
1ab0: 67 75 6d 65 6e 74 73 20 64 65 66 69 6e 65 20 6d  guments define m
1ac0: 61 6e 69 66 65 73 74 73 20 77 69 74 68 20 77 68  anifests with wh
1ad0: 69 63 68 20 74 68 65 20 66 69 72 73 74 20 77 61  ich the first wa
1ae0: 73 0a 6d 65 72 67 65 64 20 74 6f 20 79 69 65 6c  s.merged to yiel
1af0: 64 20 74 68 65 20 63 75 72 72 65 6e 74 20 6d 61  d the current ma
1b00: 6e 69 66 65 73 74 2e 20 20 4d 6f 73 74 20 6d 61  nifest.  Most ma
1b10: 6e 69 66 65 73 74 73 20 68 61 76 65 0a 61 20 50  nifests have.a P
1b20: 2d 63 61 72 64 20 77 69 74 68 20 61 20 73 69 6e  -card with a sin
1b30: 67 6c 65 20 61 72 67 75 6d 65 6e 74 2e 20 20 54  gle argument.  T
1b40: 68 65 20 66 69 72 73 74 20 6d 61 6e 69 66 65 73  he first manifes
1b50: 74 20 69 6e 20 74 68 65 0a 70 72 6f 6a 65 63 74  t in the.project
1b60: 20 68 61 73 20 6e 6f 20 61 6e 63 65 73 74 6f 72   has no ancestor
1b70: 73 20 61 6e 64 20 74 68 75 73 20 68 61 73 20 6e  s and thus has n
1b80: 6f 20 50 2d 63 61 72 64 2e 0a 3c 2f 70 3e 0a 0a  o P-card..</p>..
1b90: 3c 70 3e 0a 41 20 6d 61 6e 69 66 65 73 74 20 6d  <p>.A manifest m
1ba0: 61 79 20 6f 70 74 69 6f 6e 61 6c 6c 79 20 68 61  ay optionally ha
1bb0: 76 65 20 61 20 73 69 6e 67 6c 65 20 52 2d 63 61  ve a single R-ca
1bc0: 72 64 2e 20 20 54 68 65 20 52 2d 63 61 72 64 20  rd.  The R-card 
1bd0: 68 61 73 0a 61 20 73 69 6e 67 6c 65 20 61 72 67  has.a single arg
1be0: 75 6d 65 6e 74 20 77 68 69 63 68 20 69 73 20 74  ument which is t
1bf0: 68 65 20 4d 44 35 20 63 68 65 63 6b 73 75 6d 20  he MD5 checksum 
1c00: 6f 66 20 61 6c 6c 20 66 69 6c 65 73 20 69 6e 20  of all files in 
1c10: 0a 74 68 65 20 63 68 65 63 6b 2d 69 6e 20 65 78  .the check-in ex
1c20: 63 65 70 74 20 74 68 65 20 6d 61 6e 69 66 65 73  cept the manifes
1c30: 74 20 69 74 73 65 6c 66 2e 20 20 54 68 65 20 63  t itself.  The c
1c40: 68 65 63 6b 73 75 6d 20 69 73 20 65 78 70 72 65  hecksum is expre
1c50: 73 73 65 64 0a 61 73 20 33 32 2d 63 68 61 72 61  ssed.as 32-chara
1c60: 63 74 65 72 73 20 6f 66 20 6c 6f 77 65 72 63 61  cters of lowerca
1c70: 73 65 20 68 65 78 61 64 65 63 69 6d 61 6c 2e 20  se hexadecimal. 
1c80: 20 20 54 68 65 20 63 68 65 63 6b 73 75 6d 20 69    The checksum i
1c90: 73 0a 63 6f 6d 70 75 74 65 64 20 61 73 20 66 6f  s.computed as fo
1ca0: 6c 6c 6f 77 73 3a 20 20 46 6f 72 20 65 61 63 68  llows:  For each
1cb0: 20 66 69 6c 65 20 69 6e 20 74 68 65 20 63 68 65   file in the che
1cc0: 63 6b 2d 69 6e 20 28 65 78 63 65 70 74 20 66 6f  ck-in (except fo
1cd0: 72 0a 74 68 65 20 6d 61 6e 69 66 65 73 74 20 69  r.the manifest i
1ce0: 74 73 65 6c 66 29 20 69 6e 20 73 74 72 69 63 74  tself) in strict
1cf0: 20 73 6f 72 74 65 64 20 6c 65 78 69 63 6f 67 72   sorted lexicogr
1d00: 61 70 68 69 63 61 6c 20 6f 72 64 65 72 2c 20 0a  aphical order, .
1d10: 74 61 6b 65 20 74 68 65 20 70 61 74 68 6e 61 6d  take the pathnam
1d20: 65 20 6f 66 20 74 68 65 20 66 69 6c 65 20 72 65  e of the file re
1d30: 6c 61 74 69 76 65 20 74 6f 20 74 68 65 20 72 6f  lative to the ro
1d40: 6f 74 20 6f 66 20 74 68 65 0a 72 65 70 6f 73 69  ot of the.reposi
1d50: 74 6f 72 79 2c 20 61 70 70 65 6e 64 20 61 20 73  tory, append a s
1d60: 69 6e 67 6c 65 20 73 70 61 63 65 20 28 41 53 43  ingle space (ASC
1d70: 49 49 20 30 78 32 30 29 2c 20 74 68 65 0a 73 69  II 0x20), the.si
1d80: 7a 65 20 6f 66 20 74 68 65 20 66 69 6c 65 20 69  ze of the file i
1d90: 6e 20 41 53 43 49 49 20 64 65 63 69 6d 61 6c 2c  n ASCII decimal,
1da0: 20 61 20 73 69 6e 67 6c 65 20 6e 65 77 6c 69 6e   a single newlin
1db0: 65 0a 63 68 61 72 61 63 74 65 72 20 28 41 53 43  e.character (ASC
1dc0: 49 49 20 30 78 30 41 29 2c 20 61 6e 64 20 74 68  II 0x0A), and th
1dd0: 65 20 63 6f 6d 70 6c 65 74 65 20 74 65 78 74 20  e complete text 
1de0: 6f 66 20 74 68 65 20 66 69 6c 65 2e 0a 43 6f 6d  of the file..Com
1df0: 70 75 74 65 20 74 68 65 20 4d 44 35 20 63 68 65  pute the MD5 che
1e00: 63 6b 73 75 6d 20 6f 66 20 74 68 65 20 74 68 65  cksum of the the
1e10: 20 72 65 73 75 6c 74 2e 0a 3c 2f 70 3e 0a 0a 3c   result..</p>..<
1e20: 70 3e 0a 41 20 6d 61 6e 69 66 65 73 74 20 6d 69  p>.A manifest mi
1e30: 67 68 74 20 63 6f 6e 74 61 69 6e 20 6f 6e 65 20  ght contain one 
1e40: 6f 72 20 6d 6f 72 65 20 54 2d 63 61 72 64 73 20  or more T-cards 
1e50: 75 73 65 64 20 74 6f 20 73 65 74 20 74 61 67 73  used to set tags
1e60: 20 6f 72 0a 70 72 6f 70 65 72 74 69 65 73 20 6f   or.properties o
1e70: 6e 20 74 68 65 20 63 68 65 63 6b 2d 69 6e 2e 20  n the check-in. 
1e80: 20 54 68 65 20 66 6f 72 6d 61 74 20 6f 66 20 74   The format of t
1e90: 68 65 20 54 2d 63 61 72 64 20 69 73 20 74 68 65  he T-card is the
1ea0: 20 73 61 6d 65 20 61 73 0a 64 65 73 63 72 69 62   same as.describ
1eb0: 65 64 20 69 6e 20 3c 69 3e 43 6f 6e 74 72 6f 6c  ed in <i>Control
1ec0: 20 41 72 74 69 66 61 63 74 73 3c 2f 69 3e 20 73   Artifacts</i> s
1ed0: 65 63 74 69 6f 6e 20 62 65 6c 6f 77 2c 20 65 78  ection below, ex
1ee0: 63 65 70 74 20 74 68 61 74 20 74 68 65 0a 73 65  cept that the.se
1ef0: 63 6f 6e 64 20 61 72 67 75 6d 65 6e 74 20 69 73  cond argument is
1f00: 20 74 68 65 20 73 69 6e 67 6c 65 20 63 68 61 72   the single char
1f10: 61 63 63 74 65 72 20 22 3c 62 3e 2a 3c 2f 62 3e  accter "<b>*</b>
1f20: 22 20 69 6e 73 74 65 61 64 20 6f 66 20 61 6e 0a  " instead of an.
1f30: 61 72 74 69 66 61 63 74 20 49 44 2e 20 20 54 68  artifact ID.  Th
1f40: 65 20 3c 62 3e 2a 3c 2f 62 3e 20 69 6e 20 70 6c  e <b>*</b> in pl
1f50: 61 63 65 20 6f 66 20 74 68 65 20 61 72 74 69 66  ace of the artif
1f60: 61 63 74 20 49 44 20 69 6e 64 69 63 61 74 65 73  act ID indicates
1f70: 20 74 68 61 74 0a 74 68 65 20 74 61 67 20 6f 72   that.the tag or
1f80: 20 70 72 6f 70 65 72 74 79 20 61 70 70 6c 69 65   property applie
1f90: 73 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74  s to the current
1fa0: 20 61 72 74 69 66 61 63 74 2e 20 20 49 74 20 69   artifact.  It i
1fb0: 73 20 6e 6f 74 0a 70 6f 73 73 69 62 6c 65 20 74  s not.possible t
1fc0: 6f 20 65 6e 63 6f 64 65 20 74 68 65 20 63 75 72  o encode the cur
1fd0: 72 65 6e 74 20 61 72 74 69 66 61 63 74 20 49 44  rent artifact ID
1fe0: 20 61 73 20 70 61 72 74 20 6f 66 20 61 6e 20 61   as part of an a
1ff0: 72 74 69 66 61 63 74 2c 0a 73 69 6e 63 65 20 74  rtifact,.since t
2000: 68 65 20 61 63 74 20 6f 66 20 69 6e 73 65 72 74  he act of insert
2010: 69 6e 67 20 74 68 65 20 61 72 74 69 66 61 63 74  ing the artifact
2020: 20 49 44 20 77 6f 75 6c 64 20 63 68 61 6e 67 65   ID would change
2030: 20 74 68 65 20 61 72 74 69 66 61 63 74 20 49 44   the artifact ID
2040: 2c 0a 68 65 6e 63 65 20 61 20 3c 62 3e 2a 3c 2f  ,.hence a <b>*</
2050: 62 3e 20 69 73 20 75 73 65 64 20 74 6f 20 72 65  b> is used to re
2060: 70 72 65 73 65 6e 74 20 22 73 65 6c 66 22 2e 20  present "self". 
2070: 20 54 2d 63 61 72 64 73 20 61 72 65 20 74 79 70   T-cards are typ
2080: 69 63 61 6c 6c 79 0a 61 64 64 65 64 20 74 6f 20  ically.added to 
2090: 6d 61 6e 69 66 65 73 74 73 20 69 6e 20 6f 72 64  manifests in ord
20a0: 65 72 20 74 6f 20 73 65 74 20 74 68 65 20 3c 62  er to set the <b
20b0: 3e 62 72 61 6e 63 68 3c 2f 62 3e 20 70 72 6f 70  >branch</b> prop
20c0: 65 72 74 79 20 61 6e 64 20 61 0a 73 79 6d 62 6f  erty and a.symbo
20d0: 6c 69 63 20 6e 61 6d 65 20 77 68 65 6e 20 74 68  lic name when th
20e0: 65 20 63 68 65 63 6b 2d 69 6e 20 69 73 20 69 6e  e check-in is in
20f0: 74 65 6e 64 65 64 20 74 6f 20 73 74 61 72 74 20  tended to start 
2100: 61 20 6e 65 77 20 62 72 61 6e 63 68 2e 0a 3c 2f  a new branch..</
2110: 70 3e 0a 0a 3c 70 3e 0a 45 61 63 68 20 6d 61 6e  p>..<p>.Each man
2120: 69 66 65 73 74 20 68 61 73 20 61 20 73 69 6e 67  ifest has a sing
2130: 6c 65 20 55 2d 63 61 72 64 2e 20 20 54 68 65 20  le U-card.  The 
2140: 61 72 67 75 6d 65 6e 74 20 74 6f 20 74 68 65 20  argument to the 
2150: 55 2d 63 61 72 64 20 69 73 0a 74 68 65 20 6c 6f  U-card is.the lo
2160: 67 69 6e 20 6f 66 20 74 68 65 20 75 73 65 72 20  gin of the user 
2170: 77 68 6f 20 63 72 65 61 74 65 64 20 74 68 65 20  who created the 
2180: 6d 61 6e 69 66 65 73 74 2e 20 20 54 68 65 20 6c  manifest.  The l
2190: 6f 67 69 6e 20 6e 61 6d 65 0a 69 73 20 65 6e 63  ogin name.is enc
21a0: 6f 64 65 64 20 75 73 69 6e 67 20 74 68 65 20 73  oded using the s
21b0: 61 6d 65 20 63 68 61 72 61 63 74 65 72 20 65 73  ame character es
21c0: 63 61 70 65 73 20 61 73 20 69 73 20 75 73 65 64  capes as is used
21d0: 20 66 6f 72 20 74 68 65 0a 63 68 65 63 6b 2d 69   for the.check-i
21e0: 6e 20 63 6f 6d 6d 65 6e 74 20 61 72 67 75 6d 65  n comment argume
21f0: 6e 74 20 74 6f 20 74 68 65 20 43 2d 63 61 72 64  nt to the C-card
2200: 2e 0a 3c 2f 70 3e 0a 0a 3c 70 3e 0a 41 20 6d 61  ..</p>..<p>.A ma
2210: 6e 69 66 65 73 74 20 68 61 73 20 61 6e 20 6f 70  nifest has an op
2220: 74 69 6f 6e 20 5a 2d 63 61 72 64 20 61 73 20 69  tion Z-card as i
2230: 74 73 20 6c 61 73 74 20 6c 69 6e 65 2e 20 20 54  ts last line.  T
2240: 68 65 20 61 72 67 75 6d 65 6e 74 0a 74 6f 20 74  he argument.to t
2250: 68 65 20 5a 2d 63 61 72 64 20 69 73 20 61 20 33  he Z-card is a 3
2260: 32 2d 63 68 61 72 61 63 74 65 72 20 6c 6f 77 65  2-character lowe
2270: 72 63 61 73 65 20 68 65 78 61 64 65 63 69 6d 61  rcase hexadecima
2280: 6c 20 4d 44 35 20 68 61 73 68 0a 6f 66 20 61 6c  l MD5 hash.of al
2290: 6c 20 70 72 69 6f 72 20 6c 69 6e 65 73 20 6f 66  l prior lines of
22a0: 20 74 68 65 20 6d 61 6e 69 66 65 73 74 20 75 70   the manifest up
22b0: 20 74 6f 20 61 6e 64 20 69 6e 63 6c 75 64 69 6e   to and includin
22c0: 67 20 74 68 65 20 6e 65 77 6c 69 6e 65 20 0a 63  g the newline .c
22d0: 68 61 72 61 63 74 65 72 20 74 68 61 74 20 69 6d  haracter that im
22e0: 6d 65 64 69 61 74 65 6c 79 20 70 72 65 63 65 64  mediately preced
22f0: 65 73 20 74 68 65 20 22 5a 22 2e 20 20 54 68 65  es the "Z".  The
2300: 20 5a 2d 63 61 72 64 20 69 73 20 6a 75 73 74 0a   Z-card is just.
2310: 61 20 73 61 6e 69 74 79 20 63 68 65 63 6b 20 74  a sanity check t
2320: 6f 20 70 72 6f 76 65 20 74 68 61 74 20 74 68 65  o prove that the
2330: 20 6d 61 6e 69 66 65 73 74 20 69 73 20 77 65 6c   manifest is wel
2340: 6c 2d 66 6f 72 6d 65 64 20 61 6e 64 0a 63 6f 6e  l-formed and.con
2350: 73 69 73 74 65 6e 74 2e 0a 3c 2f 70 3e 0a 0a 3c  sistent..</p>..<
2360: 68 32 3e 32 2e 30 20 43 6c 75 73 74 65 72 73 3c  h2>2.0 Clusters<
2370: 2f 68 32 3e 0a 0a 3c 70 3e 0a 41 20 63 6c 75 73  /h2>..<p>.A clus
2380: 74 65 72 20 69 73 20 61 20 61 72 74 69 66 61 63  ter is a artifac
2390: 74 20 74 68 61 74 20 64 65 63 6c 61 72 65 73 20  t that declares 
23a0: 74 68 65 20 65 78 69 73 74 65 6e 63 65 20 6f 66  the existence of
23b0: 20 6f 74 68 65 72 20 61 72 74 69 66 61 63 74 73   other artifacts
23c0: 2e 0a 43 6c 75 73 74 65 72 73 20 61 72 65 20 75  ..Clusters are u
23d0: 73 65 64 20 64 75 72 69 6e 67 20 72 65 70 6f 73  sed during repos
23e0: 69 74 6f 72 79 20 73 79 6e 63 68 72 6f 6e 69 7a  itory synchroniz
23f0: 61 74 69 6f 6e 20 74 6f 20 68 65 6c 70 20 0a 72  ation to help .r
2400: 65 64 75 63 65 20 6e 65 74 77 6f 72 6b 20 74 72  educe network tr
2410: 61 66 66 69 63 2e 20 20 41 73 20 73 75 63 68 2c  affic.  As such,
2420: 20 63 6c 75 73 74 65 72 73 20 61 72 65 20 61 6e   clusters are an
2430: 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 20 61 6e   optimization an
2440: 64 0a 6d 61 79 20 62 65 20 72 65 6d 6f 76 65 64  d.may be removed
2450: 20 66 72 6f 6d 20 61 20 72 65 70 6f 73 69 74 6f   from a reposito
2460: 72 79 20 77 69 74 68 6f 75 74 20 6c 6f 73 73 20  ry without loss 
2470: 6f 72 20 64 61 6d 61 67 65 20 74 6f 20 74 68 65  or damage to the
2480: 0a 75 6e 64 65 72 6c 79 69 6e 67 20 70 72 6f 6a  .underlying proj
2490: 65 63 74 20 63 6f 64 65 2e 0a 3c 2f 70 3e 0a 0a  ect code..</p>..
24a0: 3c 70 3e 0a 43 6c 75 73 74 65 72 73 20 66 6f 6c  <p>.Clusters fol
24b0: 6c 6f 77 20 61 20 73 79 6e 74 61 78 20 74 68 61  low a syntax tha
24c0: 74 20 69 73 20 76 65 72 79 20 73 69 6d 69 6c 61  t is very simila
24d0: 72 20 74 6f 20 6d 61 6e 69 66 65 73 74 73 2e 0a  r to manifests..
24e0: 41 20 43 6c 75 73 74 65 72 20 69 73 20 61 20 6c  A Cluster is a l
24f0: 69 6e 65 2d 6f 72 69 65 6e 74 65 64 20 74 65 78  ine-oriented tex
2500: 74 20 66 69 6c 65 2e 20 20 4e 65 77 6c 69 6e 65  t file.  Newline
2510: 20 63 68 61 72 61 63 74 65 72 73 0a 28 41 53 43   characters.(ASC
2520: 49 49 20 30 78 30 61 29 20 73 65 70 61 72 61 74  II 0x0a) separat
2530: 65 20 74 68 65 20 61 72 74 69 66 61 63 74 20 69  e the artifact i
2540: 6e 74 6f 20 63 61 72 64 73 2e 20 20 45 61 63 68  nto cards.  Each
2550: 20 63 61 72 64 20 62 65 67 69 6e 73 20 77 69 74   card begins wit
2560: 68 20 61 20 73 69 6e 67 6c 65 0a 63 68 61 72 61  h a single.chara
2570: 63 74 65 72 20 22 63 61 72 64 20 74 79 70 65 22  cter "card type"
2580: 2e 20 20 5a 65 72 6f 20 6f 72 20 6d 6f 72 65 20  .  Zero or more 
2590: 61 72 67 75 6d 65 6e 74 73 20 6d 61 79 20 66 6f  arguments may fo
25a0: 6c 6c 6f 77 0a 74 68 65 20 63 61 72 64 20 74 79  llow.the card ty
25b0: 70 65 2e 20 20 41 6c 6c 20 61 72 67 75 6d 65 6e  pe.  All argumen
25c0: 74 73 20 61 72 65 20 73 65 70 61 72 61 74 65 64  ts are separated
25d0: 20 66 72 6f 6d 20 65 61 63 68 20 6f 74 68 65 72   from each other
25e0: 0a 61 6e 64 20 66 72 6f 6d 20 74 68 65 20 63 61  .and from the ca
25f0: 72 64 2d 74 79 70 65 20 63 68 61 72 61 63 74 65  rd-type characte
2600: 72 20 62 79 20 61 20 73 69 6e 67 6c 65 20 73 70  r by a single sp
2610: 61 63 65 0a 63 68 61 72 61 63 74 65 72 2e 20 20  ace.character.  
2620: 54 68 65 72 65 20 69 73 20 6e 6f 20 73 75 72 70  There is no surp
2630: 6c 75 73 20 77 68 69 74 65 20 73 70 61 63 65 20  lus white space 
2640: 62 65 74 77 65 65 6e 20 61 72 67 75 6d 65 6e 74  between argument
2650: 73 0a 61 6e 64 20 6e 6f 20 6c 65 61 64 69 6e 67  s.and no leading
2660: 20 6f 72 20 74 72 61 69 6c 69 6e 67 20 77 68 69   or trailing whi
2670: 74 65 73 70 61 63 65 20 65 78 63 65 70 74 20 66  tespace except f
2680: 6f 72 20 74 68 65 20 6e 65 77 6c 69 6e 65 20 0a  or the newline .
2690: 63 68 61 72 61 63 74 65 72 20 74 68 61 74 20 61  character that a
26a0: 63 74 73 20 61 73 20 74 68 65 20 63 61 72 64 20  cts as the card 
26b0: 73 65 70 61 72 61 74 6f 72 2e 0a 41 6c 6c 20 63  separator..All c
26c0: 61 72 64 73 20 6f 66 20 61 20 63 6c 75 73 74 65  ards of a cluste
26d0: 72 20 6f 63 63 75 72 20 69 6e 20 73 74 72 69 63  r occur in stric
26e0: 74 20 73 6f 72 74 65 64 20 6c 65 78 69 63 6f 67  t sorted lexicog
26f0: 72 61 70 68 69 63 61 6c 20 6f 72 64 65 72 2e 0a  raphical order..
2700: 4e 6f 20 63 61 72 64 20 6d 61 79 20 62 65 20 64  No card may be d
2710: 75 70 6c 69 63 61 74 65 64 2e 0a 54 68 65 20 63  uplicated..The c
2720: 6c 75 73 74 65 72 20 6d 61 79 20 6e 6f 74 20 63  luster may not c
2730: 6f 6e 74 61 69 6e 20 61 64 64 69 74 69 6f 6e 61  ontain additiona
2740: 6c 20 74 65 78 74 20 6f 72 20 64 61 74 61 20 62  l text or data b
2750: 65 79 6f 6e 64 20 0a 77 68 61 74 20 69 73 20 64  eyond .what is d
2760: 65 73 63 72 69 62 65 64 20 68 65 72 65 2e 0a 55  escribed here..U
2770: 6e 6c 69 6b 65 20 6d 61 6e 69 66 65 73 74 73 2c  nlike manifests,
2780: 20 63 6c 75 73 74 65 72 73 20 61 72 65 20 6e 65   clusters are ne
2790: 76 65 72 20 50 47 50 20 73 69 67 6e 65 64 2e 0a  ver PGP signed..
27a0: 3c 2f 70 3e 0a 0a 3c 70 3e 0a 41 6c 6c 6f 77 65  </p>..<p>.Allowe
27b0: 64 20 63 61 72 64 73 20 69 6e 20 74 68 65 20 63  d cards in the c
27c0: 6c 75 73 74 65 72 20 61 72 65 20 61 73 20 66 6f  luster are as fo
27d0: 6c 6c 6f 77 73 3a 0a 3c 2f 70 3e 0a 0a 3c 62 6c  llows:.</p>..<bl
27e0: 6f 63 6b 71 75 6f 74 65 3e 0a 3c 62 3e 4d 3c 2f  ockquote>.<b>M</
27f0: 62 3e 20 3c 69 3e 61 72 74 69 66 61 63 74 2d 69  b> <i>artifact-i
2800: 64 3c 2f 69 3e 3c 62 72 20 2f 3e 0a 3c 62 3e 5a  d</i><br />.<b>Z
2810: 3c 2f 62 3e 20 3c 69 3e 63 68 65 63 6b 73 75 6d  </b> <i>checksum
2820: 3c 2f 69 3e 0a 3c 2f 62 6c 6f 63 6b 71 75 6f 74  </i>.</blockquot
2830: 65 3e 0a 0a 3c 70 3e 0a 41 20 63 6c 75 73 74 65  e>..<p>.A cluste
2840: 72 20 63 6f 6e 74 61 69 6e 73 20 6f 6e 65 20 6f  r contains one o
2850: 72 20 6d 6f 72 65 20 22 4d 22 20 63 61 72 64 73  r more "M" cards
2860: 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 61 20 73   followed by a s
2870: 69 6e 67 6c 65 20 22 5a 22 0a 6c 69 6e 65 2e 20  ingle "Z".line. 
2880: 20 45 61 63 68 20 4d 20 63 61 72 64 20 68 61 73   Each M card has
2890: 20 61 20 73 69 6e 67 6c 65 20 61 72 67 75 6d 65   a single argume
28a0: 6e 74 20 77 68 69 63 68 20 69 73 20 74 68 65 20  nt which is the 
28b0: 61 72 74 69 66 61 63 74 20 49 44 20 6f 66 20 0a  artifact ID of .
28c0: 61 6e 6f 74 68 65 72 20 61 72 74 69 66 61 63 74  another artifact
28d0: 20 69 6e 20 74 68 65 20 72 65 70 6f 73 69 74 6f   in the reposito
28e0: 72 79 2e 20 20 54 68 65 20 5a 20 63 61 72 64 20  ry.  The Z card 
28f0: 77 6f 72 6b 20 65 78 61 63 74 6c 79 20 6c 69 6b  work exactly lik
2900: 65 0a 74 68 65 20 5a 20 63 61 72 64 20 6f 66 20  e.the Z card of 
2910: 61 20 6d 61 6e 69 66 65 73 74 2e 20 20 54 68 65  a manifest.  The
2920: 20 61 72 67 75 6d 65 6e 74 20 74 6f 20 74 68 65   argument to the
2930: 20 5a 20 63 61 72 64 20 69 73 20 74 68 65 0a 6c   Z card is the.l
2940: 6f 77 65 72 2d 63 61 73 65 20 68 65 78 61 64 65  ower-case hexade
2950: 63 69 6d 61 6c 20 72 65 70 72 65 73 65 6e 74 61  cimal representa
2960: 74 69 6f 6e 20 6f 66 20 74 68 65 20 4d 44 35 20  tion of the MD5 
2970: 63 68 65 63 6b 73 75 6d 20 6f 66 20 61 6c 6c 0a  checksum of all.
2980: 70 72 69 6f 72 20 63 61 72 64 73 20 69 6e 20 74  prior cards in t
2990: 68 65 20 63 6c 75 73 74 65 72 2e 20 20 4e 6f 74  he cluster.  Not
29a0: 65 20 74 68 61 74 20 74 68 65 20 5a 20 63 61 72  e that the Z car
29b0: 64 20 69 73 20 72 65 71 75 69 72 65 64 0a 6f 6e  d is required.on
29c0: 20 61 20 63 6c 75 73 74 65 72 2e 0a 3c 2f 70 3e   a cluster..</p>
29d0: 0a 0a 0a 3c 68 32 3e 33 2e 30 20 43 6f 6e 74 72  ...<h2>3.0 Contr
29e0: 6f 6c 20 41 72 74 69 66 61 63 74 73 3c 2f 68 32  ol Artifacts</h2
29f0: 3e 0a 0a 3c 70 3e 0a 43 6f 6e 74 72 6f 6c 20 61  >..<p>.Control a
2a00: 72 74 69 66 61 63 74 73 20 61 72 65 20 75 73 65  rtifacts are use
2a10: 64 20 74 6f 20 61 73 73 69 67 6e 20 70 72 6f 70  d to assign prop
2a20: 65 72 74 69 65 73 20 74 6f 20 6f 74 68 65 72 20  erties to other 
2a30: 61 72 74 69 66 61 63 74 73 0a 77 69 74 68 69 6e  artifacts.within
2a40: 20 74 68 65 20 72 65 70 6f 73 69 74 6f 72 79 2e   the repository.
2a50: 20 20 54 68 65 20 62 61 73 69 63 20 66 6f 72 6d    The basic form
2a60: 61 74 20 6f 66 20 61 20 63 6f 6e 74 72 6f 6c 20  at of a control 
2a70: 61 72 74 69 66 61 63 74 20 69 73 0a 74 68 65 20  artifact is.the 
2a80: 73 61 6d 65 20 61 73 20 61 20 6d 61 6e 69 66 65  same as a manife
2a90: 73 74 20 6f 72 20 63 6c 75 73 74 65 72 2e 20 20  st or cluster.  
2aa0: 41 20 63 6f 6e 74 72 6f 6c 20 61 72 74 69 66 61  A control artifa
2ab0: 63 74 20 69 73 20 61 20 74 65 78 74 0a 66 69 6c  ct is a text.fil
2ac0: 65 73 20 64 69 76 69 64 65 64 20 69 6e 74 6f 20  es divided into 
2ad0: 63 61 72 64 73 20 62 79 20 6e 65 77 6c 69 6e 65  cards by newline
2ae0: 20 63 68 61 72 61 63 74 65 72 73 2e 20 20 45 61   characters.  Ea
2af0: 63 68 20 63 61 72 64 20 68 61 73 20 61 0a 73 69  ch card has a.si
2b00: 6e 67 6c 65 2d 63 68 61 72 61 63 74 65 72 20 63  ngle-character c
2b10: 61 72 64 20 74 79 70 65 20 66 6f 6c 6c 6f 77 65  ard type followe
2b20: 64 20 62 79 20 61 72 67 75 6d 65 6e 74 73 2e 20  d by arguments. 
2b30: 20 53 70 61 63 65 73 20 73 65 70 61 72 61 74 65   Spaces separate
2b40: 0a 74 68 65 20 63 61 72 64 20 74 79 70 65 20 61  .the card type a
2b50: 6e 64 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73  nd the arguments
2b60: 2e 20 20 4e 6f 20 73 75 72 70 6c 75 73 20 77 68  .  No surplus wh
2b70: 69 74 65 73 70 61 63 65 20 69 73 20 61 6c 6c 6f  itespace is allo
2b80: 77 65 64 2e 0a 41 6c 6c 20 63 61 72 64 73 20 6d  wed..All cards m
2b90: 75 73 74 20 6f 63 63 75 72 20 69 6e 20 73 74 72  ust occur in str
2ba0: 69 63 74 20 6c 65 78 69 67 72 61 70 68 69 63 61  ict lexigraphica
2bb0: 6c 20 6f 72 64 65 72 2e 0a 3c 2f 70 3e 0a 0a 3c  l order..</p>..<
2bc0: 70 3e 0a 41 6c 6c 6f 77 65 64 20 63 61 72 64 73  p>.Allowed cards
2bd0: 20 69 6e 20 61 20 63 6f 6e 74 72 6f 6c 20 61 72   in a control ar
2be0: 74 69 66 61 63 74 20 61 72 65 20 61 73 20 66 6f  tifact are as fo
2bf0: 6c 6c 6f 77 73 3a 0a 3c 2f 70 3e 0a 0a 3c 62 6c  llows:.</p>..<bl
2c00: 6f 63 6b 71 75 6f 74 65 3e 0a 3c 62 3e 44 3c 2f  ockquote>.<b>D</
2c10: 62 3e 20 3c 69 3e 74 69 6d 65 2d 61 6e 64 2d 64  b> <i>time-and-d
2c20: 61 74 65 2d 73 74 61 6d 70 3c 2f 69 3e 3c 62 72  ate-stamp</i><br
2c30: 20 2f 3e 0a 3c 62 3e 54 3c 2f 62 3e 20 28 3c 62   />.<b>T</b> (<b
2c40: 3e 2b 3c 2f 62 3e 7c 3c 62 3e 2d 3c 2f 62 3e 7c  >+</b>|<b>-</b>|
2c50: 3c 62 3e 2a 3c 2f 62 3e 29 3c 69 3e 74 61 67 2d  <b>*</b>)<i>tag-
2c60: 6e 61 6d 65 20 20 61 72 74 69 66 61 63 74 2d 69  name  artifact-i
2c70: 64 20 20 3f 76 61 6c 75 65 3f 3c 2f 69 3e 3c 62  d  ?value?</i><b
2c80: 72 20 2f 3e 0a 3c 62 3e 5a 3c 2f 62 3e 20 3c 69  r />.<b>Z</b> <i
2c90: 3e 63 68 65 63 6b 73 75 6d 3c 2f 69 3e 3c 62 72  >checksum</i><br
2ca0: 20 2f 3e 0a 3c 2f 62 6c 6f 63 6b 71 75 6f 74 65   />.</blockquote
2cb0: 3e 0a 0a 3c 70 3e 0a 41 20 63 6f 6e 74 72 6f 6c  >..<p>.A control
2cc0: 20 61 72 74 69 66 61 63 74 20 6d 75 73 74 20 68   artifact must h
2cd0: 61 76 65 20 6f 6e 65 20 44 20 63 61 72 64 20 61  ave one D card a
2ce0: 6e 64 20 6f 6e 65 20 5a 20 63 61 72 64 20 61 6e  nd one Z card an
2cf0: 64 0a 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 54 20  d.one or more T 
2d00: 63 61 72 64 73 2e 20 20 4e 6f 20 6f 74 68 65 72  cards.  No other
2d10: 20 63 61 72 64 73 20 6f 72 20 6f 74 68 65 72 20   cards or other 
2d20: 74 65 78 74 20 69 73 0a 61 6c 6c 6f 77 65 64 20  text is.allowed 
2d30: 69 6e 20 61 20 63 6f 6e 74 72 6f 6c 20 61 72 74  in a control art
2d40: 69 66 61 63 74 2e 20 20 43 6f 6e 74 72 6f 6c 20  ifact.  Control 
2d50: 61 72 74 69 66 61 63 74 73 20 6d 69 67 68 74 20  artifacts might 
2d60: 62 65 20 50 47 50 0a 63 6c 65 61 72 73 69 67 6e  be PGP.clearsign
2d70: 65 64 2e 3c 2f 70 3e 0a 0a 3c 70 3e 54 68 65 20  ed.</p>..<p>The 
2d80: 44 20 63 61 72 64 20 61 6e 64 20 74 68 65 20 5a  D card and the Z
2d90: 20 63 61 72 64 20 6f 66 20 61 20 63 6f 6e 74 72   card of a contr
2da0: 6f 6c 20 61 72 74 69 66 61 63 74 20 61 72 65 20  ol artifact are 
2db0: 74 68 65 20 73 61 6d 65 0a 61 73 20 69 6e 20 61  the same.as in a
2dc0: 20 6d 61 6e 69 66 65 73 74 2e 3c 2f 70 3e 0a 0a   manifest.</p>..
2dd0: 3c 70 3e 54 68 65 20 54 20 63 61 72 64 20 72 65  <p>The T card re
2de0: 70 72 65 73 65 6e 74 73 20 61 20 22 74 61 67 22  presents a "tag"
2df0: 20 6f 72 20 70 72 6f 70 65 72 74 79 20 74 68 61   or property tha
2e00: 74 20 69 73 20 61 70 70 6c 69 65 64 20 74 6f 0a  t is applied to.
2e10: 73 6f 6d 65 20 6f 74 68 65 72 20 61 72 74 69 66  some other artif
2e20: 61 63 74 2e 20 20 54 68 65 20 54 20 63 61 72 64  act.  The T card
2e30: 20 68 61 73 20 74 77 6f 20 6f 72 20 74 68 72 65   has two or thre
2e40: 65 20 76 61 6c 75 65 73 2e 20 20 54 68 65 0a 73  e values.  The.s
2e50: 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e 74 20 69  econd argument i
2e60: 73 20 74 68 65 20 34 30 20 63 68 61 72 61 63 74  s the 40 charact
2e70: 65 72 20 6c 6f 77 65 72 63 61 73 65 20 61 72 74  er lowercase art
2e80: 69 66 61 63 74 20 49 44 20 6f 66 20 74 68 65 20  ifact ID of the 
2e90: 61 72 74 69 66 61 63 74 0a 74 6f 20 77 68 69 63  artifact.to whic
2ea0: 68 20 74 68 65 20 74 61 67 20 69 73 20 74 6f 20  h the tag is to 
2eb0: 62 65 20 61 70 70 6c 69 65 64 2e 20 54 68 65 0a  be applied. The.
2ec0: 66 69 72 73 74 20 76 61 6c 75 65 20 69 73 20 74  first value is t
2ed0: 68 65 20 74 61 67 20 6e 61 6d 65 2e 20 20 54 68  he tag name.  Th
2ee0: 65 20 66 69 72 73 74 20 63 68 61 72 61 63 74 65  e first characte
2ef0: 72 20 6f 66 20 74 68 65 20 74 61 67 0a 69 73 20  r of the tag.is 
2f00: 65 69 74 68 65 72 20 22 2b 22 2c 20 22 2d 22 2c  either "+", "-",
2f10: 20 6f 72 20 22 2a 22 2e 20 20 41 20 22 2b 22 20   or "*".  A "+" 
2f20: 6d 65 61 6e 73 20 74 68 65 20 74 61 67 20 73 68  means the tag sh
2f30: 6f 75 6c 64 20 62 65 20 61 64 64 65 64 0a 74 6f  ould be added.to
2f40: 20 74 68 65 20 61 72 74 69 66 61 63 74 2e 20 20   the artifact.  
2f50: 54 68 65 20 22 2d 22 20 6d 65 61 6e 73 20 74 68  The "-" means th
2f60: 65 20 74 61 67 20 73 68 6f 75 6c 64 20 62 65 20  e tag should be 
2f70: 72 65 6d 6f 76 65 64 2e 0a 54 68 65 20 22 2a 22  removed..The "*"
2f80: 20 63 68 61 72 61 63 74 65 72 20 6d 65 61 6e 73   character means
2f90: 20 74 68 65 20 74 61 67 20 73 68 6f 75 6c 64 20   the tag should 
2fa0: 62 65 20 61 64 64 65 64 20 74 6f 20 74 68 65 20  be added to the 
2fb0: 61 72 74 69 66 61 63 74 0a 61 6e 64 20 61 6c 6c  artifact.and all
2fc0: 20 64 69 72 65 63 74 20 64 65 73 63 65 6e 64 61   direct descenda
2fd0: 6e 74 73 20 28 62 75 74 20 6e 6f 74 20 62 72 61  nts (but not bra
2fe0: 6e 63 68 65 73 29 20 6f 66 20 74 68 65 20 61 72  nches) of the ar
2ff0: 74 69 66 61 63 74 20 64 6f 77 6e 0a 74 6f 20 62  tifact down.to b
3000: 75 74 20 6e 6f 74 20 69 6e 63 6c 75 64 69 6e 67  ut not including
3010: 20 74 68 65 20 66 69 72 73 74 20 64 65 73 63 65   the first desce
3020: 6e 64 61 6e 74 20 74 68 61 74 20 63 6f 6e 74 61  ndant that conta
3030: 69 6e 73 20 61 20 0a 6d 6f 72 65 20 72 65 63 65  ins a .more rece
3040: 6e 74 20 22 2d 22 20 74 61 67 20 77 69 74 68 20  nt "-" tag with 
3050: 74 68 65 20 73 61 6d 65 20 6e 61 6d 65 2e 0a 54  the same name..T
3060: 68 65 20 6f 70 74 69 6f 6e 61 6c 20 74 68 69 72  he optional thir
3070: 64 20 61 72 67 75 6d 65 6e 74 20 69 73 20 74 68  d argument is th
3080: 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 74  e value of the t
3090: 61 67 2e 20 20 41 20 74 61 67 0a 77 69 74 68 6f  ag.  A tag.witho
30a0: 75 74 20 61 20 76 61 6c 75 65 20 69 73 20 61 20  ut a value is a 
30b0: 62 6f 6f 6c 65 61 6e 2e 3c 2f 70 3e 0a 0a 3c 70  boolean.</p>..<p
30c0: 3e 57 68 65 6e 20 74 77 6f 20 6f 72 20 6d 6f 72  >When two or mor
30d0: 65 20 74 61 67 73 20 77 69 74 68 20 74 68 65 20  e tags with the 
30e0: 73 61 6d 65 20 6e 61 6d 65 20 61 72 65 20 61 70  same name are ap
30f0: 70 6c 69 65 64 20 74 6f 20 74 68 65 0a 73 61 6d  plied to the.sam
3100: 65 20 61 72 74 69 66 61 63 74 2c 20 74 68 65 20  e artifact, the 
3110: 74 61 67 20 77 69 74 68 20 74 68 65 20 6c 61 74  tag with the lat
3120: 65 73 74 20 28 6d 6f 73 74 20 72 65 63 65 6e 74  est (most recent
3130: 29 20 64 61 74 65 20 69 73 0a 75 73 65 64 2e 3c  ) date is.used.<
3140: 2f 70 3e 0a 0a 3c 70 3e 53 6f 6d 65 20 74 61 67  /p>..<p>Some tag
3150: 73 20 68 61 76 65 20 73 70 65 63 69 61 6c 20 6d  s have special m
3160: 65 61 6e 69 6e 67 2e 20 20 54 68 65 20 22 63 6f  eaning.  The "co
3170: 6d 6d 65 6e 74 22 20 74 61 67 20 77 68 65 6e 20  mment" tag when 
3180: 61 70 70 6c 69 65 64 0a 74 6f 20 61 20 63 68 65  applied.to a che
3190: 63 6b 2d 69 6e 20 77 69 6c 6c 20 6f 76 65 72 72  ck-in will overr
31a0: 69 64 65 20 74 68 65 20 63 68 65 63 6b 2d 69 6e  ide the check-in
31b0: 20 63 6f 6d 6d 65 6e 74 20 6f 66 20 74 68 61 74   comment of that
31c0: 20 63 68 65 63 6b 2d 69 6e 0a 66 6f 72 20 64 69   check-in.for di
31d0: 73 70 6c 61 79 20 70 75 72 70 6f 73 65 73 2e 3c  splay purposes.<
31e0: 2f 70 3e 0a 0a 3c 61 20 6e 61 6d 65 3d 22 77 69  /p>..<a name="wi
31f0: 6b 69 63 68 6e 67 22 3e 3c 2f 61 3e 0a 3c 68 32  kichng"></a>.<h2
3200: 3e 34 2e 30 20 57 69 6b 69 20 50 61 67 65 73 3c  >4.0 Wiki Pages<
3210: 2f 68 32 3e 0a 0a 3c 70 3e 41 20 77 69 6b 69 20  /h2>..<p>A wiki 
3220: 70 61 67 65 20 69 73 20 61 6e 20 61 72 74 69 66  page is an artif
3230: 61 63 74 20 77 69 74 68 20 61 20 66 6f 72 6d 61  act with a forma
3240: 74 20 73 69 6d 69 6c 61 72 20 74 6f 20 6d 61 6e  t similar to man
3250: 69 66 65 73 74 73 2c 0a 63 6c 75 73 74 65 72 73  ifests,.clusters
3260: 2c 20 61 6e 64 20 63 6f 6e 74 72 6f 6c 20 61 72  , and control ar
3270: 74 69 66 61 63 74 73 2e 20 20 54 68 65 20 61 72  tifacts.  The ar
3280: 74 69 66 61 63 74 20 69 73 20 64 69 76 69 64 65  tifact is divide
3290: 64 20 69 6e 74 6f 0a 63 61 72 64 73 20 62 79 20  d into.cards by 
32a0: 6e 65 77 6c 69 6e 65 20 63 68 61 72 61 63 74 65  newline characte
32b0: 72 73 2e 20 20 54 68 65 20 66 6f 72 6d 61 74 20  rs.  The format 
32c0: 6f 66 20 65 61 63 68 20 63 61 72 64 20 69 73 20  of each card is 
32d0: 61 73 20 69 6e 0a 6d 61 6e 69 66 65 73 74 73 2c  as in.manifests,
32e0: 20 63 6c 75 73 74 65 72 73 2c 20 61 6e 64 20 63   clusters, and c
32f0: 6f 6e 74 72 6f 6c 20 61 72 74 69 66 61 63 74 73  ontrol artifacts
3300: 2e 20 20 57 69 6b 69 20 61 72 74 69 66 61 63 74  .  Wiki artifact
3310: 73 20 61 63 63 65 70 74 0a 74 68 65 20 66 6f 6c  s accept.the fol
3320: 6c 6f 77 69 6e 67 20 63 61 72 64 20 74 79 70 65  lowing card type
3330: 73 3a 3c 2f 70 3e 0a 0a 3c 62 6c 6f 63 6b 71 75  s:</p>..<blockqu
3340: 6f 74 65 3e 0a 3c 62 3e 44 3c 2f 62 3e 20 3c 69  ote>.<b>D</b> <i
3350: 3e 74 69 6d 65 2d 61 6e 64 2d 64 61 74 65 2d 73  >time-and-date-s
3360: 74 61 6d 70 3c 2f 69 3e 3c 62 72 20 2f 3e 0a 3c  tamp</i><br />.<
3370: 62 3e 4c 3c 2f 62 3e 20 3c 69 3e 77 69 6b 69 2d  b>L</b> <i>wiki-
3380: 74 69 74 6c 65 3c 2f 69 3e 3c 62 72 20 2f 3e 0a  title</i><br />.
3390: 3c 62 3e 50 3c 2f 62 3e 20 3c 69 3e 70 61 72 65  <b>P</b> <i>pare
33a0: 6e 74 2d 61 72 74 69 66 61 63 74 2d 69 64 3c 2f  nt-artifact-id</
33b0: 69 3e 2b 3c 62 72 20 2f 3e 0a 3c 62 3e 55 3c 2f  i>+<br />.<b>U</
33c0: 62 3e 20 3c 69 3e 75 73 65 72 2d 6e 61 6d 65 3c  b> <i>user-name<
33d0: 2f 69 3e 3c 62 72 20 2f 3e 0a 3c 62 3e 57 3c 2f  /i><br />.<b>W</
33e0: 62 3e 20 3c 69 3e 73 69 7a 65 3c 2f 69 3e 20 3c  b> <i>size</i> <
33f0: 62 3e 5c 6e 3c 2f 62 3e 20 3c 69 3e 74 65 78 74  b>\n</b> <i>text
3400: 3c 2f 69 3e 20 3c 62 3e 5c 6e 3c 2f 62 3e 3c 62  </i> <b>\n</b><b
3410: 72 20 2f 3e 0a 3c 62 3e 5a 3c 2f 62 3e 20 3c 69  r />.<b>Z</b> <i
3420: 3e 63 68 65 63 6b 73 75 6d 3c 2f 69 3e 0a 3c 2f  >checksum</i>.</
3430: 62 6c 6f 63 6b 71 75 6f 74 65 3e 0a 0a 3c 70 3e  blockquote>..<p>
3440: 54 68 65 20 44 20 63 61 72 64 20 69 73 20 74 68  The D card is th
3450: 65 20 64 61 74 65 20 61 6e 64 20 74 69 6d 65 20  e date and time 
3460: 77 68 65 6e 20 74 68 65 20 77 69 6b 69 20 70 61  when the wiki pa
3470: 67 65 20 77 61 73 20 65 64 69 74 65 64 2e 0a 54  ge was edited..T
3480: 68 65 20 50 20 63 61 72 64 20 73 70 65 63 69 66  he P card specif
3490: 69 65 73 20 74 68 65 20 70 61 72 65 6e 74 20 77  ies the parent w
34a0: 69 6b 69 20 70 61 67 65 73 2c 20 69 66 20 61 6e  iki pages, if an
34b0: 79 2e 20 20 54 68 65 20 4c 20 63 61 72 64 0a 67  y.  The L card.g
34c0: 69 76 65 73 20 74 68 65 20 6e 61 6d 65 20 6f 66  ives the name of
34d0: 20 74 68 65 20 77 69 6b 69 20 70 61 67 65 2e 20   the wiki page. 
34e0: 20 54 68 65 20 55 20 63 61 72 64 20 73 70 65 63   The U card spec
34f0: 69 66 69 65 73 20 74 68 65 20 6c 6f 67 69 6e 0a  ifies the login.
3500: 6f 66 20 74 68 65 20 75 73 65 72 20 77 68 6f 20  of the user who 
3510: 6d 61 64 65 20 74 68 69 73 20 65 64 69 74 20 74  made this edit t
3520: 6f 20 74 68 65 20 77 69 6b 69 20 70 61 67 65 2e  o the wiki page.
3530: 20 20 54 68 65 20 5a 20 63 61 72 64 20 69 73 0a    The Z card is.
3540: 74 68 65 20 75 73 75 61 6c 20 63 68 65 63 6b 73  the usual checks
3550: 75 6d 20 6f 76 65 72 20 74 68 65 20 65 69 74 68  um over the eith
3560: 65 72 20 61 72 74 69 66 61 63 74 2e 3c 2f 70 3e  er artifact.</p>
3570: 0a 0a 3c 70 3e 54 68 65 20 57 20 63 61 72 64 20  ..<p>The W card 
3580: 69 73 20 75 73 65 64 20 74 6f 20 73 70 65 63 69  is used to speci
3590: 66 79 20 74 68 65 20 74 65 78 74 20 6f 66 20 74  fy the text of t
35a0: 68 65 20 77 69 6b 69 20 70 61 67 65 2e 20 20 54  he wiki page.  T
35b0: 68 65 0a 61 72 67 75 6d 65 6e 74 20 74 6f 20 74  he.argument to t
35c0: 68 65 20 57 20 63 61 72 64 20 69 73 20 61 6e 20  he W card is an 
35d0: 69 6e 74 65 67 65 72 20 77 68 69 63 68 20 69 73  integer which is
35e0: 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 62   the number of b
35f0: 79 74 65 73 0a 6f 66 20 74 65 78 74 20 69 6e 20  ytes.of text in 
3600: 74 68 65 20 77 69 6b 69 20 70 61 67 65 2e 20 20  the wiki page.  
3610: 54 68 61 74 20 74 65 78 74 20 66 6f 6c 6c 6f 77  That text follow
3620: 73 20 74 68 65 20 6e 65 77 6c 69 6e 65 20 63 68  s the newline ch
3630: 61 72 61 63 74 65 72 0a 74 68 61 74 20 74 65 72  aracter.that ter
3640: 6d 69 6e 61 74 65 73 20 74 68 65 20 57 20 63 61  minates the W ca
3650: 72 64 2e 20 20 54 68 65 20 77 69 6b 69 20 74 65  rd.  The wiki te
3660: 78 74 20 69 73 20 61 6c 77 61 79 73 20 66 6f 6c  xt is always fol
3670: 6c 6f 77 65 64 20 62 79 20 6f 6e 65 0a 65 78 74  lowed by one.ext
3680: 72 61 20 6e 65 77 6c 69 6e 65 2e 3c 2f 70 3e 0a  ra newline.</p>.
3690: 0a 3c 61 20 6e 61 6d 65 3d 22 74 6b 74 63 68 6e  .<a name="tktchn
36a0: 67 22 3e 3c 2f 61 3e 0a 3c 68 32 3e 35 2e 30 20  g"></a>.<h2>5.0 
36b0: 54 69 63 6b 65 74 20 43 68 61 6e 67 65 73 3c 2f  Ticket Changes</
36c0: 68 32 3e 0a 0a 3c 70 3e 41 20 74 69 63 6b 65 74  h2>..<p>A ticket
36d0: 2d 63 68 61 6e 67 65 20 61 72 74 69 66 61 63 74  -change artifact
36e0: 20 72 65 70 72 65 73 65 6e 74 73 20 61 20 63 68   represents a ch
36f0: 61 6e 67 65 20 74 6f 20 61 20 74 72 6f 75 62 6c  ange to a troubl
3700: 65 20 74 69 63 6b 65 74 2e 0a 54 68 65 20 66 6f  e ticket..The fo
3710: 6c 6c 6f 77 69 6e 67 20 63 61 72 64 73 20 61 72  llowing cards ar
3720: 65 20 61 6c 6c 6f 77 65 64 20 6f 6e 20 61 20 74  e allowed on a t
3730: 69 63 6b 65 74 20 63 68 61 6e 67 65 20 61 72 74  icket change art
3740: 69 66 61 63 74 3a 3c 2f 70 3e 0a 0a 3c 62 6c 6f  ifact:</p>..<blo
3750: 63 6b 71 75 6f 74 65 3e 0a 3c 62 3e 44 3c 2f 62  ckquote>.<b>D</b
3760: 3e 20 3c 69 3e 74 69 6d 65 2d 61 6e 64 2d 64 61  > <i>time-and-da
3770: 74 65 2d 73 74 61 6d 70 3c 2f 69 3e 3c 62 72 20  te-stamp</i><br 
3780: 2f 3e 0a 3c 62 3e 4a 3c 2f 62 3e 20 3f 3c 62 3e  />.<b>J</b> ?<b>
3790: 2b 3c 2f 62 3e 3f 3c 69 3e 6e 61 6d 65 3c 2f 69  +</b>?<i>name</i
37a0: 3e 20 3f 3c 69 3e 76 61 6c 75 65 3c 2f 69 3e 3f  > ?<i>value</i>?
37b0: 3c 62 72 20 2f 3e 0a 3c 62 3e 4b 3c 2f 62 3e 20  <br />.<b>K</b> 
37c0: 3c 69 3e 74 69 63 6b 65 74 2d 69 64 3c 2f 69 3e  <i>ticket-id</i>
37d0: 3c 62 72 20 2f 3e 0a 3c 62 3e 55 3c 2f 62 3e 20  <br />.<b>U</b> 
37e0: 3c 69 3e 75 73 65 72 2d 6e 61 6d 65 3c 2f 69 3e  <i>user-name</i>
37f0: 3c 62 72 20 2f 3e 0a 3c 62 3e 5a 3c 2f 62 3e 20  <br />.<b>Z</b> 
3800: 3c 69 3e 63 68 65 63 6b 73 75 6d 3c 2f 69 3e 0a  <i>checksum</i>.
3810: 3c 2f 62 6c 6f 63 6b 71 75 6f 74 65 3e 0a 0a 3c  </blockquote>..<
3820: 70 3e 0a 54 68 65 20 44 20 63 61 72 64 20 69 73  p>.The D card is
3830: 20 74 68 65 20 75 73 75 61 6c 20 64 61 74 65 20   the usual date 
3840: 61 6e 64 20 74 69 6d 65 20 73 74 61 6d 70 20 61  and time stamp a
3850: 6e 64 20 72 65 70 72 65 73 65 6e 74 73 20 74 68  nd represents th
3860: 65 20 70 6f 69 6e 74 0a 69 6e 20 74 69 6d 65 20  e point.in time 
3870: 77 68 65 6e 20 74 68 65 20 63 68 61 6e 67 65 20  when the change 
3880: 77 61 73 20 65 6e 74 65 72 65 64 2e 20 20 54 68  was entered.  Th
3890: 65 20 55 20 63 61 72 64 20 69 73 20 74 68 65 20  e U card is the 
38a0: 6c 6f 67 69 6e 20 6f 66 20 74 68 65 0a 70 72 6f  login of the.pro
38b0: 67 72 61 6d 6d 65 72 20 77 68 6f 20 65 6e 74 65  grammer who ente
38c0: 72 65 64 20 74 68 69 73 20 63 68 61 6e 67 65 2e  red this change.
38d0: 20 20 54 68 65 20 5a 20 63 61 72 64 20 69 73 20    The Z card is 
38e0: 74 68 65 20 63 68 65 63 6b 73 75 6d 20 6f 76 65  the checksum ove
38f0: 72 0a 74 68 65 20 65 6e 74 69 72 65 20 61 72 74  r.the entire art
3900: 69 66 61 63 74 2e 3c 2f 70 3e 0a 0a 3c 70 3e 0a  ifact.</p>..<p>.
3910: 45 76 65 72 79 20 74 69 63 6b 65 74 20 68 61 73  Every ticket has
3920: 20 61 20 75 6e 69 71 75 65 20 49 44 2e 20 20 54   a unique ID.  T
3930: 68 65 20 74 69 63 6b 65 74 20 74 6f 20 77 68 69  he ticket to whi
3940: 63 68 20 74 68 69 73 20 63 68 61 6e 67 65 20 69  ch this change i
3950: 73 20 61 70 70 6c 69 65 64 0a 69 73 20 73 70 65  s applied.is spe
3960: 63 69 66 69 65 64 20 62 79 20 74 68 65 20 4b 20  cified by the K 
3970: 63 61 72 64 2e 20 20 41 20 74 69 63 6b 65 74 20  card.  A ticket 
3980: 65 78 69 73 74 73 20 69 66 20 69 74 20 63 6f 6e  exists if it con
3990: 74 61 69 6e 73 20 6f 6e 65 20 6f 72 0a 6d 6f 72  tains one or.mor
39a0: 65 20 63 68 61 6e 67 65 73 2e 20 20 54 68 65 20  e changes.  The 
39b0: 66 69 72 73 74 20 22 63 68 61 6e 67 65 22 20 74  first "change" t
39c0: 6f 20 61 20 74 69 63 6b 65 74 20 69 73 20 77 68  o a ticket is wh
39d0: 61 74 20 62 72 69 6e 67 73 20 74 68 65 0a 74 69  at brings the.ti
39e0: 63 6b 65 74 20 69 6e 74 6f 20 65 78 69 73 74 65  cket into existe
39f0: 6e 63 65 2e 3c 2f 70 3e 0a 0a 3c 70 3e 0a 4a 20  nce.</p>..<p>.J 
3a00: 63 61 72 64 73 20 73 70 65 63 69 66 79 20 63 68  cards specify ch
3a10: 61 6e 67 65 73 20 74 6f 20 74 68 65 20 22 76 61  anges to the "va
3a20: 6c 75 65 22 20 6f 66 20 22 66 69 65 6c 64 73 22  lue" of "fields"
3a30: 20 69 6e 20 74 68 65 20 74 69 63 6b 65 74 2e 0a   in the ticket..
3a40: 49 66 20 74 68 65 20 3c 69 3e 76 61 6c 75 65 3c  If the <i>value<
3a50: 2f 69 3e 20 70 61 72 61 6d 65 74 65 72 20 6f 66  /i> parameter of
3a60: 20 74 68 65 20 4a 20 63 61 72 64 20 69 73 20 6f   the J card is o
3a70: 6d 69 74 74 65 64 2c 20 74 68 65 6e 20 74 68 65  mitted, then the
3a80: 0a 66 69 65 6c 64 20 69 73 20 73 65 74 20 74 6f  .field is set to
3a90: 20 61 6e 20 65 6d 70 74 79 20 73 74 72 69 6e 67   an empty string
3aa0: 2e 0a 45 61 63 68 20 66 6f 73 73 69 6c 20 73 65  ..Each fossil se
3ab0: 72 76 65 72 20 68 61 73 20 61 20 74 69 63 6b 65  rver has a ticke
3ac0: 74 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20  t configuration 
3ad0: 77 68 69 63 68 20 73 70 65 63 69 66 69 65 73 20  which specifies 
3ae0: 74 68 65 20 66 69 65 6c 64 73 20 69 74 73 0a 75  the fields its.u
3af0: 6e 64 65 72 73 74 61 6e 64 73 2e 20 20 54 68 65  nderstands.  The
3b00: 20 74 69 63 6b 65 74 20 63 6f 6e 66 69 67 75 72   ticket configur
3b10: 61 74 69 6f 6e 20 69 73 20 70 61 72 74 20 6f 66  ation is part of
3b20: 20 74 68 65 20 6c 6f 63 61 6c 20 73 74 61 74 65   the local state
3b30: 20 66 6f 72 0a 74 68 65 20 72 65 70 6f 73 69 74   for.the reposit
3b40: 6f 72 79 20 61 6e 64 20 74 68 75 73 20 63 61 6e  ory and thus can
3b50: 20 76 61 72 79 20 66 72 6f 6d 20 6f 6e 65 20 72   vary from one r
3b60: 65 70 6f 73 69 74 6f 72 79 20 74 6f 20 61 6e 6f  epository to ano
3b70: 74 68 65 72 2e 0a 48 65 6e 63 65 20 61 20 4a 20  ther..Hence a J 
3b80: 63 61 72 64 20 6d 69 67 68 74 20 73 70 65 63 69  card might speci
3b90: 66 79 20 61 20 3c 69 3e 66 69 65 6c 64 3c 2f 69  fy a <i>field</i
3ba0: 3e 20 74 68 61 74 20 64 6f 20 6e 6f 74 20 65 78  > that do not ex
3bb0: 69 73 74 20 69 6e 20 74 68 65 20 0a 6c 6f 63 61  ist in the .loca
3bc0: 6c 20 74 69 63 6b 65 74 20 63 6f 6e 66 69 67 75  l ticket configu
3bd0: 72 61 74 69 6f 6e 2e 20 20 49 66 20 61 20 4a 20  ration.  If a J 
3be0: 63 61 72 64 20 73 70 65 63 69 66 69 65 73 20 61  card specifies a
3bf0: 20 3c 69 3e 66 69 65 6c 64 3c 2f 69 3e 20 74 68   <i>field</i> th
3c00: 61 74 0a 69 73 20 6e 6f 74 20 69 6e 20 74 68 65  at.is not in the
3c10: 20 6c 6f 63 61 6c 20 63 6f 6e 66 69 67 75 72 61   local configura
3c20: 74 69 6f 6e 2c 20 74 68 65 6e 20 74 68 61 74 20  tion, then that 
3c30: 4a 20 63 61 72 64 0a 69 73 20 73 69 6d 70 6c 79  J card.is simply
3c40: 20 69 67 6e 6f 72 65 64 2e 3c 2f 70 3e 0a 0a 3c   ignored.</p>..<
3c50: 70 3e 0a 54 68 65 20 66 69 72 73 74 20 61 72 67  p>.The first arg
3c60: 75 6d 65 6e 74 20 6f 66 20 74 68 65 20 4a 20 63  ument of the J c
3c70: 61 72 64 20 69 73 20 74 68 65 20 66 69 65 6c 64  ard is the field
3c80: 20 6e 61 6d 65 2e 20 20 54 68 65 20 73 65 63 6f   name.  The seco
3c90: 6e 64 0a 76 61 6c 75 65 20 69 73 20 74 68 65 20  nd.value is the 
3ca0: 66 69 65 6c 64 20 76 61 6c 75 65 2e 20 20 49 66  field value.  If
3cb0: 20 74 68 65 20 66 69 65 6c 64 20 6e 61 6d 65 20   the field name 
3cc0: 62 65 67 69 6e 73 20 77 69 74 68 20 22 2b 22 20  begins with "+" 
3cd0: 74 68 65 6e 0a 74 68 65 20 76 61 6c 75 65 20 69  then.the value i
3ce0: 73 20 61 70 70 65 6e 64 65 64 20 74 6f 20 74 68  s appended to th
3cf0: 65 20 70 72 69 6f 72 20 76 61 6c 75 65 2e 20 20  e prior value.  
3d00: 4f 74 68 65 72 77 69 73 65 2c 20 74 68 65 20 76  Otherwise, the v
3d10: 61 6c 75 65 0a 6f 6e 20 74 68 65 20 4a 20 63 61  alue.on the J ca
3d20: 72 64 20 72 65 70 6c 61 63 65 73 20 61 6e 79 20  rd replaces any 
3d30: 70 72 65 76 69 6f 75 73 20 76 61 6c 75 65 20 6f  previous value o
3d40: 66 20 74 68 65 20 66 69 65 6c 64 2e 0a 54 68 65  f the field..The
3d50: 20 66 69 65 6c 64 20 6e 61 6d 65 20 61 6e 64 20   field name and 
3d60: 76 61 6c 75 65 20 61 72 65 20 62 6f 74 68 20 65  value are both e
3d70: 6e 63 6f 64 65 64 20 75 73 69 6e 67 20 74 68 65  ncoded using the
3d80: 20 63 68 61 72 61 63 74 65 72 0a 65 73 63 61 70   character.escap
3d90: 65 73 20 64 65 66 69 6e 65 64 20 66 6f 72 20 74  es defined for t
3da0: 68 65 20 43 20 63 61 72 64 20 6f 66 20 61 20 6d  he C card of a m
3db0: 61 6e 69 66 65 73 74 2e 0a 3c 2f 70 3e 0a        anifest..</p>.