Hex Artifact Content
Not logged in

Artifact e6fabaf4cd609390faaa92b631e3c0c2712adad5:

File www/fileformat.wiki part of check-in [c664695186] - Update the file format documentation. by drh on 2009-01-25 16:00:22.

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 74 68 72 65 65 20  three, or three 
1540: 61 72 67 75 6d 65 6e 74 73 2e 0a 54 68 65 20 66  arguments..The f
1550: 69 72 73 74 20 61 72 67 75 6d 65 6e 74 0a 69 73  irst argument.is
1560: 20 74 68 65 20 70 61 74 68 6e 61 6d 65 20 6f 66   the pathname of
1570: 20 74 68 65 20 66 69 6c 65 20 69 6e 20 74 68 65   the file in the
1580: 20 63 68 65 63 6b 2d 69 6e 20 72 65 6c 61 74 69   check-in relati
1590: 76 65 20 74 6f 20 74 68 65 20 72 6f 6f 74 0a 6f  ve to the root.o
15a0: 66 20 74 68 65 20 70 72 6f 6a 65 63 74 20 66 69  f the project fi
15b0: 6c 65 20 68 69 65 72 61 72 63 68 79 2e 20 20 4e  le hierarchy.  N
15c0: 6f 20 22 2e 2e 22 20 6f 72 20 22 2e 22 20 64 69  o ".." or "." di
15d0: 72 65 63 74 6f 72 69 65 73 20 61 72 65 20 61 6c  rectories are al
15e0: 6c 6f 77 65 64 0a 77 69 74 68 69 6e 20 74 68 65  lowed.within the
15f0: 20 66 69 6c 65 6e 61 6d 65 2e 20 20 53 70 61 63   filename.  Spac
1600: 65 20 63 68 61 72 61 63 74 65 72 73 20 61 72 65  e characters are
1610: 20 65 73 63 61 70 65 64 20 61 73 20 69 6e 20 43   escaped as in C
1620: 2d 63 61 72 64 0a 63 6f 6d 6d 65 6e 74 20 74 65  -card.comment te
1630: 78 74 2e 20 20 42 61 63 6b 73 6c 61 73 68 20 63  xt.  Backslash c
1640: 68 61 72 61 63 74 65 72 73 20 61 6e 64 20 6e 65  haracters and ne
1650: 77 6c 69 6e 65 73 20 61 72 65 20 6e 6f 74 20 61  wlines are not a
1660: 6c 6c 6f 77 65 64 0a 77 69 74 68 69 6e 20 66 69  llowed.within fi
1670: 6c 65 6e 61 6d 65 73 2e 20 20 54 68 65 20 64 69  lenames.  The di
1680: 72 65 63 74 6f 72 79 20 73 65 70 61 72 61 74 6f  rectory separato
1690: 72 20 63 68 61 72 61 63 74 65 72 20 69 73 20 61  r character is a
16a0: 20 66 6f 72 77 61 72 64 0a 73 6c 61 73 68 20 28   forward.slash (
16b0: 41 53 43 49 49 20 30 78 32 46 29 2e 20 20 54 68  ASCII 0x2F).  Th
16c0: 65 20 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e  e second argumen
16d0: 74 20 74 6f 20 74 68 65 20 46 2d 63 61 72 64 20  t to the F-card 
16e0: 69 73 20 74 68 65 0a 66 75 6c 6c 20 34 30 2d 63  is the.full 40-c
16f0: 68 61 72 61 63 74 65 72 20 6c 6f 77 65 72 2d 63  haracter lower-c
1700: 61 73 65 20 68 65 78 61 64 65 63 69 6d 61 6c 20  ase hexadecimal 
1710: 53 48 41 31 20 68 61 73 68 20 6f 66 20 74 68 65  SHA1 hash of the
1720: 20 63 6f 6e 74 65 6e 74 0a 61 72 74 69 66 61 63   content.artifac
1730: 74 2e 20 20 54 68 65 20 6f 70 74 69 6f 6e 61 6c  t.  The optional
1740: 20 33 72 64 20 61 72 67 75 6d 65 6e 74 20 64 65   3rd argument de
1750: 66 69 6e 65 73 20 61 6e 79 20 73 70 65 63 69 61  fines any specia
1760: 6c 20 61 63 63 65 73 73 20 0a 70 65 72 6d 69 73  l access .permis
1770: 73 69 6f 6e 73 20 61 73 73 6f 63 69 61 74 65 64  sions associated
1780: 20 77 69 74 68 20 74 68 65 20 66 69 6c 65 2e 20   with the file. 
1790: 20 54 68 65 20 6f 6e 6c 79 20 73 70 65 63 69 61   The only specia
17a0: 6c 20 63 6f 64 65 20 63 75 72 72 65 6e 74 6c 79  l code currently
17b0: 0a 64 65 66 69 6e 65 64 20 69 73 20 22 78 22 20  .defined is "x" 
17c0: 77 68 69 63 68 20 6d 65 61 6e 73 20 74 68 61 74  which means that
17d0: 20 74 68 65 20 66 69 6c 65 20 69 73 20 65 78 65   the file is exe
17e0: 63 75 74 61 62 6c 65 2e 20 20 41 6c 6c 20 66 69  cutable.  All fi
17f0: 6c 65 73 20 61 72 65 0a 61 6c 77 61 79 73 20 72  les are.always r
1800: 65 61 64 61 62 6c 65 20 61 6e 64 20 77 72 69 74  eadable and writ
1810: 61 62 6c 65 2e 20 20 54 68 69 73 20 63 61 6e 20  able.  This can 
1820: 62 65 20 65 78 70 72 65 73 73 65 64 20 62 79 20  be expressed by 
1830: 22 77 22 20 70 65 72 6d 69 73 73 69 6f 6e 0a 69  "w" permission.i
1840: 66 20 64 65 73 69 72 65 64 20 62 75 74 20 69 73  f desired but is
1850: 20 6f 70 74 69 6f 6e 61 6c 2e 0a 54 68 65 20 6f   optional..The o
1860: 70 74 69 6f 6e 61 6c 20 34 74 68 20 61 72 67 75  ptional 4th argu
1870: 6d 65 6e 74 20 69 73 20 74 68 65 20 6e 61 6d 65  ment is the name
1880: 20 6f 66 20 74 68 65 20 73 61 6d 65 20 66 69 6c   of the same fil
1890: 65 20 61 73 20 69 74 20 65 78 69 73 74 65 64 20  e as it existed 
18a0: 69 6e 0a 74 68 65 20 70 61 72 65 6e 74 20 63 68  in.the parent ch
18b0: 65 63 6b 2d 69 6e 2e 20 20 49 66 20 74 68 65 20  eck-in.  If the 
18c0: 6e 61 6d 65 20 6f 66 20 74 68 65 20 66 69 6c 65  name of the file
18d0: 20 69 73 20 75 6e 63 68 61 6e 67 65 64 20 66 72   is unchanged fr
18e0: 6f 6d 20 69 74 73 0a 70 61 72 65 6e 74 2c 20 74  om its.parent, t
18f0: 68 65 6e 20 74 68 65 20 34 74 68 20 61 72 67 75  hen the 4th argu
1900: 6d 65 6e 74 20 69 73 20 6f 6d 69 74 74 65 64 2e  ment is omitted.
1910: 0a 3c 2f 70 3e 0a 0a 3c 70 3e 0a 41 20 6d 61 6e  .</p>..<p>.A man
1920: 69 66 65 73 74 20 68 61 73 20 7a 65 72 6f 20 6f  ifest has zero o
1930: 72 20 6d 6f 72 65 20 4e 2d 63 61 72 64 73 2e 20  r more N-cards. 
1940: 20 45 61 63 68 20 4e 20 63 61 72 64 20 72 65 63   Each N card rec
1950: 6f 72 64 73 20 61 20 6e 61 6d 65 20 63 68 61 6e  ords a name chan
1960: 67 65 73 0a 74 6f 20 6f 6e 65 20 6f 66 20 74 68  ges.to one of th
1970: 65 20 66 69 6c 65 73 20 69 6e 20 74 68 65 20 6d  e files in the m
1980: 61 6e 69 66 65 73 74 2e 20 20 54 68 65 20 66 69  anifest.  The fi
1990: 72 73 74 20 61 72 67 75 6d 65 6e 74 20 74 6f 20  rst argument to 
19a0: 74 68 65 20 4e 20 63 6f 64 65 20 69 73 0a 74 68  the N code is.th
19b0: 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 66 69  e name of the fi
19c0: 6c 65 20 69 6e 20 74 68 65 20 70 61 72 65 6e 74  le in the parent
19d0: 20 63 68 65 63 6b 2d 69 6e 2e 20 20 54 68 65 20   check-in.  The 
19e0: 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e 74 20  second argument 
19f0: 69 73 20 74 68 65 0a 6e 61 6d 65 20 6f 66 20 74  is the.name of t
1a00: 68 65 20 66 69 6c 65 20 69 6e 20 74 68 65 20 63  he file in the c
1a10: 68 65 63 6b 2d 69 6e 20 64 65 66 69 6e 65 64 20  heck-in defined 
1a20: 62 79 20 74 68 65 20 6d 61 6e 69 66 65 73 74 2e  by the manifest.
1a30: 0a 3c 2f 70 3e 0a 0a 3c 70 3e 0a 41 20 6d 61 6e  .</p>..<p>.A man
1a40: 69 66 65 73 74 20 68 61 73 20 7a 65 72 6f 20 6f  ifest has zero o
1a50: 72 20 6f 6e 65 20 50 2d 63 61 72 64 73 2e 20 20  r one P-cards.  
1a60: 4d 6f 73 74 20 6d 61 6e 69 66 65 73 74 73 20 68  Most manifests h
1a70: 61 76 65 20 6f 6e 65 20 50 2d 63 61 72 64 2e 0a  ave one P-card..
1a80: 54 68 65 20 50 2d 63 61 72 64 20 68 61 73 20 61  The P-card has a
1a90: 20 76 61 72 79 69 6e 67 20 6e 75 6d 62 65 72 20   varying number 
1aa0: 6f 66 20 61 72 67 75 6d 65 6e 74 73 20 74 68 61  of arguments tha
1ab0: 74 0a 64 65 66 69 6e 65 73 20 6f 74 68 65 72 20  t.defines other 
1ac0: 6d 61 6e 69 66 65 73 74 73 20 66 72 6f 6d 20 77  manifests from w
1ad0: 68 69 63 68 20 74 68 65 20 63 75 72 72 65 6e 74  hich the current
1ae0: 20 6d 61 6e 69 66 65 73 74 0a 69 73 20 64 65 72   manifest.is der
1af0: 69 76 65 64 2e 20 20 45 61 63 68 20 61 72 67 75  ived.  Each argu
1b00: 6d 65 6e 74 20 69 73 20 61 6e 20 34 30 2d 63 68  ment is an 40-ch
1b10: 61 72 61 63 74 65 72 20 6c 6f 77 65 72 63 61 73  aracter lowercas
1b20: 65 20 0a 68 65 78 61 64 65 63 69 6d 61 6c 20 53  e .hexadecimal S
1b30: 48 41 31 20 6f 66 20 74 68 65 20 70 72 65 64 65  HA1 of the prede
1b40: 63 65 73 73 6f 72 20 6d 61 6e 69 66 65 73 74 2e  cessor manifest.
1b50: 20 20 41 6c 6c 20 61 72 67 75 6d 65 6e 74 73 0a    All arguments.
1b60: 74 6f 20 74 68 65 20 50 2d 63 61 72 64 20 6d 75  to the P-card mu
1b70: 73 74 20 62 65 20 75 6e 69 71 75 65 20 74 6f 20  st be unique to 
1b80: 74 68 61 74 20 6c 69 6e 65 2e 0a 54 68 65 20 66  that line..The f
1b90: 69 72 73 74 20 70 72 65 64 65 63 65 73 73 6f 72  irst predecessor
1ba0: 20 69 73 20 74 68 65 20 64 69 72 65 63 74 20 61   is the direct a
1bb0: 6e 63 65 73 74 6f 72 20 6f 66 20 74 68 65 20 6d  ncestor of the m
1bc0: 61 6e 69 66 65 73 74 2e 0a 4f 74 68 65 72 20 61  anifest..Other a
1bd0: 72 67 75 6d 65 6e 74 73 20 64 65 66 69 6e 65 20  rguments define 
1be0: 6d 61 6e 69 66 65 73 74 73 20 77 69 74 68 20 77  manifests with w
1bf0: 68 69 63 68 20 74 68 65 20 66 69 72 73 74 20 77  hich the first w
1c00: 61 73 0a 6d 65 72 67 65 64 20 74 6f 20 79 69 65  as.merged to yie
1c10: 6c 64 20 74 68 65 20 63 75 72 72 65 6e 74 20 6d  ld the current m
1c20: 61 6e 69 66 65 73 74 2e 20 20 4d 6f 73 74 20 6d  anifest.  Most m
1c30: 61 6e 69 66 65 73 74 73 20 68 61 76 65 0a 61 20  anifests have.a 
1c40: 50 2d 63 61 72 64 20 77 69 74 68 20 61 20 73 69  P-card with a si
1c50: 6e 67 6c 65 20 61 72 67 75 6d 65 6e 74 2e 20 20  ngle argument.  
1c60: 54 68 65 20 66 69 72 73 74 20 6d 61 6e 69 66 65  The first manife
1c70: 73 74 20 69 6e 20 74 68 65 0a 70 72 6f 6a 65 63  st in the.projec
1c80: 74 20 68 61 73 20 6e 6f 20 61 6e 63 65 73 74 6f  t has no ancesto
1c90: 72 73 20 61 6e 64 20 74 68 75 73 20 68 61 73 20  rs and thus has 
1ca0: 6e 6f 20 50 2d 63 61 72 64 2e 0a 3c 2f 70 3e 0a  no P-card..</p>.
1cb0: 0a 3c 70 3e 0a 41 20 6d 61 6e 69 66 65 73 74 20  .<p>.A manifest 
1cc0: 6d 61 79 20 6f 70 74 69 6f 6e 61 6c 6c 79 20 68  may optionally h
1cd0: 61 76 65 20 61 20 73 69 6e 67 6c 65 20 52 2d 63  ave a single R-c
1ce0: 61 72 64 2e 20 20 54 68 65 20 52 2d 63 61 72 64  ard.  The R-card
1cf0: 20 68 61 73 0a 61 20 73 69 6e 67 6c 65 20 61 72   has.a single ar
1d00: 67 75 6d 65 6e 74 20 77 68 69 63 68 20 69 73 20  gument which is 
1d10: 74 68 65 20 4d 44 35 20 63 68 65 63 6b 73 75 6d  the MD5 checksum
1d20: 20 6f 66 20 61 6c 6c 20 66 69 6c 65 73 20 69 6e   of all files in
1d30: 20 0a 74 68 65 20 63 68 65 63 6b 2d 69 6e 20 65   .the check-in e
1d40: 78 63 65 70 74 20 74 68 65 20 6d 61 6e 69 66 65  xcept the manife
1d50: 73 74 20 69 74 73 65 6c 66 2e 20 20 54 68 65 20  st itself.  The 
1d60: 63 68 65 63 6b 73 75 6d 20 69 73 20 65 78 70 72  checksum is expr
1d70: 65 73 73 65 64 0a 61 73 20 33 32 2d 63 68 61 72  essed.as 32-char
1d80: 61 63 74 65 72 73 20 6f 66 20 6c 6f 77 65 72 63  acters of lowerc
1d90: 61 73 65 20 68 65 78 61 64 65 63 69 6d 61 6c 2e  ase hexadecimal.
1da0: 20 20 20 54 68 65 20 63 68 65 63 6b 73 75 6d 20     The checksum 
1db0: 69 73 0a 63 6f 6d 70 75 74 65 64 20 61 73 20 66  is.computed as f
1dc0: 6f 6c 6c 6f 77 73 3a 20 20 46 6f 72 20 65 61 63  ollows:  For eac
1dd0: 68 20 66 69 6c 65 20 69 6e 20 74 68 65 20 63 68  h file in the ch
1de0: 65 63 6b 2d 69 6e 20 28 65 78 63 65 70 74 20 66  eck-in (except f
1df0: 6f 72 0a 74 68 65 20 6d 61 6e 69 66 65 73 74 20  or.the manifest 
1e00: 69 74 73 65 6c 66 29 20 69 6e 20 73 74 72 69 63  itself) in stric
1e10: 74 20 73 6f 72 74 65 64 20 6c 65 78 69 63 6f 67  t sorted lexicog
1e20: 72 61 70 68 69 63 61 6c 20 6f 72 64 65 72 2c 20  raphical order, 
1e30: 0a 74 61 6b 65 20 74 68 65 20 70 61 74 68 6e 61  .take the pathna
1e40: 6d 65 20 6f 66 20 74 68 65 20 66 69 6c 65 20 72  me of the file r
1e50: 65 6c 61 74 69 76 65 20 74 6f 20 74 68 65 20 72  elative to the r
1e60: 6f 6f 74 20 6f 66 20 74 68 65 0a 72 65 70 6f 73  oot of the.repos
1e70: 69 74 6f 72 79 2c 20 61 70 70 65 6e 64 20 61 20  itory, append a 
1e80: 73 69 6e 67 6c 65 20 73 70 61 63 65 20 28 41 53  single space (AS
1e90: 43 49 49 20 30 78 32 30 29 2c 20 74 68 65 0a 73  CII 0x20), the.s
1ea0: 69 7a 65 20 6f 66 20 74 68 65 20 66 69 6c 65 20  ize of the file 
1eb0: 69 6e 20 41 53 43 49 49 20 64 65 63 69 6d 61 6c  in ASCII decimal
1ec0: 2c 20 61 20 73 69 6e 67 6c 65 20 6e 65 77 6c 69  , a single newli
1ed0: 6e 65 0a 63 68 61 72 61 63 74 65 72 20 28 41 53  ne.character (AS
1ee0: 43 49 49 20 30 78 30 41 29 2c 20 61 6e 64 20 74  CII 0x0A), and t
1ef0: 68 65 20 63 6f 6d 70 6c 65 74 65 20 74 65 78 74  he complete text
1f00: 20 6f 66 20 74 68 65 20 66 69 6c 65 2e 0a 43 6f   of the file..Co
1f10: 6d 70 75 74 65 20 74 68 65 20 4d 44 35 20 63 68  mpute the MD5 ch
1f20: 65 63 6b 73 75 6d 20 6f 66 20 74 68 65 20 74 68  ecksum of the th
1f30: 65 20 72 65 73 75 6c 74 2e 0a 3c 2f 70 3e 0a 0a  e result..</p>..
1f40: 3c 70 3e 0a 41 20 6d 61 6e 69 66 65 73 74 20 6d  <p>.A manifest m
1f50: 69 67 68 74 20 63 6f 6e 74 61 69 6e 20 6f 6e 65  ight contain one
1f60: 20 6f 72 20 6d 6f 72 65 20 54 2d 63 61 72 64 73   or more T-cards
1f70: 20 75 73 65 64 20 74 6f 20 73 65 74 20 74 61 67   used to set tag
1f80: 73 20 6f 72 0a 70 72 6f 70 65 72 74 69 65 73 20  s or.properties 
1f90: 6f 6e 20 74 68 65 20 63 68 65 63 6b 2d 69 6e 2e  on the check-in.
1fa0: 20 20 54 68 65 20 66 6f 72 6d 61 74 20 6f 66 20    The format of 
1fb0: 74 68 65 20 54 2d 63 61 72 64 20 69 73 20 74 68  the T-card is th
1fc0: 65 20 73 61 6d 65 20 61 73 0a 64 65 73 63 72 69  e same as.descri
1fd0: 62 65 64 20 69 6e 20 3c 69 3e 43 6f 6e 74 72 6f  bed in <i>Contro
1fe0: 6c 20 41 72 74 69 66 61 63 74 73 3c 2f 69 3e 20  l Artifacts</i> 
1ff0: 73 65 63 74 69 6f 6e 20 62 65 6c 6f 77 2c 20 65  section below, e
2000: 78 63 65 70 74 20 74 68 61 74 20 74 68 65 0a 73  xcept that the.s
2010: 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e 74 20 69  econd argument i
2020: 73 20 74 68 65 20 73 69 6e 67 6c 65 20 63 68 61  s the single cha
2030: 72 61 63 63 74 65 72 20 22 3c 62 3e 2a 3c 2f 62  raccter "<b>*</b
2040: 3e 22 20 69 6e 73 74 65 61 64 20 6f 66 20 61 6e  >" instead of an
2050: 0a 61 72 74 69 66 61 63 74 20 49 44 2e 20 20 54  .artifact ID.  T
2060: 68 65 20 3c 62 3e 2a 3c 2f 62 3e 20 69 6e 20 70  he <b>*</b> in p
2070: 6c 61 63 65 20 6f 66 20 74 68 65 20 61 72 74 69  lace of the arti
2080: 66 61 63 74 20 49 44 20 69 6e 64 69 63 61 74 65  fact ID indicate
2090: 73 20 74 68 61 74 0a 74 68 65 20 74 61 67 20 6f  s that.the tag o
20a0: 72 20 70 72 6f 70 65 72 74 79 20 61 70 70 6c 69  r property appli
20b0: 65 73 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e  es to the curren
20c0: 74 20 61 72 74 69 66 61 63 74 2e 20 20 49 74 20  t artifact.  It 
20d0: 69 73 20 6e 6f 74 0a 70 6f 73 73 69 62 6c 65 20  is not.possible 
20e0: 74 6f 20 65 6e 63 6f 64 65 20 74 68 65 20 63 75  to encode the cu
20f0: 72 72 65 6e 74 20 61 72 74 69 66 61 63 74 20 49  rrent artifact I
2100: 44 20 61 73 20 70 61 72 74 20 6f 66 20 61 6e 20  D as part of an 
2110: 61 72 74 69 66 61 63 74 2c 0a 73 69 6e 63 65 20  artifact,.since 
2120: 74 68 65 20 61 63 74 20 6f 66 20 69 6e 73 65 72  the act of inser
2130: 74 69 6e 67 20 74 68 65 20 61 72 74 69 66 61 63  ting the artifac
2140: 74 20 49 44 20 77 6f 75 6c 64 20 63 68 61 6e 67  t ID would chang
2150: 65 20 74 68 65 20 61 72 74 69 66 61 63 74 20 49  e the artifact I
2160: 44 2c 0a 68 65 6e 63 65 20 61 20 3c 62 3e 2a 3c  D,.hence a <b>*<
2170: 2f 62 3e 20 69 73 20 75 73 65 64 20 74 6f 20 72  /b> is used to r
2180: 65 70 72 65 73 65 6e 74 20 22 73 65 6c 66 22 2e  epresent "self".
2190: 20 20 54 2d 63 61 72 64 73 20 61 72 65 20 74 79    T-cards are ty
21a0: 70 69 63 61 6c 6c 79 0a 61 64 64 65 64 20 74 6f  pically.added to
21b0: 20 6d 61 6e 69 66 65 73 74 73 20 69 6e 20 6f 72   manifests in or
21c0: 64 65 72 20 74 6f 20 73 65 74 20 74 68 65 20 3c  der to set the <
21d0: 62 3e 62 72 61 6e 63 68 3c 2f 62 3e 20 70 72 6f  b>branch</b> pro
21e0: 70 65 72 74 79 20 61 6e 64 20 61 0a 73 79 6d 62  perty and a.symb
21f0: 6f 6c 69 63 20 6e 61 6d 65 20 77 68 65 6e 20 74  olic name when t
2200: 68 65 20 63 68 65 63 6b 2d 69 6e 20 69 73 20 69  he check-in is i
2210: 6e 74 65 6e 64 65 64 20 74 6f 20 73 74 61 72 74  ntended to start
2220: 20 61 20 6e 65 77 20 62 72 61 6e 63 68 2e 0a 3c   a new branch..<
2230: 2f 70 3e 0a 0a 3c 70 3e 0a 45 61 63 68 20 6d 61  /p>..<p>.Each ma
2240: 6e 69 66 65 73 74 20 68 61 73 20 61 20 73 69 6e  nifest has a sin
2250: 67 6c 65 20 55 2d 63 61 72 64 2e 20 20 54 68 65  gle U-card.  The
2260: 20 61 72 67 75 6d 65 6e 74 20 74 6f 20 74 68 65   argument to the
2270: 20 55 2d 63 61 72 64 20 69 73 0a 74 68 65 20 6c   U-card is.the l
2280: 6f 67 69 6e 20 6f 66 20 74 68 65 20 75 73 65 72  ogin of the user
2290: 20 77 68 6f 20 63 72 65 61 74 65 64 20 74 68 65   who created the
22a0: 20 6d 61 6e 69 66 65 73 74 2e 20 20 54 68 65 20   manifest.  The 
22b0: 6c 6f 67 69 6e 20 6e 61 6d 65 0a 69 73 20 65 6e  login name.is en
22c0: 63 6f 64 65 64 20 75 73 69 6e 67 20 74 68 65 20  coded using the 
22d0: 73 61 6d 65 20 63 68 61 72 61 63 74 65 72 20 65  same character e
22e0: 73 63 61 70 65 73 20 61 73 20 69 73 20 75 73 65  scapes as is use
22f0: 64 20 66 6f 72 20 74 68 65 0a 63 68 65 63 6b 2d  d for the.check-
2300: 69 6e 20 63 6f 6d 6d 65 6e 74 20 61 72 67 75 6d  in comment argum
2310: 65 6e 74 20 74 6f 20 74 68 65 20 43 2d 63 61 72  ent to the C-car
2320: 64 2e 0a 3c 2f 70 3e 0a 0a 3c 70 3e 0a 41 20 6d  d..</p>..<p>.A m
2330: 61 6e 69 66 65 73 74 20 68 61 73 20 61 6e 20 6f  anifest has an o
2340: 70 74 69 6f 6e 20 5a 2d 63 61 72 64 20 61 73 20  ption Z-card as 
2350: 69 74 73 20 6c 61 73 74 20 6c 69 6e 65 2e 20 20  its last line.  
2360: 54 68 65 20 61 72 67 75 6d 65 6e 74 0a 74 6f 20  The argument.to 
2370: 74 68 65 20 5a 2d 63 61 72 64 20 69 73 20 61 20  the Z-card is a 
2380: 33 32 2d 63 68 61 72 61 63 74 65 72 20 6c 6f 77  32-character low
2390: 65 72 63 61 73 65 20 68 65 78 61 64 65 63 69 6d  ercase hexadecim
23a0: 61 6c 20 4d 44 35 20 68 61 73 68 0a 6f 66 20 61  al MD5 hash.of a
23b0: 6c 6c 20 70 72 69 6f 72 20 6c 69 6e 65 73 20 6f  ll prior lines o
23c0: 66 20 74 68 65 20 6d 61 6e 69 66 65 73 74 20 75  f the manifest u
23d0: 70 20 74 6f 20 61 6e 64 20 69 6e 63 6c 75 64 69  p to and includi
23e0: 6e 67 20 74 68 65 20 6e 65 77 6c 69 6e 65 20 0a  ng the newline .
23f0: 63 68 61 72 61 63 74 65 72 20 74 68 61 74 20 69  character that i
2400: 6d 6d 65 64 69 61 74 65 6c 79 20 70 72 65 63 65  mmediately prece
2410: 64 65 73 20 74 68 65 20 22 5a 22 2e 20 20 54 68  des the "Z".  Th
2420: 65 20 5a 2d 63 61 72 64 20 69 73 20 6a 75 73 74  e Z-card is just
2430: 0a 61 20 73 61 6e 69 74 79 20 63 68 65 63 6b 20  .a sanity check 
2440: 74 6f 20 70 72 6f 76 65 20 74 68 61 74 20 74 68  to prove that th
2450: 65 20 6d 61 6e 69 66 65 73 74 20 69 73 20 77 65  e manifest is we
2460: 6c 6c 2d 66 6f 72 6d 65 64 20 61 6e 64 0a 63 6f  ll-formed and.co
2470: 6e 73 69 73 74 65 6e 74 2e 0a 3c 2f 70 3e 0a 0a  nsistent..</p>..
2480: 3c 68 32 3e 32 2e 30 20 43 6c 75 73 74 65 72 73  <h2>2.0 Clusters
2490: 3c 2f 68 32 3e 0a 0a 3c 70 3e 0a 41 20 63 6c 75  </h2>..<p>.A clu
24a0: 73 74 65 72 20 69 73 20 61 20 61 72 74 69 66 61  ster is a artifa
24b0: 63 74 20 74 68 61 74 20 64 65 63 6c 61 72 65 73  ct that declares
24c0: 20 74 68 65 20 65 78 69 73 74 65 6e 63 65 20 6f   the existence o
24d0: 66 20 6f 74 68 65 72 20 61 72 74 69 66 61 63 74  f other artifact
24e0: 73 2e 0a 43 6c 75 73 74 65 72 73 20 61 72 65 20  s..Clusters are 
24f0: 75 73 65 64 20 64 75 72 69 6e 67 20 72 65 70 6f  used during repo
2500: 73 69 74 6f 72 79 20 73 79 6e 63 68 72 6f 6e 69  sitory synchroni
2510: 7a 61 74 69 6f 6e 20 74 6f 20 68 65 6c 70 20 0a  zation to help .
2520: 72 65 64 75 63 65 20 6e 65 74 77 6f 72 6b 20 74  reduce network t
2530: 72 61 66 66 69 63 2e 20 20 41 73 20 73 75 63 68  raffic.  As such
2540: 2c 20 63 6c 75 73 74 65 72 73 20 61 72 65 20 61  , clusters are a
2550: 6e 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 20 61  n optimization a
2560: 6e 64 0a 6d 61 79 20 62 65 20 72 65 6d 6f 76 65  nd.may be remove
2570: 64 20 66 72 6f 6d 20 61 20 72 65 70 6f 73 69 74  d from a reposit
2580: 6f 72 79 20 77 69 74 68 6f 75 74 20 6c 6f 73 73  ory without loss
2590: 20 6f 72 20 64 61 6d 61 67 65 20 74 6f 20 74 68   or damage to th
25a0: 65 0a 75 6e 64 65 72 6c 79 69 6e 67 20 70 72 6f  e.underlying pro
25b0: 6a 65 63 74 20 63 6f 64 65 2e 0a 3c 2f 70 3e 0a  ject code..</p>.
25c0: 0a 3c 70 3e 0a 43 6c 75 73 74 65 72 73 20 66 6f  .<p>.Clusters fo
25d0: 6c 6c 6f 77 20 61 20 73 79 6e 74 61 78 20 74 68  llow a syntax th
25e0: 61 74 20 69 73 20 76 65 72 79 20 73 69 6d 69 6c  at is very simil
25f0: 61 72 20 74 6f 20 6d 61 6e 69 66 65 73 74 73 2e  ar to manifests.
2600: 0a 41 20 43 6c 75 73 74 65 72 20 69 73 20 61 20  .A Cluster is a 
2610: 6c 69 6e 65 2d 6f 72 69 65 6e 74 65 64 20 74 65  line-oriented te
2620: 78 74 20 66 69 6c 65 2e 20 20 4e 65 77 6c 69 6e  xt file.  Newlin
2630: 65 20 63 68 61 72 61 63 74 65 72 73 0a 28 41 53  e characters.(AS
2640: 43 49 49 20 30 78 30 61 29 20 73 65 70 61 72 61  CII 0x0a) separa
2650: 74 65 20 74 68 65 20 61 72 74 69 66 61 63 74 20  te the artifact 
2660: 69 6e 74 6f 20 63 61 72 64 73 2e 20 20 45 61 63  into cards.  Eac
2670: 68 20 63 61 72 64 20 62 65 67 69 6e 73 20 77 69  h card begins wi
2680: 74 68 20 61 20 73 69 6e 67 6c 65 0a 63 68 61 72  th a single.char
2690: 61 63 74 65 72 20 22 63 61 72 64 20 74 79 70 65  acter "card type
26a0: 22 2e 20 20 5a 65 72 6f 20 6f 72 20 6d 6f 72 65  ".  Zero or more
26b0: 20 61 72 67 75 6d 65 6e 74 73 20 6d 61 79 20 66   arguments may f
26c0: 6f 6c 6c 6f 77 0a 74 68 65 20 63 61 72 64 20 74  ollow.the card t
26d0: 79 70 65 2e 20 20 41 6c 6c 20 61 72 67 75 6d 65  ype.  All argume
26e0: 6e 74 73 20 61 72 65 20 73 65 70 61 72 61 74 65  nts are separate
26f0: 64 20 66 72 6f 6d 20 65 61 63 68 20 6f 74 68 65  d from each othe
2700: 72 0a 61 6e 64 20 66 72 6f 6d 20 74 68 65 20 63  r.and from the c
2710: 61 72 64 2d 74 79 70 65 20 63 68 61 72 61 63 74  ard-type charact
2720: 65 72 20 62 79 20 61 20 73 69 6e 67 6c 65 20 73  er by a single s
2730: 70 61 63 65 0a 63 68 61 72 61 63 74 65 72 2e 20  pace.character. 
2740: 20 54 68 65 72 65 20 69 73 20 6e 6f 20 73 75 72   There is no sur
2750: 70 6c 75 73 20 77 68 69 74 65 20 73 70 61 63 65  plus white space
2760: 20 62 65 74 77 65 65 6e 20 61 72 67 75 6d 65 6e   between argumen
2770: 74 73 0a 61 6e 64 20 6e 6f 20 6c 65 61 64 69 6e  ts.and no leadin
2780: 67 20 6f 72 20 74 72 61 69 6c 69 6e 67 20 77 68  g or trailing wh
2790: 69 74 65 73 70 61 63 65 20 65 78 63 65 70 74 20  itespace except 
27a0: 66 6f 72 20 74 68 65 20 6e 65 77 6c 69 6e 65 20  for the newline 
27b0: 0a 63 68 61 72 61 63 74 65 72 20 74 68 61 74 20  .character that 
27c0: 61 63 74 73 20 61 73 20 74 68 65 20 63 61 72 64  acts as the card
27d0: 20 73 65 70 61 72 61 74 6f 72 2e 0a 41 6c 6c 20   separator..All 
27e0: 63 61 72 64 73 20 6f 66 20 61 20 63 6c 75 73 74  cards of a clust
27f0: 65 72 20 6f 63 63 75 72 20 69 6e 20 73 74 72 69  er occur in stri
2800: 63 74 20 73 6f 72 74 65 64 20 6c 65 78 69 63 6f  ct sorted lexico
2810: 67 72 61 70 68 69 63 61 6c 20 6f 72 64 65 72 2e  graphical order.
2820: 0a 4e 6f 20 63 61 72 64 20 6d 61 79 20 62 65 20  .No card may be 
2830: 64 75 70 6c 69 63 61 74 65 64 2e 0a 54 68 65 20  duplicated..The 
2840: 63 6c 75 73 74 65 72 20 6d 61 79 20 6e 6f 74 20  cluster may not 
2850: 63 6f 6e 74 61 69 6e 20 61 64 64 69 74 69 6f 6e  contain addition
2860: 61 6c 20 74 65 78 74 20 6f 72 20 64 61 74 61 20  al text or data 
2870: 62 65 79 6f 6e 64 20 0a 77 68 61 74 20 69 73 20  beyond .what is 
2880: 64 65 73 63 72 69 62 65 64 20 68 65 72 65 2e 0a  described here..
2890: 55 6e 6c 69 6b 65 20 6d 61 6e 69 66 65 73 74 73  Unlike manifests
28a0: 2c 20 63 6c 75 73 74 65 72 73 20 61 72 65 20 6e  , clusters are n
28b0: 65 76 65 72 20 50 47 50 20 73 69 67 6e 65 64 2e  ever PGP signed.
28c0: 0a 3c 2f 70 3e 0a 0a 3c 70 3e 0a 41 6c 6c 6f 77  .</p>..<p>.Allow
28d0: 65 64 20 63 61 72 64 73 20 69 6e 20 74 68 65 20  ed cards in the 
28e0: 63 6c 75 73 74 65 72 20 61 72 65 20 61 73 20 66  cluster are as f
28f0: 6f 6c 6c 6f 77 73 3a 0a 3c 2f 70 3e 0a 0a 3c 62  ollows:.</p>..<b
2900: 6c 6f 63 6b 71 75 6f 74 65 3e 0a 3c 62 3e 4d 3c  lockquote>.<b>M<
2910: 2f 62 3e 20 3c 69 3e 61 72 74 69 66 61 63 74 2d  /b> <i>artifact-
2920: 69 64 3c 2f 69 3e 3c 62 72 20 2f 3e 0a 3c 62 3e  id</i><br />.<b>
2930: 5a 3c 2f 62 3e 20 3c 69 3e 63 68 65 63 6b 73 75  Z</b> <i>checksu
2940: 6d 3c 2f 69 3e 0a 3c 2f 62 6c 6f 63 6b 71 75 6f  m</i>.</blockquo
2950: 74 65 3e 0a 0a 3c 70 3e 0a 41 20 63 6c 75 73 74  te>..<p>.A clust
2960: 65 72 20 63 6f 6e 74 61 69 6e 73 20 6f 6e 65 20  er contains one 
2970: 6f 72 20 6d 6f 72 65 20 22 4d 22 20 63 61 72 64  or more "M" card
2980: 73 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 61 20  s followed by a 
2990: 73 69 6e 67 6c 65 20 22 5a 22 0a 6c 69 6e 65 2e  single "Z".line.
29a0: 20 20 45 61 63 68 20 4d 20 63 61 72 64 20 68 61    Each M card ha
29b0: 73 20 61 20 73 69 6e 67 6c 65 20 61 72 67 75 6d  s a single argum
29c0: 65 6e 74 20 77 68 69 63 68 20 69 73 20 74 68 65  ent which is the
29d0: 20 61 72 74 69 66 61 63 74 20 49 44 20 6f 66 20   artifact ID of 
29e0: 0a 61 6e 6f 74 68 65 72 20 61 72 74 69 66 61 63  .another artifac
29f0: 74 20 69 6e 20 74 68 65 20 72 65 70 6f 73 69 74  t in the reposit
2a00: 6f 72 79 2e 20 20 54 68 65 20 5a 20 63 61 72 64  ory.  The Z card
2a10: 20 77 6f 72 6b 20 65 78 61 63 74 6c 79 20 6c 69   work exactly li
2a20: 6b 65 0a 74 68 65 20 5a 20 63 61 72 64 20 6f 66  ke.the Z card of
2a30: 20 61 20 6d 61 6e 69 66 65 73 74 2e 20 20 54 68   a manifest.  Th
2a40: 65 20 61 72 67 75 6d 65 6e 74 20 74 6f 20 74 68  e argument to th
2a50: 65 20 5a 20 63 61 72 64 20 69 73 20 74 68 65 0a  e Z card is the.
2a60: 6c 6f 77 65 72 2d 63 61 73 65 20 68 65 78 61 64  lower-case hexad
2a70: 65 63 69 6d 61 6c 20 72 65 70 72 65 73 65 6e 74  ecimal represent
2a80: 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 4d 44 35  ation of the MD5
2a90: 20 63 68 65 63 6b 73 75 6d 20 6f 66 20 61 6c 6c   checksum of all
2aa0: 0a 70 72 69 6f 72 20 63 61 72 64 73 20 69 6e 20  .prior cards in 
2ab0: 74 68 65 20 63 6c 75 73 74 65 72 2e 20 20 4e 6f  the cluster.  No
2ac0: 74 65 20 74 68 61 74 20 74 68 65 20 5a 20 63 61  te that the Z ca
2ad0: 72 64 20 69 73 20 72 65 71 75 69 72 65 64 0a 6f  rd is required.o
2ae0: 6e 20 61 20 63 6c 75 73 74 65 72 2e 0a 3c 2f 70  n a cluster..</p
2af0: 3e 0a 0a 0a 3c 68 32 3e 33 2e 30 20 43 6f 6e 74  >...<h2>3.0 Cont
2b00: 72 6f 6c 20 41 72 74 69 66 61 63 74 73 3c 2f 68  rol Artifacts</h
2b10: 32 3e 0a 0a 3c 70 3e 0a 43 6f 6e 74 72 6f 6c 20  2>..<p>.Control 
2b20: 61 72 74 69 66 61 63 74 73 20 61 72 65 20 75 73  artifacts are us
2b30: 65 64 20 74 6f 20 61 73 73 69 67 6e 20 70 72 6f  ed to assign pro
2b40: 70 65 72 74 69 65 73 20 74 6f 20 6f 74 68 65 72  perties to other
2b50: 20 61 72 74 69 66 61 63 74 73 0a 77 69 74 68 69   artifacts.withi
2b60: 6e 20 74 68 65 20 72 65 70 6f 73 69 74 6f 72 79  n the repository
2b70: 2e 20 20 54 68 65 20 62 61 73 69 63 20 66 6f 72  .  The basic for
2b80: 6d 61 74 20 6f 66 20 61 20 63 6f 6e 74 72 6f 6c  mat of a control
2b90: 20 61 72 74 69 66 61 63 74 20 69 73 0a 74 68 65   artifact is.the
2ba0: 20 73 61 6d 65 20 61 73 20 61 20 6d 61 6e 69 66   same as a manif
2bb0: 65 73 74 20 6f 72 20 63 6c 75 73 74 65 72 2e 20  est or cluster. 
2bc0: 20 41 20 63 6f 6e 74 72 6f 6c 20 61 72 74 69 66   A control artif
2bd0: 61 63 74 20 69 73 20 61 20 74 65 78 74 0a 66 69  act is a text.fi
2be0: 6c 65 73 20 64 69 76 69 64 65 64 20 69 6e 74 6f  les divided into
2bf0: 20 63 61 72 64 73 20 62 79 20 6e 65 77 6c 69 6e   cards by newlin
2c00: 65 20 63 68 61 72 61 63 74 65 72 73 2e 20 20 45  e characters.  E
2c10: 61 63 68 20 63 61 72 64 20 68 61 73 20 61 0a 73  ach card has a.s
2c20: 69 6e 67 6c 65 2d 63 68 61 72 61 63 74 65 72 20  ingle-character 
2c30: 63 61 72 64 20 74 79 70 65 20 66 6f 6c 6c 6f 77  card type follow
2c40: 65 64 20 62 79 20 61 72 67 75 6d 65 6e 74 73 2e  ed by arguments.
2c50: 20 20 53 70 61 63 65 73 20 73 65 70 61 72 61 74    Spaces separat
2c60: 65 0a 74 68 65 20 63 61 72 64 20 74 79 70 65 20  e.the card type 
2c70: 61 6e 64 20 74 68 65 20 61 72 67 75 6d 65 6e 74  and the argument
2c80: 73 2e 20 20 4e 6f 20 73 75 72 70 6c 75 73 20 77  s.  No surplus w
2c90: 68 69 74 65 73 70 61 63 65 20 69 73 20 61 6c 6c  hitespace is all
2ca0: 6f 77 65 64 2e 0a 41 6c 6c 20 63 61 72 64 73 20  owed..All cards 
2cb0: 6d 75 73 74 20 6f 63 63 75 72 20 69 6e 20 73 74  must occur in st
2cc0: 72 69 63 74 20 6c 65 78 69 67 72 61 70 68 69 63  rict lexigraphic
2cd0: 61 6c 20 6f 72 64 65 72 2e 0a 3c 2f 70 3e 0a 0a  al order..</p>..
2ce0: 3c 70 3e 0a 41 6c 6c 6f 77 65 64 20 63 61 72 64  <p>.Allowed card
2cf0: 73 20 69 6e 20 61 20 63 6f 6e 74 72 6f 6c 20 61  s in a control a
2d00: 72 74 69 66 61 63 74 20 61 72 65 20 61 73 20 66  rtifact are as f
2d10: 6f 6c 6c 6f 77 73 3a 0a 3c 2f 70 3e 0a 0a 3c 62  ollows:.</p>..<b
2d20: 6c 6f 63 6b 71 75 6f 74 65 3e 0a 3c 62 3e 44 3c  lockquote>.<b>D<
2d30: 2f 62 3e 20 3c 69 3e 74 69 6d 65 2d 61 6e 64 2d  /b> <i>time-and-
2d40: 64 61 74 65 2d 73 74 61 6d 70 3c 2f 69 3e 3c 62  date-stamp</i><b
2d50: 72 20 2f 3e 0a 3c 62 3e 54 3c 2f 62 3e 20 28 3c  r />.<b>T</b> (<
2d60: 62 3e 2b 3c 2f 62 3e 7c 3c 62 3e 2d 3c 2f 62 3e  b>+</b>|<b>-</b>
2d70: 7c 3c 62 3e 2a 3c 2f 62 3e 29 3c 69 3e 74 61 67  |<b>*</b>)<i>tag
2d80: 2d 6e 61 6d 65 20 20 61 72 74 69 66 61 63 74 2d  -name  artifact-
2d90: 69 64 20 20 3f 76 61 6c 75 65 3f 3c 2f 69 3e 3c  id  ?value?</i><
2da0: 62 72 20 2f 3e 0a 3c 62 3e 5a 3c 2f 62 3e 20 3c  br />.<b>Z</b> <
2db0: 69 3e 63 68 65 63 6b 73 75 6d 3c 2f 69 3e 3c 62  i>checksum</i><b
2dc0: 72 20 2f 3e 0a 3c 2f 62 6c 6f 63 6b 71 75 6f 74  r />.</blockquot
2dd0: 65 3e 0a 0a 3c 70 3e 0a 41 20 63 6f 6e 74 72 6f  e>..<p>.A contro
2de0: 6c 20 61 72 74 69 66 61 63 74 20 6d 75 73 74 20  l artifact must 
2df0: 68 61 76 65 20 6f 6e 65 20 44 20 63 61 72 64 20  have one D card 
2e00: 61 6e 64 20 6f 6e 65 20 5a 20 63 61 72 64 20 61  and one Z card a
2e10: 6e 64 0a 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 6f  nd.one or more o
2e20: 72 20 6d 6f 72 65 20 54 20 63 61 72 64 73 2e 20  r more T cards. 
2e30: 20 4e 6f 20 6f 74 68 65 72 20 63 61 72 64 73 20   No other cards 
2e40: 6f 72 20 6f 74 68 65 72 20 74 65 78 74 20 69 73  or other text is
2e50: 0a 61 6c 6c 6f 77 65 64 20 69 6e 20 61 20 63 6f  .allowed in a co
2e60: 6e 74 72 6f 6c 20 61 72 74 69 66 61 63 74 2e 20  ntrol artifact. 
2e70: 20 43 6f 6e 74 72 6f 6c 20 61 72 74 69 66 61 63   Control artifac
2e80: 74 73 20 6d 69 67 68 74 20 62 65 20 50 47 50 0a  ts might be PGP.
2e90: 63 6c 65 61 72 73 69 67 6e 65 64 2e 3c 2f 70 3e  clearsigned.</p>
2ea0: 0a 0a 3c 70 3e 54 68 65 20 44 20 63 61 72 64 20  ..<p>The D card 
2eb0: 61 6e 64 20 74 68 65 20 5a 20 63 61 72 64 20 6f  and the Z card o
2ec0: 66 20 61 20 63 6f 6e 74 72 6f 6c 20 61 72 74 69  f a control arti
2ed0: 66 61 63 74 20 61 72 65 20 74 68 65 20 73 61 6d  fact are the sam
2ee0: 65 0a 61 73 20 69 6e 20 61 20 6d 61 6e 69 66 65  e.as in a manife
2ef0: 73 74 2e 3c 2f 70 3e 0a 0a 3c 70 3e 54 68 65 20  st.</p>..<p>The 
2f00: 54 20 63 61 72 64 20 72 65 70 72 65 73 65 6e 74  T card represent
2f10: 73 20 61 20 22 74 61 67 22 20 6f 72 20 70 72 6f  s a "tag" or pro
2f20: 70 65 72 74 79 20 74 68 61 74 20 69 73 20 61 70  perty that is ap
2f30: 70 6c 69 65 64 20 74 6f 0a 73 6f 6d 65 20 6f 74  plied to.some ot
2f40: 68 65 72 20 61 72 74 69 66 61 63 74 2e 20 20 54  her artifact.  T
2f50: 68 65 20 54 20 63 61 72 64 20 68 61 73 20 74 77  he T card has tw
2f60: 6f 20 6f 72 20 74 68 72 65 65 20 76 61 6c 75 65  o or three value
2f70: 73 2e 20 20 54 68 65 0a 73 65 63 6f 6e 64 20 61  s.  The.second a
2f80: 72 67 75 6d 65 6e 74 20 69 73 20 74 68 65 20 34  rgument is the 4
2f90: 30 20 63 68 61 72 61 63 74 65 72 20 6c 6f 77 65  0 character lowe
2fa0: 72 63 61 73 65 20 61 72 74 69 66 61 63 74 20 49  rcase artifact I
2fb0: 44 20 6f 66 20 74 68 65 20 61 72 74 69 66 61 63  D of the artifac
2fc0: 74 0a 74 6f 20 77 68 69 63 68 20 74 68 65 20 74  t.to which the t
2fd0: 61 67 20 69 73 20 74 6f 20 62 65 20 61 70 70 6c  ag is to be appl
2fe0: 69 65 64 2e 20 54 68 65 0a 66 69 72 73 74 20 76  ied. The.first v
2ff0: 61 6c 75 65 20 69 73 20 74 68 65 20 74 61 67 20  alue is the tag 
3000: 6e 61 6d 65 2e 20 20 54 68 65 20 66 69 72 73 74  name.  The first
3010: 20 63 68 61 72 61 63 74 65 72 20 6f 66 20 74 68   character of th
3020: 65 20 74 61 67 0a 69 73 20 65 69 74 68 65 72 20  e tag.is either 
3030: 22 2b 22 2c 20 22 2d 22 2c 20 6f 72 20 22 2a 22  "+", "-", or "*"
3040: 2e 20 20 41 20 22 2b 22 20 6d 65 61 6e 73 20 74  .  A "+" means t
3050: 68 65 20 74 61 67 20 73 68 6f 75 6c 64 20 62 65  he tag should be
3060: 20 61 64 64 65 64 0a 74 6f 20 74 68 65 20 61 72   added.to the ar
3070: 74 69 66 61 63 74 2e 20 20 54 68 65 20 22 2d 22  tifact.  The "-"
3080: 20 6d 65 61 6e 73 20 74 68 65 20 74 61 67 20 73   means the tag s
3090: 68 6f 75 6c 64 20 62 65 20 72 65 6d 6f 76 65 64  hould be removed
30a0: 2e 0a 54 68 65 20 22 2a 22 20 63 68 61 72 61 63  ..The "*" charac
30b0: 74 65 72 20 6d 65 61 6e 73 20 74 68 65 20 74 61  ter means the ta
30c0: 67 20 73 68 6f 75 6c 64 20 62 65 20 61 64 64 65  g should be adde
30d0: 64 20 74 6f 20 74 68 65 20 61 72 74 69 66 61 63  d to the artifac
30e0: 74 0a 61 6e 64 20 61 6c 6c 20 64 69 72 65 63 74  t.and all direct
30f0: 20 64 65 73 63 65 6e 64 61 6e 74 73 20 28 62 75   descendants (bu
3100: 74 20 6e 6f 74 20 62 72 61 6e 63 68 65 73 29 20  t not branches) 
3110: 6f 66 20 74 68 65 20 61 72 74 69 66 61 63 74 20  of the artifact 
3120: 64 6f 77 6e 0a 74 6f 20 62 75 74 20 6e 6f 74 20  down.to but not 
3130: 69 6e 63 6c 75 64 69 6e 67 20 74 68 65 20 66 69  including the fi
3140: 72 73 74 20 64 65 73 63 65 6e 64 61 6e 74 20 74  rst descendant t
3150: 68 61 74 20 63 6f 6e 74 61 69 6e 73 20 61 20 0a  hat contains a .
3160: 6d 6f 72 65 20 72 65 63 65 6e 74 20 22 2d 22 20  more recent "-" 
3170: 74 61 67 20 77 69 74 68 20 74 68 65 20 73 61 6d  tag with the sam
3180: 65 20 6e 61 6d 65 2e 0a 54 68 65 20 6f 70 74 69  e name..The opti
3190: 6f 6e 61 6c 20 74 68 69 72 64 20 61 72 67 75 6d  onal third argum
31a0: 65 6e 74 20 69 73 20 74 68 65 20 76 61 6c 75 65  ent is the value
31b0: 20 6f 66 20 74 68 65 20 74 61 67 2e 20 20 41 20   of the tag.  A 
31c0: 74 61 67 0a 77 69 74 68 6f 75 74 20 61 20 76 61  tag.without a va
31d0: 6c 75 65 20 69 73 20 61 20 62 6f 6f 6c 65 61 6e  lue is a boolean
31e0: 2e 3c 2f 70 3e 0a 0a 3c 70 3e 57 68 65 6e 20 74  .</p>..<p>When t
31f0: 77 6f 20 6f 72 20 6d 6f 72 65 20 74 61 67 73 20  wo or more tags 
3200: 77 69 74 68 20 74 68 65 20 73 61 6d 65 20 6e 61  with the same na
3210: 6d 65 20 61 72 65 20 61 70 70 6c 69 65 64 20 74  me are applied t
3220: 6f 20 74 68 65 0a 73 61 6d 65 20 61 72 74 69 66  o the.same artif
3230: 61 63 74 2c 20 74 68 65 20 74 61 67 20 77 69 74  act, the tag wit
3240: 68 20 74 68 65 20 6c 61 74 65 73 74 20 28 6d 6f  h the latest (mo
3250: 73 74 20 72 65 63 65 6e 74 29 20 64 61 74 65 20  st recent) date 
3260: 69 73 0a 75 73 65 64 2e 3c 2f 70 3e 0a 0a 3c 70  is.used.</p>..<p
3270: 3e 53 6f 6d 65 20 74 61 67 73 20 68 61 76 65 20  >Some tags have 
3280: 73 70 65 63 69 61 6c 20 6d 65 61 6e 69 6e 67 2e  special meaning.
3290: 20 20 54 68 65 20 22 63 6f 6d 6d 65 6e 74 22 20    The "comment" 
32a0: 74 61 67 20 77 68 65 6e 20 61 70 70 6c 69 65 64  tag when applied
32b0: 0a 74 6f 20 61 20 63 68 65 63 6b 2d 69 6e 20 77  .to a check-in w
32c0: 69 6c 6c 20 6f 76 65 72 72 69 64 65 20 74 68 65  ill override the
32d0: 20 63 68 65 63 6b 2d 69 6e 20 63 6f 6d 6d 65 6e   check-in commen
32e0: 74 20 6f 66 20 74 68 61 74 20 63 68 65 63 6b 2d  t of that check-
32f0: 69 6e 0a 66 6f 72 20 64 69 73 70 6c 61 79 20 70  in.for display p
3300: 75 72 70 6f 73 65 73 2e 3c 2f 70 3e 0a 0a 3c 61  urposes.</p>..<a
3310: 20 6e 61 6d 65 3d 22 77 69 6b 69 63 68 6e 67 22   name="wikichng"
3320: 3e 3c 2f 61 3e 0a 3c 68 32 3e 34 2e 30 20 57 69  ></a>.<h2>4.0 Wi
3330: 6b 69 20 50 61 67 65 73 3c 2f 68 32 3e 0a 0a 3c  ki Pages</h2>..<
3340: 70 3e 41 20 77 69 6b 69 20 70 61 67 65 20 69 73  p>A wiki page is
3350: 20 61 6e 20 61 72 74 69 66 61 63 74 20 77 69 74   an artifact wit
3360: 68 20 61 20 66 6f 72 6d 61 74 20 73 69 6d 69 6c  h a format simil
3370: 61 72 20 74 6f 20 6d 61 6e 69 66 65 73 74 73 2c  ar to manifests,
3380: 0a 63 6c 75 73 74 65 72 73 2c 20 61 6e 64 20 63  .clusters, and c
3390: 6f 6e 74 72 6f 6c 20 61 72 74 69 66 61 63 74 73  ontrol artifacts
33a0: 2e 20 20 54 68 65 20 61 72 74 69 66 61 63 74 20  .  The artifact 
33b0: 69 73 20 64 69 76 69 64 65 64 20 69 6e 74 6f 0a  is divided into.
33c0: 63 61 72 64 73 20 62 79 20 6e 65 77 6c 69 6e 65  cards by newline
33d0: 20 63 68 61 72 61 63 74 65 72 73 2e 20 20 54 68   characters.  Th
33e0: 65 20 66 6f 72 6d 61 74 20 6f 66 20 65 61 63 68  e format of each
33f0: 20 63 61 72 64 20 69 73 20 61 73 20 69 6e 0a 6d   card is as in.m
3400: 61 6e 69 66 65 73 74 73 2c 20 63 6c 75 73 74 65  anifests, cluste
3410: 72 73 2c 20 61 6e 64 20 63 6f 6e 74 72 6f 6c 20  rs, and control 
3420: 61 72 74 69 66 61 63 74 73 2e 20 20 57 69 6b 69  artifacts.  Wiki
3430: 20 61 72 74 69 66 61 63 74 73 20 61 63 63 65 70   artifacts accep
3440: 74 0a 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20  t.the following 
3450: 63 61 72 64 20 74 79 70 65 73 3a 3c 2f 70 3e 0a  card types:</p>.
3460: 0a 3c 62 6c 6f 63 6b 71 75 6f 74 65 3e 0a 3c 62  .<blockquote>.<b
3470: 3e 44 3c 2f 62 3e 20 3c 69 3e 74 69 6d 65 2d 61  >D</b> <i>time-a
3480: 6e 64 2d 64 61 74 65 2d 73 74 61 6d 70 3c 2f 69  nd-date-stamp</i
3490: 3e 3c 62 72 20 2f 3e 0a 3c 62 3e 4c 3c 2f 62 3e  ><br />.<b>L</b>
34a0: 20 3c 69 3e 77 69 6b 69 2d 74 69 74 6c 65 3c 2f   <i>wiki-title</
34b0: 69 3e 3c 62 72 20 2f 3e 0a 3c 62 3e 50 3c 2f 62  i><br />.<b>P</b
34c0: 3e 20 3c 69 3e 70 61 72 65 6e 74 2d 61 72 74 69  > <i>parent-arti
34d0: 66 61 63 74 2d 69 64 3c 2f 69 3e 2b 3c 62 72 20  fact-id</i>+<br 
34e0: 2f 3e 0a 3c 62 3e 55 3c 2f 62 3e 20 3c 69 3e 75  />.<b>U</b> <i>u
34f0: 73 65 72 2d 6e 61 6d 65 3c 2f 69 3e 3c 62 72 20  ser-name</i><br 
3500: 2f 3e 0a 3c 62 3e 57 3c 2f 62 3e 20 3c 69 3e 73  />.<b>W</b> <i>s
3510: 69 7a 65 3c 2f 69 3e 20 3c 62 3e 5c 6e 3c 2f 62  ize</i> <b>\n</b
3520: 3e 20 3c 69 3e 74 65 78 74 3c 2f 69 3e 20 3c 62  > <i>text</i> <b
3530: 3e 5c 6e 3c 2f 62 3e 3c 62 72 20 2f 3e 0a 3c 62  >\n</b><br />.<b
3540: 3e 5a 3c 2f 62 3e 20 3c 69 3e 63 68 65 63 6b 73  >Z</b> <i>checks
3550: 75 6d 3c 2f 69 3e 0a 3c 2f 62 6c 6f 63 6b 71 75  um</i>.</blockqu
3560: 6f 74 65 3e 0a 0a 3c 70 3e 54 68 65 20 44 20 63  ote>..<p>The D c
3570: 61 72 64 20 69 73 20 74 68 65 20 64 61 74 65 20  ard is the date 
3580: 61 6e 64 20 74 69 6d 65 20 77 68 65 6e 20 74 68  and time when th
3590: 65 20 77 69 6b 69 20 70 61 67 65 20 77 61 73 20  e wiki page was 
35a0: 65 64 69 74 65 64 2e 0a 54 68 65 20 50 20 63 61  edited..The P ca
35b0: 72 64 20 73 70 65 63 69 66 69 65 73 20 74 68 65  rd specifies the
35c0: 20 70 61 72 65 6e 74 20 77 69 6b 69 20 70 61 67   parent wiki pag
35d0: 65 73 2c 20 69 66 20 61 6e 79 2e 20 20 54 68 65  es, if any.  The
35e0: 20 4c 20 63 61 72 64 0a 67 69 76 65 73 20 74 68   L card.gives th
35f0: 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 77 69  e name of the wi
3600: 6b 69 20 70 61 67 65 2e 20 20 54 68 65 20 55 20  ki page.  The U 
3610: 63 61 72 64 20 73 70 65 63 69 66 69 65 73 20 74  card specifies t
3620: 68 65 20 6c 6f 67 69 6e 0a 6f 66 20 74 68 65 20  he login.of the 
3630: 75 73 65 72 20 77 68 6f 20 6d 61 64 65 20 74 68  user who made th
3640: 69 73 20 65 64 69 74 20 74 6f 20 74 68 65 20 77  is edit to the w
3650: 69 6b 69 20 70 61 67 65 2e 20 20 54 68 65 20 5a  iki page.  The Z
3660: 20 63 61 72 64 20 69 73 0a 74 68 65 20 75 73 75   card is.the usu
3670: 61 6c 20 63 68 65 63 6b 73 75 6d 20 6f 76 65 72  al checksum over
3680: 20 74 68 65 20 65 69 74 68 65 72 20 61 72 74 69   the either arti
3690: 66 61 63 74 2e 3c 2f 70 3e 0a 0a 3c 70 3e 54 68  fact.</p>..<p>Th
36a0: 65 20 57 20 63 61 72 64 20 69 73 20 75 73 65 64  e W card is used
36b0: 20 74 6f 20 73 70 65 63 69 66 79 20 74 68 65 20   to specify the 
36c0: 74 65 78 74 20 6f 66 20 74 68 65 20 77 69 6b 69  text of the wiki
36d0: 20 70 61 67 65 2e 20 20 54 68 65 0a 61 72 67 75   page.  The.argu
36e0: 6d 65 6e 74 20 74 6f 20 74 68 65 20 57 20 63 61  ment to the W ca
36f0: 72 64 20 69 73 20 61 6e 20 69 6e 74 65 67 65 72  rd is an integer
3700: 20 77 68 69 63 68 20 69 73 20 74 68 65 20 6e 75   which is the nu
3710: 6d 62 65 72 20 6f 66 20 62 79 74 65 73 0a 6f 66  mber of bytes.of
3720: 20 74 65 78 74 20 69 6e 20 74 68 65 20 77 69 6b   text in the wik
3730: 69 20 70 61 67 65 2e 20 20 54 68 61 74 20 74 65  i page.  That te
3740: 78 74 20 66 6f 6c 6c 6f 77 73 20 74 68 65 20 6e  xt follows the n
3750: 65 77 6c 69 6e 65 20 63 68 61 72 61 63 74 65 72  ewline character
3760: 0a 74 68 61 74 20 74 65 72 6d 69 6e 61 74 65 73  .that terminates
3770: 20 74 68 65 20 57 20 63 61 72 64 2e 20 20 54 68   the W card.  Th
3780: 65 20 77 69 6b 69 20 74 65 78 74 20 69 73 20 61  e wiki text is a
3790: 6c 77 61 79 73 20 66 6f 6c 6c 6f 77 65 64 20 62  lways followed b
37a0: 79 20 6f 6e 65 0a 65 78 74 72 61 20 6e 65 77 6c  y one.extra newl
37b0: 69 6e 65 2e 3c 2f 70 3e 0a 0a 3c 61 20 6e 61 6d  ine.</p>..<a nam
37c0: 65 3d 22 74 6b 74 63 68 6e 67 22 3e 3c 2f 61 3e  e="tktchng"></a>
37d0: 0a 3c 68 32 3e 35 2e 30 20 54 69 63 6b 65 74 20  .<h2>5.0 Ticket 
37e0: 43 68 61 6e 67 65 73 3c 2f 68 32 3e 0a 0a 3c 70  Changes</h2>..<p
37f0: 3e 41 20 74 69 63 6b 65 74 2d 63 68 61 6e 67 65  >A ticket-change
3800: 20 61 72 74 69 66 61 63 74 20 72 65 70 72 65 73   artifact repres
3810: 65 6e 74 73 20 61 20 63 68 61 6e 67 65 20 74 6f  ents a change to
3820: 20 61 20 74 72 6f 75 62 6c 65 20 74 69 63 6b 65   a trouble ticke
3830: 74 2e 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67  t..The following
3840: 20 63 61 72 64 73 20 61 72 65 20 61 6c 6c 6f 77   cards are allow
3850: 65 64 20 6f 6e 20 61 20 74 69 63 6b 65 74 20 63  ed on a ticket c
3860: 68 61 6e 67 65 20 61 72 74 69 66 61 63 74 3a 3c  hange artifact:<
3870: 2f 70 3e 0a 0a 3c 62 6c 6f 63 6b 71 75 6f 74 65  /p>..<blockquote
3880: 3e 0a 3c 62 3e 44 3c 2f 62 3e 20 3c 69 3e 74 69  >.<b>D</b> <i>ti
3890: 6d 65 2d 61 6e 64 2d 64 61 74 65 2d 73 74 61 6d  me-and-date-stam
38a0: 70 3c 2f 69 3e 3c 62 72 20 2f 3e 0a 3c 62 3e 4a  p</i><br />.<b>J
38b0: 3c 2f 62 3e 20 3f 3c 62 3e 2b 3c 2f 62 3e 3f 3c  </b> ?<b>+</b>?<
38c0: 69 3e 6e 61 6d 65 3c 2f 69 3e 20 3f 3c 69 3e 76  i>name</i> ?<i>v
38d0: 61 6c 75 65 3c 2f 69 3e 3f 3c 62 72 20 2f 3e 0a  alue</i>?<br />.
38e0: 3c 62 3e 4b 3c 2f 62 3e 20 3c 69 3e 74 69 63 6b  <b>K</b> <i>tick
38f0: 65 74 2d 69 64 3c 2f 69 3e 3c 62 72 20 2f 3e 0a  et-id</i><br />.
3900: 3c 62 3e 55 3c 2f 62 3e 20 3c 69 3e 75 73 65 72  <b>U</b> <i>user
3910: 2d 6e 61 6d 65 3c 2f 69 3e 3c 62 72 20 2f 3e 0a  -name</i><br />.
3920: 3c 62 3e 5a 3c 2f 62 3e 20 3c 69 3e 63 68 65 63  <b>Z</b> <i>chec
3930: 6b 73 75 6d 3c 2f 69 3e 0a 3c 2f 62 6c 6f 63 6b  ksum</i>.</block
3940: 71 75 6f 74 65 3e 0a 0a 3c 70 3e 0a 54 68 65 20  quote>..<p>.The 
3950: 44 20 63 61 72 64 20 69 73 20 74 68 65 20 75 73  D card is the us
3960: 75 61 6c 20 64 61 74 65 20 61 6e 64 20 74 69 6d  ual date and tim
3970: 65 20 73 74 61 6d 70 20 61 6e 64 20 72 65 70 72  e stamp and repr
3980: 65 73 65 6e 74 73 20 74 68 65 20 70 6f 69 6e 74  esents the point
3990: 0a 69 6e 20 74 69 6d 65 20 77 68 65 6e 20 74 68  .in time when th
39a0: 65 20 63 68 61 6e 67 65 20 77 61 73 20 65 6e 74  e change was ent
39b0: 65 72 65 64 2e 20 20 54 68 65 20 55 20 63 61 72  ered.  The U car
39c0: 64 20 69 73 20 74 68 65 20 6c 6f 67 69 6e 20 6f  d is the login o
39d0: 66 20 74 68 65 0a 70 72 6f 67 72 61 6d 6d 65 72  f the.programmer
39e0: 20 77 68 6f 20 65 6e 74 65 72 65 64 20 74 68 69   who entered thi
39f0: 73 20 63 68 61 6e 67 65 2e 20 20 54 68 65 20 5a  s change.  The Z
3a00: 20 63 61 72 64 20 69 73 20 74 68 65 20 63 68 65   card is the che
3a10: 63 6b 73 75 6d 20 6f 76 65 72 0a 74 68 65 20 65  cksum over.the e
3a20: 6e 74 69 72 65 20 61 72 74 69 66 61 63 74 2e 3c  ntire artifact.<
3a30: 2f 70 3e 0a 0a 3c 70 3e 0a 45 76 65 72 79 20 74  /p>..<p>.Every t
3a40: 69 63 6b 65 74 20 68 61 73 20 61 20 75 6e 69 71  icket has a uniq
3a50: 75 65 20 49 44 2e 20 20 54 68 65 20 74 69 63 6b  ue ID.  The tick
3a60: 65 74 20 74 6f 20 77 68 69 63 68 20 74 68 69 73  et to which this
3a70: 20 63 68 61 6e 67 65 20 69 73 20 61 70 70 6c 69   change is appli
3a80: 65 64 0a 69 73 20 73 70 65 63 69 66 69 65 64 20  ed.is specified 
3a90: 62 79 20 74 68 65 20 4b 20 63 61 72 64 2e 20 20  by the K card.  
3aa0: 41 20 74 69 63 6b 65 74 20 65 78 69 73 74 73 20  A ticket exists 
3ab0: 69 66 20 69 74 20 63 6f 6e 74 61 69 6e 73 20 6f  if it contains o
3ac0: 6e 65 20 6f 72 0a 6d 6f 72 65 20 63 68 61 6e 67  ne or.more chang
3ad0: 65 73 2e 20 20 54 68 65 20 66 69 72 73 74 20 22  es.  The first "
3ae0: 63 68 61 6e 67 65 22 20 74 6f 20 61 20 74 69 63  change" to a tic
3af0: 6b 65 74 20 69 73 20 77 68 61 74 20 62 72 69 6e  ket is what brin
3b00: 67 73 20 74 68 65 0a 74 69 63 6b 65 74 20 69 6e  gs the.ticket in
3b10: 74 6f 20 65 78 69 73 74 65 6e 63 65 2e 3c 2f 70  to existence.</p
3b20: 3e 0a 0a 3c 70 3e 0a 4a 20 63 61 72 64 73 20 73  >..<p>.J cards s
3b30: 70 65 63 69 66 79 20 63 68 61 6e 67 65 73 20 74  pecify changes t
3b40: 6f 20 74 68 65 20 22 76 61 6c 75 65 22 20 6f 66  o the "value" of
3b50: 20 22 66 69 65 6c 64 73 22 20 69 6e 20 74 68 65   "fields" in the
3b60: 20 74 69 63 6b 65 74 2e 0a 49 66 20 74 68 65 20   ticket..If the 
3b70: 3c 69 3e 76 61 6c 75 65 3c 2f 69 3e 20 70 61 72  <i>value</i> par
3b80: 61 6d 65 74 65 72 20 6f 66 20 74 68 65 20 4a 20  ameter of the J 
3b90: 63 61 72 64 20 69 73 20 6f 6d 69 74 74 65 64 2c  card is omitted,
3ba0: 20 74 68 65 6e 20 74 68 65 0a 66 69 65 6c 64 20   then the.field 
3bb0: 69 73 20 73 65 74 20 74 6f 20 61 6e 20 65 6d 70  is set to an emp
3bc0: 74 79 20 73 74 72 69 6e 67 2e 0a 45 61 63 68 20  ty string..Each 
3bd0: 66 6f 73 73 69 6c 20 73 65 72 76 65 72 20 68 61  fossil server ha
3be0: 73 20 61 20 74 69 63 6b 65 74 20 63 6f 6e 66 69  s a ticket confi
3bf0: 67 75 72 61 74 69 6f 6e 20 77 68 69 63 68 20 73  guration which s
3c00: 70 65 63 69 66 69 65 73 20 74 68 65 20 66 69 65  pecifies the fie
3c10: 6c 64 73 20 69 74 73 0a 75 6e 64 65 72 73 74 61  lds its.understa
3c20: 6e 64 73 2e 20 20 54 68 65 20 74 69 63 6b 65 74  nds.  The ticket
3c30: 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 69   configuration i
3c40: 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 6c 6f  s part of the lo
3c50: 63 61 6c 20 73 74 61 74 65 20 66 6f 72 0a 74 68  cal state for.th
3c60: 65 20 72 65 70 6f 73 69 74 6f 72 79 20 61 6e 64  e repository and
3c70: 20 74 68 75 73 20 63 61 6e 20 76 61 72 79 20 66   thus can vary f
3c80: 72 6f 6d 20 6f 6e 65 20 72 65 70 6f 73 69 74 6f  rom one reposito
3c90: 72 79 20 74 6f 20 61 6e 6f 74 68 65 72 2e 0a 48  ry to another..H
3ca0: 65 6e 63 65 20 61 20 4a 20 63 61 72 64 20 6d 69  ence a J card mi
3cb0: 67 68 74 20 73 70 65 63 69 66 79 20 61 20 3c 69  ght specify a <i
3cc0: 3e 66 69 65 6c 64 3c 2f 69 3e 20 74 68 61 74 20  >field</i> that 
3cd0: 64 6f 20 6e 6f 74 20 65 78 69 73 74 20 69 6e 20  do not exist in 
3ce0: 74 68 65 20 0a 6c 6f 63 61 6c 20 74 69 63 6b 65  the .local ticke
3cf0: 74 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 2e  t configuration.
3d00: 20 20 49 66 20 61 20 4a 20 63 61 72 64 20 73 70    If a J card sp
3d10: 65 63 69 66 69 65 73 20 61 20 3c 69 3e 66 69 65  ecifies a <i>fie
3d20: 6c 64 3c 2f 69 3e 20 74 68 61 74 0a 69 73 20 6e  ld</i> that.is n
3d30: 6f 74 20 69 6e 20 74 68 65 20 6c 6f 63 61 6c 20  ot in the local 
3d40: 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 2c 20 74  configuration, t
3d50: 68 65 6e 20 74 68 61 74 20 4a 20 63 61 72 64 0a  hen that J card.
3d60: 69 73 20 73 69 6d 70 6c 79 20 69 67 6e 6f 72 65  is simply ignore
3d70: 64 2e 3c 2f 70 3e 0a 0a 3c 70 3e 0a 54 68 65 20  d.</p>..<p>.The 
3d80: 66 69 72 73 74 20 61 72 67 75 6d 65 6e 74 20 6f  first argument o
3d90: 66 20 74 68 65 20 4a 20 63 61 72 64 20 69 73 20  f the J card is 
3da0: 74 68 65 20 66 69 65 6c 64 20 6e 61 6d 65 2e 20  the field name. 
3db0: 20 54 68 65 20 73 65 63 6f 6e 64 0a 76 61 6c 75   The second.valu
3dc0: 65 20 69 73 20 74 68 65 20 66 69 65 6c 64 20 76  e is the field v
3dd0: 61 6c 75 65 2e 20 20 49 66 20 74 68 65 20 66 69  alue.  If the fi
3de0: 65 6c 64 20 6e 61 6d 65 20 62 65 67 69 6e 73 20  eld name begins 
3df0: 77 69 74 68 20 22 2b 22 20 74 68 65 6e 0a 74 68  with "+" then.th
3e00: 65 20 76 61 6c 75 65 20 69 73 20 61 70 70 65 6e  e value is appen
3e10: 64 65 64 20 74 6f 20 74 68 65 20 70 72 69 6f 72  ded to the prior
3e20: 20 76 61 6c 75 65 2e 20 20 4f 74 68 65 72 77 69   value.  Otherwi
3e30: 73 65 2c 20 74 68 65 20 76 61 6c 75 65 0a 6f 6e  se, the value.on
3e40: 20 74 68 65 20 4a 20 63 61 72 64 20 72 65 70 6c   the J card repl
3e50: 61 63 65 73 20 61 6e 79 20 70 72 65 76 69 6f 75  aces any previou
3e60: 73 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 66  s value of the f
3e70: 69 65 6c 64 2e 0a 54 68 65 20 66 69 65 6c 64 20  ield..The field 
3e80: 6e 61 6d 65 20 61 6e 64 20 76 61 6c 75 65 20 61  name and value a
3e90: 72 65 20 62 6f 74 68 20 65 6e 63 6f 64 65 64 20  re both encoded 
3ea0: 75 73 69 6e 67 20 74 68 65 20 63 68 61 72 61 63  using the charac
3eb0: 74 65 72 0a 65 73 63 61 70 65 73 20 64 65 66 69  ter.escapes defi
3ec0: 6e 65 64 20 66 6f 72 20 74 68 65 20 43 20 63 61  ned for the C ca
3ed0: 72 64 20 6f 66 20 61 20 6d 61 6e 69 66 65 73 74  rd of a manifest
3ee0: 2e 0a 3c 2f 70 3e 0a                             ..</p>.