Hex Artifact Content
Not logged in

Artifact 745e72bdc4d7d33b9257e62da3420f4e18a205f9:

File www/fileformat.wiki part of check-in [904ee40b93] - Change "baseline" to "check-in" in the on-line documentation. by drh on 2009-01-23 00:16:26.

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 38 2d 31 30 2d   (as of 2008-10-
07d0: 30 34 29 20 74 68 65 20 61 72 74 69 66 61 63 74  04) 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 68 61 76 65 20 61  tended to have a
09d0: 73 20 6c 6f 6e 67 20 61 20 6c 69 66 65 73 70 61  s long a lifespa
09e0: 6e 20 61 73 20 74 68 65 0a 61 72 74 69 66 61 63  n as the.artifac
09f0: 74 20 66 6f 72 6d 61 74 2e 3c 2f 70 3e 0a 0a 3c  t format.</p>..<
0a00: 68 32 3e 31 2e 30 20 54 68 65 20 4d 61 6e 69 66  h2>1.0 The Manif
0a10: 65 73 74 3c 2f 68 32 3e 0a 0a 3c 70 3e 41 20 6d  est</h2>..<p>A m
0a20: 61 6e 69 66 65 73 74 20 64 65 66 69 6e 65 73 20  anifest defines 
0a30: 61 20 63 68 65 63 6b 2d 69 6e 20 6f 72 20 76 65  a check-in or ve
0a40: 72 73 69 6f 6e 20 6f 66 20 74 68 65 20 70 72 6f  rsion of the pro
0a50: 6a 65 63 74 0a 73 6f 75 72 63 65 20 74 72 65 65  ject.source tree
0a60: 2e 20 20 54 68 65 20 6d 61 6e 69 66 65 73 74 20  .  The manifest 
0a70: 63 6f 6e 74 61 69 6e 73 20 61 20 6c 69 73 74 20  contains a list 
0a80: 6f 66 20 61 72 74 69 66 61 63 74 73 20 66 6f 72  of artifacts for
0a90: 0a 65 61 63 68 20 66 69 6c 65 20 69 6e 20 74 68  .each file in th
0aa0: 65 20 70 72 6f 6a 65 63 74 20 61 6e 64 20 74 68  e project and th
0ab0: 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20  e corresponding 
0ac0: 66 69 6c 65 6e 61 6d 65 73 2c 20 61 73 0a 77 65  filenames, as.we
0ad0: 6c 6c 20 61 73 20 69 6e 66 6f 72 6d 61 74 69 6f  ll as informatio
0ae0: 6e 20 73 75 63 68 20 61 73 20 70 61 72 65 6e 74  n such as parent
0af0: 20 63 68 65 63 6b 2d 69 6e 73 2c 20 74 68 65 20   check-ins, the 
0b00: 6e 61 6d 65 20 6f 66 20 74 68 65 0a 70 72 6f 67  name of the.prog
0b10: 72 61 6d 6d 65 72 20 77 68 6f 20 63 72 65 61 74  rammer who creat
0b20: 65 64 20 74 68 65 20 63 68 65 63 6b 2d 69 6e 2c  ed the check-in,
0b30: 20 74 68 65 20 64 61 74 65 20 61 6e 64 20 74 69   the date and ti
0b40: 6d 65 20 77 68 65 6e 0a 74 68 65 20 63 68 65 63  me when.the chec
0b50: 6b 2d 69 6e 20 77 61 73 20 63 72 65 61 74 65 64  k-in was created
0b60: 2c 20 61 6e 64 20 61 6e 79 20 63 68 65 63 6b 2d  , and any check-
0b70: 69 6e 20 63 6f 6d 6d 65 6e 74 73 20 61 73 73 6f  in comments asso
0b80: 63 69 61 74 65 64 0a 77 69 74 68 20 74 68 65 20  ciated.with the 
0b90: 63 68 65 63 6b 2d 69 6e 2e 3c 2f 70 3e 0a 0a 3c  check-in.</p>..<
0ba0: 70 3e 0a 41 6e 79 20 61 72 74 69 66 61 63 74 20  p>.Any artifact 
0bb0: 69 6e 20 74 68 65 20 72 65 70 6f 73 69 74 6f 72  in the repositor
0bc0: 79 20 74 68 61 74 20 66 6f 6c 6c 6f 77 73 20 74  y that follows t
0bd0: 68 65 20 73 79 6e 74 61 63 74 69 63 20 72 75 6c  he syntactic rul
0be0: 65 73 0a 6f 66 20 61 20 6d 61 6e 69 66 65 73 74  es.of a manifest
0bf0: 20 69 73 20 61 20 6d 61 6e 69 66 65 73 74 2e 20   is a manifest. 
0c00: 20 4e 6f 74 65 20 74 68 61 74 20 61 20 6d 61 6e   Note that a man
0c10: 69 66 65 73 74 20 63 61 6e 0a 62 65 20 62 6f 74  ifest can.be bot
0c20: 68 20 61 20 72 65 61 6c 20 6d 61 6e 69 66 65 73  h a real manifes
0c30: 74 20 61 6e 64 20 61 6c 73 6f 20 61 20 63 6f 6e  t and also a con
0c40: 74 65 6e 74 20 66 69 6c 65 2c 20 74 68 6f 75 67  tent file, thoug
0c50: 68 20 74 68 69 73 0a 69 73 20 72 61 72 65 2e 0a  h this.is rare..
0c60: 3c 2f 70 3e 0a 0a 3c 70 3e 0a 41 20 6d 61 6e 69  </p>..<p>.A mani
0c70: 66 65 73 74 20 69 73 20 61 20 74 65 78 74 20 66  fest is a text f
0c80: 69 6c 65 2e 20 20 4e 65 77 6c 69 6e 65 20 63 68  ile.  Newline ch
0c90: 61 72 61 63 74 65 72 73 0a 28 41 53 43 49 49 20  aracters.(ASCII 
0ca0: 30 78 30 61 29 20 73 65 70 61 72 61 74 65 20 74  0x0a) separate t
0cb0: 68 65 20 66 69 6c 65 20 69 6e 74 6f 20 22 63 61  he file into "ca
0cc0: 72 64 73 22 2e 0a 45 61 63 68 20 63 61 72 64 20  rds"..Each card 
0cd0: 62 65 67 69 6e 73 20 77 69 74 68 20 61 20 73 69  begins with a si
0ce0: 6e 67 6c 65 0a 63 68 61 72 61 63 74 65 72 20 22  ngle.character "
0cf0: 63 61 72 64 20 74 79 70 65 22 2e 20 20 5a 65 72  card type".  Zer
0d00: 6f 20 6f 72 20 6d 6f 72 65 20 61 72 67 75 6d 65  o or more argume
0d10: 6e 74 73 20 6d 61 79 20 66 6f 6c 6c 6f 77 0a 74  nts may follow.t
0d20: 68 65 20 63 61 72 64 20 74 79 70 65 2e 20 20 41  he card type.  A
0d30: 6c 6c 20 61 72 67 75 6d 65 6e 74 73 20 61 72 65  ll arguments are
0d40: 20 73 65 70 61 72 61 74 65 64 20 66 72 6f 6d 20   separated from 
0d50: 65 61 63 68 20 6f 74 68 65 72 0a 61 6e 64 20 66  each other.and f
0d60: 72 6f 6d 20 74 68 65 20 63 61 72 64 2d 74 79 70  rom the card-typ
0d70: 65 20 63 68 61 72 61 63 74 65 72 20 62 79 20 61  e character by a
0d80: 20 73 69 6e 67 6c 65 20 73 70 61 63 65 0a 63 68   single space.ch
0d90: 61 72 61 63 74 65 72 2e 20 20 54 68 65 72 65 20  aracter.  There 
0da0: 69 73 20 6e 6f 20 73 75 72 70 6c 75 73 20 77 68  is no surplus wh
0db0: 69 74 65 20 73 70 61 63 65 20 62 65 74 77 65 65  ite space betwee
0dc0: 6e 20 61 72 67 75 6d 65 6e 74 73 0a 61 6e 64 20  n arguments.and 
0dd0: 6e 6f 20 6c 65 61 64 69 6e 67 20 6f 72 20 74 72  no leading or tr
0de0: 61 69 6c 69 6e 67 20 77 68 69 74 65 73 70 61 63  ailing whitespac
0df0: 65 20 65 78 63 65 70 74 20 66 6f 72 20 74 68 65  e except for the
0e00: 20 6e 65 77 6c 69 6e 65 20 0a 63 68 61 72 61 63   newline .charac
0e10: 74 65 72 20 74 68 61 74 20 61 63 74 73 20 61 73  ter that acts as
0e20: 20 74 68 65 20 63 61 72 64 20 73 65 70 61 72 61   the card separa
0e30: 74 6f 72 2e 0a 3c 2f 70 3e 0a 0a 3c 70 3e 0a 41  tor..</p>..<p>.A
0e40: 6c 6c 20 63 61 72 64 73 20 6f 66 20 74 68 65 20  ll cards of the 
0e50: 6d 61 6e 69 66 65 73 74 20 6f 63 63 75 72 20 69  manifest occur i
0e60: 6e 20 73 74 72 69 63 74 20 73 6f 72 74 65 64 20  n strict sorted 
0e70: 6c 65 78 69 63 6f 67 72 61 70 68 69 63 61 6c 20  lexicographical 
0e80: 6f 72 64 65 72 2e 0a 4e 6f 20 63 61 72 64 20 6d  order..No card m
0e90: 61 79 20 62 65 20 64 75 70 6c 69 63 61 74 65 64  ay be duplicated
0ea0: 2e 0a 54 68 65 20 65 6e 74 69 72 65 20 6d 61 6e  ..The entire man
0eb0: 69 66 65 73 74 20 6d 61 79 20 62 65 20 50 47 50  ifest may be PGP
0ec0: 20 63 6c 65 61 72 2d 73 69 67 6e 65 64 2c 20 62   clear-signed, b
0ed0: 75 74 20 6f 74 68 65 72 77 69 73 65 20 69 74 0a  ut otherwise it.
0ee0: 6d 61 79 20 63 6f 6e 74 61 69 6e 20 6e 6f 20 61  may contain no a
0ef0: 64 64 69 74 69 6f 6e 61 6c 20 74 65 78 74 20 6f  dditional text o
0f00: 72 20 64 61 74 61 20 62 65 79 6f 6e 64 20 77 68  r data beyond wh
0f10: 61 74 20 69 73 20 64 65 73 63 72 69 62 65 64 20  at is described 
0f20: 68 65 72 65 2e 0a 3c 2f 70 3e 0a 0a 3c 70 3e 0a  here..</p>..<p>.
0f30: 41 6c 6c 6f 77 65 64 20 63 61 72 64 73 20 69 6e  Allowed cards in
0f40: 20 74 68 65 20 6d 61 6e 69 66 65 73 74 20 61 72   the manifest ar
0f50: 65 20 61 73 20 66 6f 6c 6c 6f 77 73 3a 0a 3c 2f  e as follows:.</
0f60: 70 3e 0a 0a 3c 62 6c 6f 63 6b 71 75 6f 74 65 3e  p>..<blockquote>
0f70: 0a 3c 62 3e 43 3c 2f 62 3e 20 3c 69 3e 63 68 65  .<b>C</b> <i>che
0f80: 63 6b 69 6e 2d 63 6f 6d 6d 65 6e 74 3c 2f 69 3e  ckin-comment</i>
0f90: 3c 62 72 3e 0a 3c 62 3e 44 3c 2f 62 3e 20 3c 69  <br>.<b>D</b> <i
0fa0: 3e 74 69 6d 65 2d 61 6e 64 2d 64 61 74 65 2d 73  >time-and-date-s
0fb0: 74 61 6d 70 3c 2f 69 3e 3c 62 72 3e 0a 3c 62 3e  tamp</i><br>.<b>
0fc0: 46 3c 2f 62 3e 20 3c 69 3e 66 69 6c 65 6e 61 6d  F</b> <i>filenam
0fd0: 65 3c 2f 69 3e 20 3c 69 3e 53 48 41 31 2d 68 61  e</i> <i>SHA1-ha
0fe0: 73 68 3c 2f 69 3e 20 3c 69 3e 70 65 72 6d 69 73  sh</i> <i>permis
0ff0: 73 69 6f 6e 73 3c 2f 69 3e 20 3c 69 3e 6f 6c 64  sions</i> <i>old
1000: 2d 6e 61 6d 65 3c 2f 69 3e 3c 62 72 3e 0a 3c 62  -name</i><br>.<b
1010: 3e 50 3c 2f 62 3e 20 3c 69 3e 53 48 41 31 2d 68  >P</b> <i>SHA1-h
1020: 61 73 68 3c 2f 69 3e 2b 3c 62 72 3e 0a 3c 62 3e  ash</i>+<br>.<b>
1030: 52 3c 2f 62 3e 20 3c 69 3e 72 65 70 6f 73 69 74  R</b> <i>reposit
1040: 6f 72 79 2d 63 68 65 63 6b 73 75 6d 3c 2f 69 3e  ory-checksum</i>
1050: 3c 62 72 3e 0a 3c 62 3e 55 3c 2f 62 3e 20 3c 69  <br>.<b>U</b> <i
1060: 3e 75 73 65 72 2d 6c 6f 67 69 6e 3c 2f 69 3e 3c  >user-login</i><
1070: 62 72 3e 0a 3c 62 3e 5a 3c 2f 62 3e 20 3c 69 3e  br>.<b>Z</b> <i>
1080: 6d 61 6e 69 66 65 73 74 2d 63 68 65 63 6b 73 75  manifest-checksu
1090: 6d 3c 2f 69 3e 0a 3c 2f 62 6c 6f 63 6b 71 75 6f  m</i>.</blockquo
10a0: 74 65 3e 0a 0a 3c 70 3e 0a 41 20 6d 61 6e 69 66  te>..<p>.A manif
10b0: 65 73 74 20 6d 75 73 74 20 68 61 76 65 20 65 78  est must have ex
10c0: 61 63 74 6c 79 20 6f 6e 65 20 43 2d 63 61 72 64  actly one C-card
10d0: 2e 20 20 54 68 65 20 73 6f 6c 65 20 61 72 67 75  .  The sole argu
10e0: 6d 65 6e 74 20 74 6f 0a 74 68 65 20 43 2d 63 61  ment to.the C-ca
10f0: 72 64 20 69 73 20 61 20 63 68 65 63 6b 2d 69 6e  rd is a check-in
1100: 20 63 6f 6d 6d 65 6e 74 20 74 68 61 74 20 64 65   comment that de
1110: 73 63 72 69 62 65 73 20 74 68 65 20 63 68 65 63  scribes the chec
1120: 6b 2d 69 6e 20 74 68 61 74 0a 74 68 65 20 6d 61  k-in that.the ma
1130: 6e 69 66 65 73 74 20 64 65 66 69 6e 65 73 2e 20  nifest defines. 
1140: 20 54 68 65 20 63 68 65 63 6b 2d 69 6e 20 63 6f   The check-in co
1150: 6d 6d 65 6e 74 20 69 73 20 74 65 78 74 2e 20 20  mment is text.  
1160: 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 0a 65 73  The following.es
1170: 63 61 70 65 20 73 65 71 75 65 6e 63 65 73 20 61  cape sequences a
1180: 72 65 20 61 70 70 6c 69 65 64 20 74 6f 20 74 68  re applied to th
1190: 65 20 74 65 78 74 3a 0a 41 20 73 70 61 63 65 20  e text:.A space 
11a0: 28 41 53 43 49 49 20 30 78 32 30 29 20 69 73 20  (ASCII 0x20) is 
11b0: 72 65 70 72 65 73 65 6e 74 65 64 20 61 73 20 22  represented as "
11c0: 5c 73 22 20 28 41 53 43 49 49 20 30 78 35 43 2c  \s" (ASCII 0x5C,
11d0: 20 30 78 37 33 29 2e 20 20 41 0a 6e 65 77 6c 69   0x73).  A.newli
11e0: 6e 65 20 28 41 53 43 49 49 20 30 78 30 61 29 20  ne (ASCII 0x0a) 
11f0: 69 73 20 22 5c 6e 22 20 28 41 53 43 49 49 20 30  is "\n" (ASCII 0
1200: 78 36 43 2c 20 78 36 45 29 2e 20 20 41 20 62 61  x6C, x6E).  A ba
1210: 63 6b 73 6c 61 73 68 20 0a 28 41 53 43 49 49 20  ckslash .(ASCII 
1220: 30 78 35 43 29 20 69 73 20 72 65 70 72 65 73 65  0x5C) is represe
1230: 6e 74 65 64 20 61 73 20 74 77 6f 20 62 61 63 6b  nted as two back
1240: 73 6c 61 73 68 65 73 20 22 5c 5c 22 2e 20 20 41  slashes "\\".  A
1250: 70 61 72 74 20 66 72 6f 6d 0a 73 70 61 63 65 20  part from.space 
1260: 61 6e 64 20 6e 65 77 6c 69 6e 65 2c 20 6e 6f 20  and newline, no 
1270: 6f 74 68 65 72 20 77 68 69 74 65 73 70 61 63 65  other whitespace
1280: 20 63 68 61 72 61 63 74 65 72 73 20 61 72 65 20   characters are 
1290: 61 6c 6c 6f 77 65 64 20 69 6e 0a 74 68 65 20 63  allowed in.the c
12a0: 68 65 63 6b 2d 69 6e 20 63 6f 6d 6d 65 6e 74 2e  heck-in comment.
12b0: 20 20 4e 6f 72 20 61 72 65 20 61 6e 79 20 75 6e    Nor are any un
12c0: 70 72 69 6e 74 61 62 6c 65 20 63 68 61 72 61 63  printable charac
12d0: 74 65 72 73 20 61 6c 6c 6f 77 65 64 0a 69 6e 20  ters allowed.in 
12e0: 74 68 65 20 63 6f 6d 6d 65 6e 74 2e 0a 3c 2f 70  the comment..</p
12f0: 3e 0a 0a 3c 70 3e 0a 41 20 6d 61 6e 69 66 65 73  >..<p>.A manifes
1300: 74 20 6d 75 73 74 20 68 61 76 65 20 65 78 61 63  t must have exac
1310: 74 6c 79 20 6f 6e 65 20 44 2d 63 61 72 64 2e 20  tly one D-card. 
1320: 20 54 68 65 20 73 6f 6c 65 20 61 72 67 75 6d 65   The sole argume
1330: 6e 74 20 74 6f 0a 74 68 65 20 44 2d 63 61 72 64  nt to.the D-card
1340: 20 69 73 20 61 20 64 61 74 65 2d 74 69 6d 65 20   is a date-time 
1350: 73 74 61 6d 70 20 69 6e 20 74 68 65 20 49 53 4f  stamp in the ISO
1360: 38 36 30 31 20 66 6f 72 6d 61 74 2e 20 20 54 68  8601 format.  Th
1370: 65 0a 64 61 74 65 20 61 6e 64 20 74 69 6d 65 20  e.date and time 
1380: 73 68 6f 75 6c 64 20 62 65 20 69 6e 20 63 6f 6f  should be in coo
1390: 72 64 69 6e 61 74 65 64 20 75 6e 69 76 65 72 73  rdinated univers
13a0: 61 6c 20 74 69 6d 65 20 28 55 54 43 29 2e 0a 54  al time (UTC)..T
13b0: 68 65 20 66 6f 72 6d 61 74 20 69 73 3a 0a 3c 2f  he format is:.</
13c0: 70 3e 0a 0a 3c 62 6c 6f 63 6b 71 75 6f 74 65 3e  p>..<blockquote>
13d0: 0a 3c 69 3e 59 59 59 59 3c 2f 69 3e 3c 62 3e 2d  .<i>YYYY</i><b>-
13e0: 3c 2f 62 3e 3c 69 3e 4d 4d 3c 2f 69 3e 3c 62 3e  </b><i>MM</i><b>
13f0: 2d 3c 2f 62 3e 3c 69 3e 44 44 3c 2f 69 3e 3c 62  -</b><i>DD</i><b
1400: 3e 54 3c 2f 62 3e 3c 69 3e 48 48 3c 2f 69 3e 3c  >T</b><i>HH</i><
1410: 62 3e 3a 3c 2f 62 3e 3c 69 3e 4d 4d 3c 2f 69 3e  b>:</b><i>MM</i>
1420: 3c 62 3e 3a 3c 2f 62 3e 3c 69 3e 53 53 3c 2f 69  <b>:</b><i>SS</i
1430: 3e 0a 3c 2f 62 6c 6f 63 6b 71 75 6f 74 65 3e 0a  >.</blockquote>.
1440: 0a 3c 70 3e 0a 41 20 6d 61 6e 69 66 65 73 74 20  .<p>.A manifest 
1450: 68 61 73 20 7a 65 72 6f 20 6f 72 20 6d 6f 72 65  has zero or more
1460: 20 46 2d 63 61 72 64 73 2e 20 20 45 61 63 68 20   F-cards.  Each 
1470: 46 2d 63 61 72 64 20 64 65 66 69 6e 65 73 20 61  F-card defines a
1480: 20 66 69 6c 65 0a 28 6f 74 68 65 72 20 74 68 61   file.(other tha
1490: 6e 20 74 68 65 20 6d 61 6e 69 66 65 73 74 20 69  n the manifest i
14a0: 74 73 65 6c 66 29 20 77 68 69 63 68 20 69 73 20  tself) which is 
14b0: 70 61 72 74 20 6f 66 20 74 68 65 20 63 68 65 63  part of the chec
14c0: 6b 2d 69 6e 20 74 68 61 74 0a 74 68 65 20 6d 61  k-in that.the ma
14d0: 6e 69 66 65 73 74 20 64 65 66 69 6e 65 73 2e 20  nifest defines. 
14e0: 20 54 68 65 72 65 20 61 72 65 20 74 77 6f 2c 20   There are two, 
14f0: 74 68 72 65 65 2c 20 6f 72 20 74 68 72 65 65 20  three, or three 
1500: 61 72 67 75 6d 65 6e 74 73 2e 0a 54 68 65 20 66  arguments..The f
1510: 69 72 73 74 20 61 72 67 75 6d 65 6e 74 0a 69 73  irst argument.is
1520: 20 74 68 65 20 70 61 74 68 6e 61 6d 65 20 6f 66   the pathname of
1530: 20 74 68 65 20 66 69 6c 65 20 69 6e 20 74 68 65   the file in the
1540: 20 63 68 65 63 6b 2d 69 6e 20 72 65 6c 61 74 69   check-in relati
1550: 76 65 20 74 6f 20 74 68 65 20 72 6f 6f 74 0a 6f  ve to the root.o
1560: 66 20 74 68 65 20 70 72 6f 6a 65 63 74 20 66 69  f the project fi
1570: 6c 65 20 68 69 65 72 61 72 63 68 79 2e 20 20 4e  le hierarchy.  N
1580: 6f 20 22 2e 2e 22 20 6f 72 20 22 2e 22 20 64 69  o ".." or "." di
1590: 72 65 63 74 6f 72 69 65 73 20 61 72 65 20 61 6c  rectories are al
15a0: 6c 6f 77 65 64 0a 77 69 74 68 69 6e 20 74 68 65  lowed.within the
15b0: 20 66 69 6c 65 6e 61 6d 65 2e 20 20 53 70 61 63   filename.  Spac
15c0: 65 20 63 68 61 72 61 63 74 65 72 73 20 61 72 65  e characters are
15d0: 20 65 73 63 61 70 65 64 20 61 73 20 69 6e 20 43   escaped as in C
15e0: 2d 63 61 72 64 0a 63 6f 6d 6d 65 6e 74 20 74 65  -card.comment te
15f0: 78 74 2e 20 20 42 61 63 6b 73 6c 61 73 68 20 63  xt.  Backslash c
1600: 68 61 72 61 63 74 65 72 73 20 61 6e 64 20 6e 65  haracters and ne
1610: 77 6c 69 6e 65 73 20 61 72 65 20 6e 6f 74 20 61  wlines are not a
1620: 6c 6c 6f 77 65 64 0a 77 69 74 68 69 6e 20 66 69  llowed.within fi
1630: 6c 65 6e 61 6d 65 73 2e 20 20 54 68 65 20 64 69  lenames.  The di
1640: 72 65 63 74 6f 72 79 20 73 65 70 61 72 61 74 6f  rectory separato
1650: 72 20 63 68 61 72 61 63 74 65 72 20 69 73 20 61  r character is a
1660: 20 66 6f 72 77 61 72 64 0a 73 6c 61 73 68 20 28   forward.slash (
1670: 41 53 43 49 49 20 30 78 32 46 29 2e 20 20 54 68  ASCII 0x2F).  Th
1680: 65 20 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e  e second argumen
1690: 74 20 74 6f 20 74 68 65 20 46 2d 63 61 72 64 20  t to the F-card 
16a0: 69 73 20 74 68 65 0a 66 75 6c 6c 20 34 30 2d 63  is the.full 40-c
16b0: 68 61 72 61 63 74 65 72 20 6c 6f 77 65 72 2d 63  haracter lower-c
16c0: 61 73 65 20 68 65 78 61 64 65 63 69 6d 61 6c 20  ase hexadecimal 
16d0: 53 48 41 31 20 68 61 73 68 20 6f 66 20 74 68 65  SHA1 hash of the
16e0: 20 63 6f 6e 74 65 6e 74 0a 61 72 74 69 66 61 63   content.artifac
16f0: 74 2e 20 20 54 68 65 20 6f 70 74 69 6f 6e 61 6c  t.  The optional
1700: 20 33 72 64 20 61 72 67 75 6d 65 6e 74 20 64 65   3rd argument de
1710: 66 69 6e 65 73 20 61 6e 79 20 73 70 65 63 69 61  fines any specia
1720: 6c 20 61 63 63 65 73 73 20 0a 70 65 72 6d 69 73  l access .permis
1730: 73 69 6f 6e 73 20 61 73 73 6f 63 69 61 74 65 64  sions associated
1740: 20 77 69 74 68 20 74 68 65 20 66 69 6c 65 2e 20   with the file. 
1750: 20 54 68 65 20 6f 6e 6c 79 20 73 70 65 63 69 61   The only specia
1760: 6c 20 63 6f 64 65 20 63 75 72 72 65 6e 74 6c 79  l code currently
1770: 0a 64 65 66 69 6e 65 64 20 69 73 20 22 78 22 20  .defined is "x" 
1780: 77 68 69 63 68 20 6d 65 61 6e 73 20 74 68 61 74  which means that
1790: 20 74 68 65 20 66 69 6c 65 20 69 73 20 65 78 65   the file is exe
17a0: 63 75 74 61 62 6c 65 2e 20 20 41 6c 6c 20 66 69  cutable.  All fi
17b0: 6c 65 73 20 61 72 65 0a 61 6c 77 61 79 73 20 72  les are.always r
17c0: 65 61 64 61 62 6c 65 20 61 6e 64 20 77 72 69 74  eadable and writ
17d0: 61 62 6c 65 2e 20 20 54 68 69 73 20 63 61 6e 20  able.  This can 
17e0: 62 65 20 65 78 70 72 65 73 73 65 64 20 62 79 20  be expressed by 
17f0: 22 77 22 20 70 65 72 6d 69 73 73 69 6f 6e 0a 69  "w" permission.i
1800: 66 20 64 65 73 69 72 65 64 20 62 75 74 20 69 73  f desired but is
1810: 20 6f 70 74 69 6f 6e 61 6c 2e 0a 54 68 65 20 6f   optional..The o
1820: 70 74 69 6f 6e 61 6c 20 34 74 68 20 61 72 67 75  ptional 4th argu
1830: 6d 65 6e 74 20 69 73 20 74 68 65 20 6e 61 6d 65  ment is the name
1840: 20 6f 66 20 74 68 65 20 73 61 6d 65 20 66 69 6c   of the same fil
1850: 65 20 61 73 20 69 74 20 65 78 69 73 74 65 64 20  e as it existed 
1860: 69 6e 0a 74 68 65 20 70 61 72 65 6e 74 20 63 68  in.the parent ch
1870: 65 63 6b 2d 69 6e 2e 20 20 49 66 20 74 68 65 20  eck-in.  If the 
1880: 6e 61 6d 65 20 6f 66 20 74 68 65 20 66 69 6c 65  name of the file
1890: 20 69 73 20 75 6e 63 68 61 6e 67 65 64 20 66 72   is unchanged fr
18a0: 6f 6d 20 69 74 73 0a 70 61 72 65 6e 74 2c 20 74  om its.parent, t
18b0: 68 65 6e 20 74 68 65 20 34 74 68 20 61 72 67 75  hen the 4th argu
18c0: 6d 65 6e 74 20 69 73 20 6f 6d 69 74 74 65 64 2e  ment is omitted.
18d0: 0a 3c 2f 70 3e 0a 0a 3c 70 3e 0a 41 20 6d 61 6e  .</p>..<p>.A man
18e0: 69 66 65 73 74 20 68 61 73 20 7a 65 72 6f 20 6f  ifest has zero o
18f0: 72 20 6d 6f 72 65 20 4e 2d 63 61 72 64 73 2e 20  r more N-cards. 
1900: 20 45 61 63 68 20 4e 20 63 61 72 64 20 72 65 63   Each N card rec
1910: 6f 72 64 73 20 61 20 6e 61 6d 65 20 63 68 61 6e  ords a name chan
1920: 67 65 73 0a 74 6f 20 6f 6e 65 20 6f 66 20 74 68  ges.to one of th
1930: 65 20 66 69 6c 65 73 20 69 6e 20 74 68 65 20 6d  e files in the m
1940: 61 6e 69 66 65 73 74 2e 20 20 54 68 65 20 66 69  anifest.  The fi
1950: 72 73 74 20 61 72 67 75 6d 65 6e 74 20 74 6f 20  rst argument to 
1960: 74 68 65 20 4e 20 63 6f 64 65 20 69 73 0a 74 68  the N code is.th
1970: 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 66 69  e name of the fi
1980: 6c 65 20 69 6e 20 74 68 65 20 70 61 72 65 6e 74  le in the parent
1990: 20 63 68 65 63 6b 2d 69 6e 2e 20 20 54 68 65 20   check-in.  The 
19a0: 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e 74 20  second argument 
19b0: 69 73 20 74 68 65 0a 6e 61 6d 65 20 6f 66 20 74  is the.name of t
19c0: 68 65 20 66 69 6c 65 20 69 6e 20 74 68 65 20 63  he file in the c
19d0: 68 65 63 6b 2d 69 6e 20 64 65 66 69 6e 65 64 20  heck-in defined 
19e0: 62 79 20 74 68 65 20 6d 61 6e 69 66 65 73 74 2e  by the manifest.
19f0: 0a 3c 2f 70 3e 0a 0a 3c 70 3e 0a 41 20 6d 61 6e  .</p>..<p>.A man
1a00: 69 66 65 73 74 20 68 61 73 20 7a 65 72 6f 20 6f  ifest has zero o
1a10: 72 20 6f 6e 65 20 50 2d 63 61 72 64 73 2e 20 20  r one P-cards.  
1a20: 4d 6f 73 74 20 6d 61 6e 69 66 65 73 74 73 20 68  Most manifests h
1a30: 61 76 65 20 6f 6e 65 20 50 2d 63 61 72 64 2e 0a  ave one P-card..
1a40: 54 68 65 20 50 2d 63 61 72 64 20 68 61 73 20 61  The P-card has a
1a50: 20 76 61 72 79 69 6e 67 20 6e 75 6d 62 65 72 20   varying number 
1a60: 6f 66 20 61 72 67 75 6d 65 6e 74 73 20 74 68 61  of arguments tha
1a70: 74 0a 64 65 66 69 6e 65 73 20 6f 74 68 65 72 20  t.defines other 
1a80: 6d 61 6e 69 66 65 73 74 73 20 66 72 6f 6d 20 77  manifests from w
1a90: 68 69 63 68 20 74 68 65 20 63 75 72 72 65 6e 74  hich the current
1aa0: 20 6d 61 6e 69 66 65 73 74 0a 69 73 20 64 65 72   manifest.is der
1ab0: 69 76 65 64 2e 20 20 45 61 63 68 20 61 72 67 75  ived.  Each argu
1ac0: 6d 65 6e 74 20 69 73 20 61 6e 20 34 30 2d 63 68  ment is an 40-ch
1ad0: 61 72 61 63 74 65 72 20 6c 6f 77 65 72 63 61 73  aracter lowercas
1ae0: 65 20 0a 68 65 78 61 64 65 63 69 6d 61 6c 20 53  e .hexadecimal S
1af0: 48 41 31 20 6f 66 20 74 68 65 20 70 72 65 64 65  HA1 of the prede
1b00: 63 65 73 73 6f 72 20 6d 61 6e 69 66 65 73 74 2e  cessor manifest.
1b10: 20 20 41 6c 6c 20 61 72 67 75 6d 65 6e 74 73 0a    All arguments.
1b20: 74 6f 20 74 68 65 20 50 2d 63 61 72 64 20 6d 75  to the P-card mu
1b30: 73 74 20 62 65 20 75 6e 69 71 75 65 20 74 6f 20  st be unique to 
1b40: 74 68 61 74 20 6c 69 6e 65 2e 0a 54 68 65 20 66  that line..The f
1b50: 69 72 73 74 20 70 72 65 64 65 63 65 73 73 6f 72  irst predecessor
1b60: 20 69 73 20 74 68 65 20 64 69 72 65 63 74 20 61   is the direct a
1b70: 6e 63 65 73 74 6f 72 20 6f 66 20 74 68 65 20 6d  ncestor of the m
1b80: 61 6e 69 66 65 73 74 2e 0a 4f 74 68 65 72 20 61  anifest..Other a
1b90: 72 67 75 6d 65 6e 74 73 20 64 65 66 69 6e 65 20  rguments define 
1ba0: 6d 61 6e 69 66 65 73 74 73 20 77 69 74 68 20 77  manifests with w
1bb0: 68 69 63 68 20 74 68 65 20 66 69 72 73 74 20 77  hich the first w
1bc0: 61 73 0a 6d 65 72 67 65 64 20 74 6f 20 79 69 65  as.merged to yie
1bd0: 6c 64 20 74 68 65 20 63 75 72 72 65 6e 74 20 6d  ld the current m
1be0: 61 6e 69 66 65 73 74 2e 20 20 4d 6f 73 74 20 6d  anifest.  Most m
1bf0: 61 6e 69 66 65 73 74 73 20 68 61 76 65 0a 61 20  anifests have.a 
1c00: 50 2d 63 61 72 64 20 77 69 74 68 20 61 20 73 69  P-card with a si
1c10: 6e 67 6c 65 20 61 72 67 75 6d 65 6e 74 2e 20 20  ngle argument.  
1c20: 54 68 65 20 66 69 72 73 74 20 6d 61 6e 69 66 65  The first manife
1c30: 73 74 20 69 6e 20 74 68 65 0a 70 72 6f 6a 65 63  st in the.projec
1c40: 74 20 68 61 73 20 6e 6f 20 61 6e 63 65 73 74 6f  t has no ancesto
1c50: 72 73 20 61 6e 64 20 74 68 75 73 20 68 61 73 20  rs and thus has 
1c60: 6e 6f 20 50 2d 63 61 72 64 2e 0a 3c 2f 70 3e 0a  no P-card..</p>.
1c70: 0a 3c 70 3e 0a 41 20 6d 61 6e 69 66 65 73 74 20  .<p>.A manifest 
1c80: 6d 61 79 20 6f 70 74 69 6f 6e 61 6c 6c 79 20 68  may optionally h
1c90: 61 76 65 20 61 20 73 69 6e 67 6c 65 20 52 2d 63  ave a single R-c
1ca0: 61 72 64 2e 20 20 54 68 65 20 52 2d 63 61 72 64  ard.  The R-card
1cb0: 20 68 61 73 0a 61 20 73 69 6e 67 6c 65 20 61 72   has.a single ar
1cc0: 67 75 6d 65 6e 74 20 77 68 69 63 68 20 69 73 20  gument which is 
1cd0: 74 68 65 20 4d 44 35 20 63 68 65 63 6b 73 75 6d  the MD5 checksum
1ce0: 20 6f 66 20 61 6c 6c 20 66 69 6c 65 73 20 69 6e   of all files in
1cf0: 20 0a 74 68 65 20 63 68 65 63 6b 2d 69 6e 20 65   .the check-in e
1d00: 78 63 65 70 74 20 74 68 65 20 6d 61 6e 69 66 65  xcept the manife
1d10: 73 74 20 69 74 73 65 6c 66 2e 20 20 54 68 65 20  st itself.  The 
1d20: 63 68 65 63 6b 73 75 6d 20 69 73 20 65 78 70 72  checksum is expr
1d30: 65 73 73 65 64 0a 61 73 20 33 32 2d 63 68 61 72  essed.as 32-char
1d40: 61 63 74 65 72 73 20 6f 66 20 6c 6f 77 65 72 63  acters of lowerc
1d50: 61 73 65 20 68 65 78 61 64 65 63 69 6d 61 6c 2e  ase hexadecimal.
1d60: 20 20 20 54 68 65 20 63 68 65 63 6b 73 75 6d 20     The checksum 
1d70: 69 73 0a 63 6f 6d 70 75 74 65 64 20 61 73 20 66  is.computed as f
1d80: 6f 6c 6c 6f 77 73 3a 20 20 46 6f 72 20 65 61 63  ollows:  For eac
1d90: 68 20 66 69 6c 65 20 69 6e 20 74 68 65 20 63 68  h file in the ch
1da0: 65 63 6b 2d 69 6e 20 28 65 78 63 65 70 74 20 66  eck-in (except f
1db0: 6f 72 0a 74 68 65 20 6d 61 6e 69 66 65 73 74 20  or.the manifest 
1dc0: 69 74 73 65 6c 66 29 20 69 6e 20 73 74 72 69 63  itself) in stric
1dd0: 74 20 73 6f 72 74 65 64 20 6c 65 78 69 63 6f 67  t sorted lexicog
1de0: 72 61 70 68 69 63 61 6c 20 6f 72 64 65 72 2c 20  raphical order, 
1df0: 0a 74 61 6b 65 20 74 68 65 20 70 61 74 68 6e 61  .take the pathna
1e00: 6d 65 20 6f 66 20 74 68 65 20 66 69 6c 65 20 72  me of the file r
1e10: 65 6c 61 74 69 76 65 20 74 6f 20 74 68 65 20 72  elative to the r
1e20: 6f 6f 74 20 6f 66 20 74 68 65 0a 72 65 70 6f 73  oot of the.repos
1e30: 69 74 6f 72 79 2c 20 61 70 70 65 6e 64 20 61 20  itory, append a 
1e40: 73 69 6e 67 6c 65 20 73 70 61 63 65 20 28 41 53  single space (AS
1e50: 43 49 49 20 30 78 32 30 29 2c 20 74 68 65 0a 73  CII 0x20), the.s
1e60: 69 7a 65 20 6f 66 20 74 68 65 20 66 69 6c 65 20  ize of the file 
1e70: 69 6e 20 41 53 43 49 49 20 64 65 63 69 6d 61 6c  in ASCII decimal
1e80: 2c 20 61 20 73 69 6e 67 6c 65 20 6e 65 77 6c 69  , a single newli
1e90: 6e 65 0a 63 68 61 72 61 63 74 65 72 20 28 41 53  ne.character (AS
1ea0: 43 49 49 20 30 78 30 41 29 2c 20 61 6e 64 20 74  CII 0x0A), and t
1eb0: 68 65 20 63 6f 6d 70 6c 65 74 65 20 74 65 78 74  he complete text
1ec0: 20 6f 66 20 74 68 65 20 66 69 6c 65 2e 0a 43 6f   of the file..Co
1ed0: 6d 70 75 74 65 20 74 68 65 20 4d 44 35 20 63 68  mpute the MD5 ch
1ee0: 65 63 6b 73 75 6d 20 6f 66 20 74 68 65 20 74 68  ecksum of the th
1ef0: 65 20 72 65 73 75 6c 74 2e 0a 3c 2f 70 3e 0a 0a  e result..</p>..
1f00: 3c 70 3e 0a 45 61 63 68 20 6d 61 6e 69 66 65 73  <p>.Each manifes
1f10: 74 20 68 61 73 20 61 20 73 69 6e 67 6c 65 20 55  t has a single U
1f20: 2d 63 61 72 64 2e 20 20 54 68 65 20 61 72 67 75  -card.  The argu
1f30: 6d 65 6e 74 20 74 6f 20 74 68 65 20 55 2d 63 61  ment to the U-ca
1f40: 72 64 20 69 73 0a 74 68 65 20 6c 6f 67 69 6e 20  rd is.the login 
1f50: 6f 66 20 74 68 65 20 75 73 65 72 20 77 68 6f 20  of the user who 
1f60: 63 72 65 61 74 65 64 20 74 68 65 20 6d 61 6e 69  created the mani
1f70: 66 65 73 74 2e 20 20 54 68 65 20 6c 6f 67 69 6e  fest.  The login
1f80: 20 6e 61 6d 65 0a 69 73 20 65 6e 63 6f 64 65 64   name.is encoded
1f90: 20 75 73 69 6e 67 20 74 68 65 20 73 61 6d 65 20   using the same 
1fa0: 63 68 61 72 61 63 74 65 72 20 65 73 63 61 70 65  character escape
1fb0: 73 20 61 73 20 69 73 20 75 73 65 64 20 66 6f 72  s as is used for
1fc0: 20 74 68 65 0a 63 68 65 63 6b 2d 69 6e 20 63 6f   the.check-in co
1fd0: 6d 6d 65 6e 74 20 61 72 67 75 6d 65 6e 74 20 74  mment argument t
1fe0: 6f 20 74 68 65 20 43 2d 63 61 72 64 2e 0a 3c 2f  o the C-card..</
1ff0: 70 3e 0a 0a 3c 70 3e 0a 41 20 6d 61 6e 69 66 65  p>..<p>.A manife
2000: 73 74 20 68 61 73 20 61 6e 20 6f 70 74 69 6f 6e  st has an option
2010: 20 5a 2d 63 61 72 64 20 61 73 20 69 74 73 20 6c   Z-card as its l
2020: 61 73 74 20 6c 69 6e 65 2e 20 20 54 68 65 20 61  ast line.  The a
2030: 72 67 75 6d 65 6e 74 0a 74 6f 20 74 68 65 20 5a  rgument.to the Z
2040: 2d 63 61 72 64 20 69 73 20 61 20 33 32 2d 63 68  -card is a 32-ch
2050: 61 72 61 63 74 65 72 20 6c 6f 77 65 72 63 61 73  aracter lowercas
2060: 65 20 68 65 78 61 64 65 63 69 6d 61 6c 20 4d 44  e hexadecimal MD
2070: 35 20 68 61 73 68 0a 6f 66 20 61 6c 6c 20 70 72  5 hash.of all pr
2080: 69 6f 72 20 6c 69 6e 65 73 20 6f 66 20 74 68 65  ior lines of the
2090: 20 6d 61 6e 69 66 65 73 74 20 75 70 20 74 6f 20   manifest up to 
20a0: 61 6e 64 20 69 6e 63 6c 75 64 69 6e 67 20 74 68  and including th
20b0: 65 20 6e 65 77 6c 69 6e 65 20 0a 63 68 61 72 61  e newline .chara
20c0: 63 74 65 72 20 74 68 61 74 20 69 6d 6d 65 64 69  cter that immedi
20d0: 61 74 65 6c 79 20 70 72 65 63 65 64 65 73 20 74  ately precedes t
20e0: 68 65 20 22 5a 22 2e 20 20 54 68 65 20 5a 2d 63  he "Z".  The Z-c
20f0: 61 72 64 20 69 73 20 6a 75 73 74 0a 61 20 73 61  ard is just.a sa
2100: 6e 69 74 79 20 63 68 65 63 6b 20 74 6f 20 70 72  nity check to pr
2110: 6f 76 65 20 74 68 61 74 20 74 68 65 20 6d 61 6e  ove that the man
2120: 69 66 65 73 74 20 69 73 20 77 65 6c 6c 2d 66 6f  ifest is well-fo
2130: 72 6d 65 64 20 61 6e 64 0a 63 6f 6e 73 69 73 74  rmed and.consist
2140: 65 6e 74 2e 0a 3c 2f 70 3e 0a 0a 3c 68 32 3e 32  ent..</p>..<h2>2
2150: 2e 30 20 43 6c 75 73 74 65 72 73 3c 2f 68 32 3e  .0 Clusters</h2>
2160: 0a 0a 3c 70 3e 0a 41 20 63 6c 75 73 74 65 72 20  ..<p>.A cluster 
2170: 69 73 20 61 20 61 72 74 69 66 61 63 74 20 74 68  is a artifact th
2180: 61 74 20 64 65 63 6c 61 72 65 73 20 74 68 65 20  at declares the 
2190: 65 78 69 73 74 65 6e 63 65 20 6f 66 20 6f 74 68  existence of oth
21a0: 65 72 20 61 72 74 69 66 61 63 74 73 2e 0a 43 6c  er artifacts..Cl
21b0: 75 73 74 65 72 73 20 61 72 65 20 75 73 65 64 20  usters are used 
21c0: 64 75 72 69 6e 67 20 72 65 70 6f 73 69 74 6f 72  during repositor
21d0: 79 20 73 79 6e 63 68 72 6f 6e 69 7a 61 74 69 6f  y synchronizatio
21e0: 6e 20 74 6f 20 68 65 6c 70 20 0a 72 65 64 75 63  n to help .reduc
21f0: 65 20 6e 65 74 77 6f 72 6b 20 74 72 61 66 66 69  e network traffi
2200: 63 2e 20 20 41 73 20 73 75 63 68 2c 20 63 6c 75  c.  As such, clu
2210: 73 74 65 72 73 20 61 72 65 20 61 6e 20 6f 70 74  sters are an opt
2220: 69 6d 69 7a 61 74 69 6f 6e 20 61 6e 64 0a 6d 61  imization and.ma
2230: 79 20 62 65 20 72 65 6d 6f 76 65 64 20 66 72 6f  y be removed fro
2240: 6d 20 61 20 72 65 70 6f 73 69 74 6f 72 79 20 77  m a repository w
2250: 69 74 68 6f 75 74 20 6c 6f 73 73 20 6f 72 20 64  ithout loss or d
2260: 61 6d 61 67 65 20 74 6f 20 74 68 65 0a 75 6e 64  amage to the.und
2270: 65 72 6c 79 69 6e 67 20 70 72 6f 6a 65 63 74 20  erlying project 
2280: 63 6f 64 65 2e 0a 3c 2f 70 3e 0a 0a 3c 70 3e 0a  code..</p>..<p>.
2290: 43 6c 75 73 74 65 72 73 20 66 6f 6c 6c 6f 77 20  Clusters follow 
22a0: 61 20 73 79 6e 74 61 78 20 74 68 61 74 20 69 73  a syntax that is
22b0: 20 76 65 72 79 20 73 69 6d 69 6c 61 72 20 74 6f   very similar to
22c0: 20 6d 61 6e 69 66 65 73 74 73 2e 0a 41 20 43 6c   manifests..A Cl
22d0: 75 73 74 65 72 20 69 73 20 61 20 6c 69 6e 65 2d  uster is a line-
22e0: 6f 72 69 65 6e 74 65 64 20 74 65 78 74 20 66 69  oriented text fi
22f0: 6c 65 2e 20 20 4e 65 77 6c 69 6e 65 20 63 68 61  le.  Newline cha
2300: 72 61 63 74 65 72 73 0a 28 41 53 43 49 49 20 30  racters.(ASCII 0
2310: 78 30 61 29 20 73 65 70 61 72 61 74 65 20 74 68  x0a) separate th
2320: 65 20 61 72 74 69 66 61 63 74 20 69 6e 74 6f 20  e artifact into 
2330: 63 61 72 64 73 2e 20 20 45 61 63 68 20 63 61 72  cards.  Each car
2340: 64 20 62 65 67 69 6e 73 20 77 69 74 68 20 61 20  d begins with a 
2350: 73 69 6e 67 6c 65 0a 63 68 61 72 61 63 74 65 72  single.character
2360: 20 22 63 61 72 64 20 74 79 70 65 22 2e 20 20 5a   "card type".  Z
2370: 65 72 6f 20 6f 72 20 6d 6f 72 65 20 61 72 67 75  ero or more argu
2380: 6d 65 6e 74 73 20 6d 61 79 20 66 6f 6c 6c 6f 77  ments may follow
2390: 0a 74 68 65 20 63 61 72 64 20 74 79 70 65 2e 20  .the card type. 
23a0: 20 41 6c 6c 20 61 72 67 75 6d 65 6e 74 73 20 61   All arguments a
23b0: 72 65 20 73 65 70 61 72 61 74 65 64 20 66 72 6f  re separated fro
23c0: 6d 20 65 61 63 68 20 6f 74 68 65 72 0a 61 6e 64  m each other.and
23d0: 20 66 72 6f 6d 20 74 68 65 20 63 61 72 64 2d 74   from the card-t
23e0: 79 70 65 20 63 68 61 72 61 63 74 65 72 20 62 79  ype character by
23f0: 20 61 20 73 69 6e 67 6c 65 20 73 70 61 63 65 0a   a single space.
2400: 63 68 61 72 61 63 74 65 72 2e 20 20 54 68 65 72  character.  Ther
2410: 65 20 69 73 20 6e 6f 20 73 75 72 70 6c 75 73 20  e is no surplus 
2420: 77 68 69 74 65 20 73 70 61 63 65 20 62 65 74 77  white space betw
2430: 65 65 6e 20 61 72 67 75 6d 65 6e 74 73 0a 61 6e  een arguments.an
2440: 64 20 6e 6f 20 6c 65 61 64 69 6e 67 20 6f 72 20  d no leading or 
2450: 74 72 61 69 6c 69 6e 67 20 77 68 69 74 65 73 70  trailing whitesp
2460: 61 63 65 20 65 78 63 65 70 74 20 66 6f 72 20 74  ace except for t
2470: 68 65 20 6e 65 77 6c 69 6e 65 20 0a 63 68 61 72  he newline .char
2480: 61 63 74 65 72 20 74 68 61 74 20 61 63 74 73 20  acter that acts 
2490: 61 73 20 74 68 65 20 63 61 72 64 20 73 65 70 61  as the card sepa
24a0: 72 61 74 6f 72 2e 0a 41 6c 6c 20 63 61 72 64 73  rator..All cards
24b0: 20 6f 66 20 61 20 63 6c 75 73 74 65 72 20 6f 63   of a cluster oc
24c0: 63 75 72 20 69 6e 20 73 74 72 69 63 74 20 73 6f  cur in strict so
24d0: 72 74 65 64 20 6c 65 78 69 63 6f 67 72 61 70 68  rted lexicograph
24e0: 69 63 61 6c 20 6f 72 64 65 72 2e 0a 4e 6f 20 63  ical order..No c
24f0: 61 72 64 20 6d 61 79 20 62 65 20 64 75 70 6c 69  ard may be dupli
2500: 63 61 74 65 64 2e 0a 54 68 65 20 63 6c 75 73 74  cated..The clust
2510: 65 72 20 6d 61 79 20 6e 6f 74 20 63 6f 6e 74 61  er may not conta
2520: 69 6e 20 61 64 64 69 74 69 6f 6e 61 6c 20 74 65  in additional te
2530: 78 74 20 6f 72 20 64 61 74 61 20 62 65 79 6f 6e  xt or data beyon
2540: 64 20 0a 77 68 61 74 20 69 73 20 64 65 73 63 72  d .what is descr
2550: 69 62 65 64 20 68 65 72 65 2e 0a 55 6e 6c 69 6b  ibed here..Unlik
2560: 65 20 6d 61 6e 69 66 65 73 74 73 2c 20 63 6c 75  e manifests, clu
2570: 73 74 65 72 73 20 61 72 65 20 6e 65 76 65 72 20  sters are never 
2580: 50 47 50 20 73 69 67 6e 65 64 2e 0a 3c 2f 70 3e  PGP signed..</p>
2590: 0a 0a 3c 70 3e 0a 41 6c 6c 6f 77 65 64 20 63 61  ..<p>.Allowed ca
25a0: 72 64 73 20 69 6e 20 74 68 65 20 63 6c 75 73 74  rds in the clust
25b0: 65 72 20 61 72 65 20 61 73 20 66 6f 6c 6c 6f 77  er are as follow
25c0: 73 3a 0a 3c 2f 70 3e 0a 0a 3c 62 6c 6f 63 6b 71  s:.</p>..<blockq
25d0: 75 6f 74 65 3e 0a 3c 62 3e 4d 3c 2f 62 3e 20 3c  uote>.<b>M</b> <
25e0: 69 3e 61 72 74 69 66 61 63 74 2d 69 64 3c 2f 69  i>artifact-id</i
25f0: 3e 3c 62 72 20 2f 3e 0a 3c 62 3e 5a 3c 2f 62 3e  ><br />.<b>Z</b>
2600: 20 3c 69 3e 63 68 65 63 6b 73 75 6d 3c 2f 69 3e   <i>checksum</i>
2610: 0a 3c 2f 62 6c 6f 63 6b 71 75 6f 74 65 3e 0a 0a  .</blockquote>..
2620: 3c 70 3e 0a 41 20 63 6c 75 73 74 65 72 20 63 6f  <p>.A cluster co
2630: 6e 74 61 69 6e 73 20 6f 6e 65 20 6f 72 20 6d 6f  ntains one or mo
2640: 72 65 20 22 4d 22 20 63 61 72 64 73 20 66 6f 6c  re "M" cards fol
2650: 6c 6f 77 65 64 20 62 79 20 61 20 73 69 6e 67 6c  lowed by a singl
2660: 65 20 22 5a 22 0a 6c 69 6e 65 2e 20 20 45 61 63  e "Z".line.  Eac
2670: 68 20 4d 20 63 61 72 64 20 68 61 73 20 61 20 73  h M card has a s
2680: 69 6e 67 6c 65 20 61 72 67 75 6d 65 6e 74 20 77  ingle argument w
2690: 68 69 63 68 20 69 73 20 74 68 65 20 61 72 74 69  hich is the arti
26a0: 66 61 63 74 20 49 44 20 6f 66 20 0a 61 6e 6f 74  fact ID of .anot
26b0: 68 65 72 20 61 72 74 69 66 61 63 74 20 69 6e 20  her artifact in 
26c0: 74 68 65 20 72 65 70 6f 73 69 74 6f 72 79 2e 20  the repository. 
26d0: 20 54 68 65 20 5a 20 63 61 72 64 20 77 6f 72 6b   The Z card work
26e0: 20 65 78 61 63 74 6c 79 20 6c 69 6b 65 0a 74 68   exactly like.th
26f0: 65 20 5a 20 63 61 72 64 20 6f 66 20 61 20 6d 61  e Z card of a ma
2700: 6e 69 66 65 73 74 2e 20 20 54 68 65 20 61 72 67  nifest.  The arg
2710: 75 6d 65 6e 74 20 74 6f 20 74 68 65 20 5a 20 63  ument to the Z c
2720: 61 72 64 20 69 73 20 74 68 65 0a 6c 6f 77 65 72  ard is the.lower
2730: 2d 63 61 73 65 20 68 65 78 61 64 65 63 69 6d 61  -case hexadecima
2740: 6c 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e  l representation
2750: 20 6f 66 20 74 68 65 20 4d 44 35 20 63 68 65 63   of the MD5 chec
2760: 6b 73 75 6d 20 6f 66 20 61 6c 6c 0a 70 72 69 6f  ksum of all.prio
2770: 72 20 63 61 72 64 73 20 69 6e 20 74 68 65 20 63  r cards in the c
2780: 6c 75 73 74 65 72 2e 20 20 4e 6f 74 65 20 74 68  luster.  Note th
2790: 61 74 20 74 68 65 20 5a 20 63 61 72 64 20 69 73  at the Z card is
27a0: 20 72 65 71 75 69 72 65 64 0a 6f 6e 20 61 20 63   required.on a c
27b0: 6c 75 73 74 65 72 2e 0a 3c 2f 70 3e 0a 0a 0a 3c  luster..</p>...<
27c0: 68 32 3e 33 2e 30 20 43 6f 6e 74 72 6f 6c 20 41  h2>3.0 Control A
27d0: 72 74 69 66 61 63 74 73 3c 2f 68 32 3e 0a 0a 3c  rtifacts</h2>..<
27e0: 70 3e 0a 43 6f 6e 74 72 6f 6c 20 61 72 74 69 66  p>.Control artif
27f0: 61 63 74 73 20 61 72 65 20 75 73 65 64 20 74 6f  acts are used to
2800: 20 61 73 73 69 67 6e 20 70 72 6f 70 65 72 74 69   assign properti
2810: 65 73 20 74 6f 20 6f 74 68 65 72 20 61 72 74 69  es to other arti
2820: 66 61 63 74 73 0a 77 69 74 68 69 6e 20 74 68 65  facts.within the
2830: 20 72 65 70 6f 73 69 74 6f 72 79 2e 20 20 54 68   repository.  Th
2840: 65 20 62 61 73 69 63 20 66 6f 72 6d 61 74 20 6f  e basic format o
2850: 66 20 61 20 63 6f 6e 74 72 6f 6c 20 61 72 74 69  f a control arti
2860: 66 61 63 74 20 69 73 0a 74 68 65 20 73 61 6d 65  fact is.the same
2870: 20 61 73 20 61 20 6d 61 6e 69 66 65 73 74 20 6f   as a manifest o
2880: 72 20 63 6c 75 73 74 65 72 2e 20 20 41 20 63 6f  r cluster.  A co
2890: 6e 74 72 6f 6c 20 61 72 74 69 66 61 63 74 20 69  ntrol artifact i
28a0: 73 20 61 20 74 65 78 74 0a 66 69 6c 65 73 20 64  s a text.files d
28b0: 69 76 69 64 65 64 20 69 6e 74 6f 20 63 61 72 64  ivided into card
28c0: 73 20 62 79 20 6e 65 77 6c 69 6e 65 20 63 68 61  s by newline cha
28d0: 72 61 63 74 65 72 73 2e 20 20 45 61 63 68 20 63  racters.  Each c
28e0: 61 72 64 20 68 61 73 20 61 0a 73 69 6e 67 6c 65  ard has a.single
28f0: 2d 63 68 61 72 61 63 74 65 72 20 63 61 72 64 20  -character card 
2900: 74 79 70 65 20 66 6f 6c 6c 6f 77 65 64 20 62 79  type followed by
2910: 20 61 72 67 75 6d 65 6e 74 73 2e 20 20 53 70 61   arguments.  Spa
2920: 63 65 73 20 73 65 70 61 72 61 74 65 0a 74 68 65  ces separate.the
2930: 20 63 61 72 64 20 74 79 70 65 20 61 6e 64 20 74   card type and t
2940: 68 65 20 61 72 67 75 6d 65 6e 74 73 2e 20 20 4e  he arguments.  N
2950: 6f 20 73 75 72 70 6c 75 73 20 77 68 69 74 65 73  o surplus whites
2960: 70 61 63 65 20 69 73 20 61 6c 6c 6f 77 65 64 2e  pace is allowed.
2970: 0a 41 6c 6c 20 63 61 72 64 73 20 6d 75 73 74 20  .All cards must 
2980: 6f 63 63 75 72 20 69 6e 20 73 74 72 69 63 74 20  occur in strict 
2990: 6c 65 78 69 67 72 61 70 68 69 63 61 6c 20 6f 72  lexigraphical or
29a0: 64 65 72 2e 0a 3c 2f 70 3e 0a 0a 3c 70 3e 0a 41  der..</p>..<p>.A
29b0: 6c 6c 6f 77 65 64 20 63 61 72 64 73 20 69 6e 20  llowed cards in 
29c0: 61 20 63 6f 6e 74 72 6f 6c 20 61 72 74 69 66 61  a control artifa
29d0: 63 74 20 61 72 65 20 61 73 20 66 6f 6c 6c 6f 77  ct are as follow
29e0: 73 3a 0a 3c 2f 70 3e 0a 0a 3c 62 6c 6f 63 6b 71  s:.</p>..<blockq
29f0: 75 6f 74 65 3e 0a 3c 62 3e 44 3c 2f 62 3e 20 3c  uote>.<b>D</b> <
2a00: 69 3e 74 69 6d 65 2d 61 6e 64 2d 64 61 74 65 2d  i>time-and-date-
2a10: 73 74 61 6d 70 3c 2f 69 3e 3c 62 72 20 2f 3e 0a  stamp</i><br />.
2a20: 3c 62 3e 54 3c 2f 62 3e 20 28 3c 62 3e 2b 3c 2f  <b>T</b> (<b>+</
2a30: 62 3e 7c 3c 62 3e 2d 3c 2f 62 3e 7c 3c 62 3e 2a  b>|<b>-</b>|<b>*
2a40: 3c 2f 62 3e 29 3c 69 3e 74 61 67 2d 6e 61 6d 65  </b>)<i>tag-name
2a50: 20 20 61 72 74 69 66 61 63 74 2d 69 64 20 20 3f    artifact-id  ?
2a60: 76 61 6c 75 65 3f 3c 2f 69 3e 3c 62 72 20 2f 3e  value?</i><br />
2a70: 0a 3c 62 3e 5a 3c 2f 62 3e 20 3c 69 3e 63 68 65  .<b>Z</b> <i>che
2a80: 63 6b 73 75 6d 3c 2f 69 3e 3c 62 72 20 2f 3e 0a  cksum</i><br />.
2a90: 3c 2f 62 6c 6f 63 6b 71 75 6f 74 65 3e 0a 0a 3c  </blockquote>..<
2aa0: 70 3e 0a 41 20 63 6f 6e 74 72 6f 6c 20 61 72 74  p>.A control art
2ab0: 69 66 61 63 74 20 6d 75 73 74 20 68 61 76 65 20  ifact must have 
2ac0: 6f 6e 65 20 44 20 63 61 72 64 20 61 6e 64 20 6f  one D card and o
2ad0: 6e 65 20 5a 20 63 61 72 64 20 61 6e 64 0a 6f 6e  ne Z card and.on
2ae0: 65 20 6f 72 20 6d 6f 72 65 20 6f 72 20 6d 6f 72  e or more or mor
2af0: 65 20 54 20 63 61 72 64 73 2e 20 20 4e 6f 20 6f  e T cards.  No o
2b00: 74 68 65 72 20 63 61 72 64 73 20 6f 72 20 6f 74  ther cards or ot
2b10: 68 65 72 20 74 65 78 74 20 69 73 0a 61 6c 6c 6f  her text is.allo
2b20: 77 65 64 20 69 6e 20 61 20 63 6f 6e 74 72 6f 6c  wed in a control
2b30: 20 61 72 74 69 66 61 63 74 2e 20 20 43 6f 6e 74   artifact.  Cont
2b40: 72 6f 6c 20 61 72 74 69 66 61 63 74 73 20 6d 69  rol artifacts mi
2b50: 67 68 74 20 62 65 20 50 47 50 0a 63 6c 65 61 72  ght be PGP.clear
2b60: 73 69 67 6e 65 64 2e 3c 2f 70 3e 0a 0a 3c 70 3e  signed.</p>..<p>
2b70: 54 68 65 20 44 20 63 61 72 64 20 61 6e 64 20 74  The D card and t
2b80: 68 65 20 5a 20 63 61 72 64 20 6f 66 20 61 20 63  he Z card of a c
2b90: 6f 6e 74 72 6f 6c 20 61 72 74 69 66 61 63 74 20  ontrol artifact 
2ba0: 61 72 65 20 74 68 65 20 73 61 6d 65 0a 61 73 20  are the same.as 
2bb0: 69 6e 20 61 20 6d 61 6e 69 66 65 73 74 2e 3c 2f  in a manifest.</
2bc0: 70 3e 0a 0a 3c 70 3e 54 68 65 20 54 20 63 61 72  p>..<p>The T car
2bd0: 64 20 72 65 70 72 65 73 65 6e 74 73 20 61 20 22  d represents a "
2be0: 74 61 67 22 20 6f 72 20 70 72 6f 70 65 72 74 79  tag" or property
2bf0: 20 74 68 61 74 20 69 73 20 61 70 70 6c 69 65 64   that is applied
2c00: 20 74 6f 0a 73 6f 6d 65 20 6f 74 68 65 72 20 61   to.some other a
2c10: 72 74 69 66 61 63 74 2e 20 20 54 68 65 20 54 20  rtifact.  The T 
2c20: 63 61 72 64 20 68 61 73 20 74 77 6f 20 6f 72 20  card has two or 
2c30: 74 68 72 65 65 20 76 61 6c 75 65 73 2e 20 20 54  three values.  T
2c40: 68 65 0a 73 65 63 6f 6e 64 20 61 72 67 75 6d 65  he.second argume
2c50: 6e 74 20 69 73 20 74 68 65 20 34 30 20 63 68 61  nt is the 40 cha
2c60: 72 61 63 74 65 72 20 6c 6f 77 65 72 63 61 73 65  racter lowercase
2c70: 20 61 72 74 69 66 61 63 74 20 49 44 20 6f 66 20   artifact ID of 
2c80: 74 68 65 20 61 72 74 69 66 61 63 74 0a 74 6f 20  the artifact.to 
2c90: 77 68 69 63 68 20 74 68 65 20 74 61 67 20 69 73  which the tag is
2ca0: 20 74 6f 20 62 65 20 61 70 70 6c 69 65 64 2e 20   to be applied. 
2cb0: 54 68 65 0a 66 69 72 73 74 20 76 61 6c 75 65 20  The.first value 
2cc0: 69 73 20 74 68 65 20 74 61 67 20 6e 61 6d 65 2e  is the tag name.
2cd0: 20 20 54 68 65 20 66 69 72 73 74 20 63 68 61 72    The first char
2ce0: 61 63 74 65 72 20 6f 66 20 74 68 65 20 74 61 67  acter of the tag
2cf0: 0a 69 73 20 65 69 74 68 65 72 20 22 2b 22 2c 20  .is either "+", 
2d00: 22 2d 22 2c 20 6f 72 20 22 2a 22 2e 20 20 41 20  "-", or "*".  A 
2d10: 22 2b 22 20 6d 65 61 6e 73 20 74 68 65 20 74 61  "+" means the ta
2d20: 67 20 73 68 6f 75 6c 64 20 62 65 20 61 64 64 65  g should be adde
2d30: 64 0a 74 6f 20 74 68 65 20 61 72 74 69 66 61 63  d.to the artifac
2d40: 74 2e 20 20 54 68 65 20 22 2d 22 20 6d 65 61 6e  t.  The "-" mean
2d50: 73 20 74 68 65 20 74 61 67 20 73 68 6f 75 6c 64  s the tag should
2d60: 20 62 65 20 72 65 6d 6f 76 65 64 2e 0a 54 68 65   be removed..The
2d70: 20 22 2a 22 20 63 68 61 72 61 63 74 65 72 20 6d   "*" character m
2d80: 65 61 6e 73 20 74 68 65 20 74 61 67 20 73 68 6f  eans the tag sho
2d90: 75 6c 64 20 62 65 20 61 64 64 65 64 20 74 6f 20  uld be added to 
2da0: 74 68 65 20 61 72 74 69 66 61 63 74 0a 61 6e 64  the artifact.and
2db0: 20 61 6c 6c 20 64 69 72 65 63 74 20 64 65 73 63   all direct desc
2dc0: 65 6e 64 61 6e 74 73 20 28 62 75 74 20 6e 6f 74  endants (but not
2dd0: 20 62 72 61 6e 63 68 65 73 29 20 6f 66 20 74 68   branches) of th
2de0: 65 20 61 72 74 69 66 61 63 74 20 64 6f 77 6e 0a  e artifact down.
2df0: 74 6f 20 62 75 74 20 6e 6f 74 20 69 6e 63 6c 75  to but not inclu
2e00: 64 69 6e 67 20 74 68 65 20 66 69 72 73 74 20 64  ding the first d
2e10: 65 73 63 65 6e 64 61 6e 74 20 74 68 61 74 20 63  escendant that c
2e20: 6f 6e 74 61 69 6e 73 20 61 20 0a 6d 6f 72 65 20  ontains a .more 
2e30: 72 65 63 65 6e 74 20 22 2d 22 20 74 61 67 20 77  recent "-" tag w
2e40: 69 74 68 20 74 68 65 20 73 61 6d 65 20 6e 61 6d  ith the same nam
2e50: 65 2e 0a 54 68 65 20 6f 70 74 69 6f 6e 61 6c 20  e..The optional 
2e60: 74 68 69 72 64 20 61 72 67 75 6d 65 6e 74 20 69  third argument i
2e70: 73 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 74  s the value of t
2e80: 68 65 20 74 61 67 2e 20 20 41 20 74 61 67 0a 77  he tag.  A tag.w
2e90: 69 74 68 6f 75 74 20 61 20 76 61 6c 75 65 20 69  ithout a value i
2ea0: 73 20 61 20 62 6f 6f 6c 65 61 6e 2e 3c 2f 70 3e  s a boolean.</p>
2eb0: 0a 0a 3c 70 3e 57 68 65 6e 20 74 77 6f 20 6f 72  ..<p>When two or
2ec0: 20 6d 6f 72 65 20 74 61 67 73 20 77 69 74 68 20   more tags with 
2ed0: 74 68 65 20 73 61 6d 65 20 6e 61 6d 65 20 61 72  the same name ar
2ee0: 65 20 61 70 70 6c 69 65 64 20 74 6f 20 74 68 65  e applied to the
2ef0: 0a 73 61 6d 65 20 61 72 74 69 66 61 63 74 2c 20  .same artifact, 
2f00: 74 68 65 20 74 61 67 20 77 69 74 68 20 74 68 65  the tag with the
2f10: 20 6c 61 74 65 73 74 20 28 6d 6f 73 74 20 72 65   latest (most re
2f20: 63 65 6e 74 29 20 64 61 74 65 20 69 73 0a 75 73  cent) date is.us
2f30: 65 64 2e 3c 2f 70 3e 0a 0a 3c 70 3e 53 6f 6d 65  ed.</p>..<p>Some
2f40: 20 74 61 67 73 20 68 61 76 65 20 73 70 65 63 69   tags have speci
2f50: 61 6c 20 6d 65 61 6e 69 6e 67 2e 20 20 54 68 65  al meaning.  The
2f60: 20 22 63 6f 6d 6d 65 6e 74 22 20 74 61 67 20 77   "comment" tag w
2f70: 68 65 6e 20 61 70 70 6c 69 65 64 0a 74 6f 20 61  hen applied.to a
2f80: 20 63 68 65 63 6b 2d 69 6e 20 77 69 6c 6c 20 6f   check-in will o
2f90: 76 65 72 72 69 64 65 20 74 68 65 20 63 68 65 63  verride the chec
2fa0: 6b 2d 69 6e 20 63 6f 6d 6d 65 6e 74 20 6f 66 20  k-in comment of 
2fb0: 74 68 61 74 20 63 68 65 63 6b 2d 69 6e 0a 66 6f  that check-in.fo
2fc0: 72 20 64 69 73 70 6c 61 79 20 70 75 72 70 6f 73  r display purpos
2fd0: 65 73 2e 3c 2f 70 3e 0a 0a 3c 61 20 6e 61 6d 65  es.</p>..<a name
2fe0: 3d 22 77 69 6b 69 63 68 6e 67 22 3e 3c 2f 61 3e  ="wikichng"></a>
2ff0: 0a 3c 68 32 3e 34 2e 30 20 57 69 6b 69 20 50 61  .<h2>4.0 Wiki Pa
3000: 67 65 73 3c 2f 68 32 3e 0a 0a 3c 70 3e 41 20 77  ges</h2>..<p>A w
3010: 69 6b 69 20 70 61 67 65 20 69 73 20 61 6e 20 61  iki page is an a
3020: 72 74 69 66 61 63 74 20 77 69 74 68 20 61 20 66  rtifact with a f
3030: 6f 72 6d 61 74 20 73 69 6d 69 6c 61 72 20 74 6f  ormat similar to
3040: 20 6d 61 6e 69 66 65 73 74 73 2c 0a 63 6c 75 73   manifests,.clus
3050: 74 65 72 73 2c 20 61 6e 64 20 63 6f 6e 74 72 6f  ters, and contro
3060: 6c 20 61 72 74 69 66 61 63 74 73 2e 20 20 54 68  l artifacts.  Th
3070: 65 20 61 72 74 69 66 61 63 74 20 69 73 20 64 69  e artifact is di
3080: 76 69 64 65 64 20 69 6e 74 6f 0a 63 61 72 64 73  vided into.cards
3090: 20 62 79 20 6e 65 77 6c 69 6e 65 20 63 68 61 72   by newline char
30a0: 61 63 74 65 72 73 2e 20 20 54 68 65 20 66 6f 72  acters.  The for
30b0: 6d 61 74 20 6f 66 20 65 61 63 68 20 63 61 72 64  mat of each card
30c0: 20 69 73 20 61 73 20 69 6e 0a 6d 61 6e 69 66 65   is as in.manife
30d0: 73 74 73 2c 20 63 6c 75 73 74 65 72 73 2c 20 61  sts, clusters, a
30e0: 6e 64 20 63 6f 6e 74 72 6f 6c 20 61 72 74 69 66  nd control artif
30f0: 61 63 74 73 2e 20 20 57 69 6b 69 20 61 72 74 69  acts.  Wiki arti
3100: 66 61 63 74 73 20 61 63 63 65 70 74 0a 74 68 65  facts accept.the
3110: 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 61 72 64 20   following card 
3120: 74 79 70 65 73 3a 3c 2f 70 3e 0a 0a 3c 62 6c 6f  types:</p>..<blo
3130: 63 6b 71 75 6f 74 65 3e 0a 3c 62 3e 44 3c 2f 62  ckquote>.<b>D</b
3140: 3e 20 3c 69 3e 74 69 6d 65 2d 61 6e 64 2d 64 61  > <i>time-and-da
3150: 74 65 2d 73 74 61 6d 70 3c 2f 69 3e 3c 62 72 20  te-stamp</i><br 
3160: 2f 3e 0a 3c 62 3e 4c 3c 2f 62 3e 20 3c 69 3e 77  />.<b>L</b> <i>w
3170: 69 6b 69 2d 74 69 74 6c 65 3c 2f 69 3e 3c 62 72  iki-title</i><br
3180: 20 2f 3e 0a 3c 62 3e 50 3c 2f 62 3e 20 3c 69 3e   />.<b>P</b> <i>
3190: 70 61 72 65 6e 74 2d 61 72 74 69 66 61 63 74 2d  parent-artifact-
31a0: 69 64 3c 2f 69 3e 2b 3c 62 72 20 2f 3e 0a 3c 62  id</i>+<br />.<b
31b0: 3e 55 3c 2f 62 3e 20 3c 69 3e 75 73 65 72 2d 6e  >U</b> <i>user-n
31c0: 61 6d 65 3c 2f 69 3e 3c 62 72 20 2f 3e 0a 3c 62  ame</i><br />.<b
31d0: 3e 57 3c 2f 62 3e 20 3c 69 3e 73 69 7a 65 3c 2f  >W</b> <i>size</
31e0: 69 3e 20 3c 62 3e 5c 6e 3c 2f 62 3e 20 3c 69 3e  i> <b>\n</b> <i>
31f0: 74 65 78 74 3c 2f 69 3e 20 3c 62 3e 5c 6e 3c 2f  text</i> <b>\n</
3200: 62 3e 3c 62 72 20 2f 3e 0a 3c 62 3e 5a 3c 2f 62  b><br />.<b>Z</b
3210: 3e 20 3c 69 3e 63 68 65 63 6b 73 75 6d 3c 2f 69  > <i>checksum</i
3220: 3e 0a 3c 2f 62 6c 6f 63 6b 71 75 6f 74 65 3e 0a  >.</blockquote>.
3230: 0a 3c 70 3e 54 68 65 20 44 20 63 61 72 64 20 69  .<p>The D card i
3240: 73 20 74 68 65 20 64 61 74 65 20 61 6e 64 20 74  s the date and t
3250: 69 6d 65 20 77 68 65 6e 20 74 68 65 20 77 69 6b  ime when the wik
3260: 69 20 70 61 67 65 20 77 61 73 20 65 64 69 74 65  i page was edite
3270: 64 2e 0a 54 68 65 20 50 20 63 61 72 64 20 73 70  d..The P card sp
3280: 65 63 69 66 69 65 73 20 74 68 65 20 70 61 72 65  ecifies the pare
3290: 6e 74 20 77 69 6b 69 20 70 61 67 65 73 2c 20 69  nt wiki pages, i
32a0: 66 20 61 6e 79 2e 20 20 54 68 65 20 4c 20 63 61  f any.  The L ca
32b0: 72 64 0a 67 69 76 65 73 20 74 68 65 20 6e 61 6d  rd.gives the nam
32c0: 65 20 6f 66 20 74 68 65 20 77 69 6b 69 20 70 61  e of the wiki pa
32d0: 67 65 2e 20 20 54 68 65 20 55 20 63 61 72 64 20  ge.  The U card 
32e0: 73 70 65 63 69 66 69 65 73 20 74 68 65 20 6c 6f  specifies the lo
32f0: 67 69 6e 0a 6f 66 20 74 68 65 20 75 73 65 72 20  gin.of the user 
3300: 77 68 6f 20 6d 61 64 65 20 74 68 69 73 20 65 64  who made this ed
3310: 69 74 20 74 6f 20 74 68 65 20 77 69 6b 69 20 70  it to the wiki p
3320: 61 67 65 2e 20 20 54 68 65 20 5a 20 63 61 72 64  age.  The Z card
3330: 20 69 73 0a 74 68 65 20 75 73 75 61 6c 20 63 68   is.the usual ch
3340: 65 63 6b 73 75 6d 20 6f 76 65 72 20 74 68 65 20  ecksum over the 
3350: 65 69 74 68 65 72 20 61 72 74 69 66 61 63 74 2e  either artifact.
3360: 3c 2f 70 3e 0a 0a 3c 70 3e 54 68 65 20 57 20 63  </p>..<p>The W c
3370: 61 72 64 20 69 73 20 75 73 65 64 20 74 6f 20 73  ard is used to s
3380: 70 65 63 69 66 79 20 74 68 65 20 74 65 78 74 20  pecify the text 
3390: 6f 66 20 74 68 65 20 77 69 6b 69 20 70 61 67 65  of the wiki page
33a0: 2e 20 20 54 68 65 0a 61 72 67 75 6d 65 6e 74 20  .  The.argument 
33b0: 74 6f 20 74 68 65 20 57 20 63 61 72 64 20 69 73  to the W card is
33c0: 20 61 6e 20 69 6e 74 65 67 65 72 20 77 68 69 63   an integer whic
33d0: 68 20 69 73 20 74 68 65 20 6e 75 6d 62 65 72 20  h is the number 
33e0: 6f 66 20 62 79 74 65 73 0a 6f 66 20 74 65 78 74  of bytes.of text
33f0: 20 69 6e 20 74 68 65 20 77 69 6b 69 20 70 61 67   in the wiki pag
3400: 65 2e 20 20 54 68 61 74 20 74 65 78 74 20 66 6f  e.  That text fo
3410: 6c 6c 6f 77 73 20 74 68 65 20 6e 65 77 6c 69 6e  llows the newlin
3420: 65 20 63 68 61 72 61 63 74 65 72 0a 74 68 61 74  e character.that
3430: 20 74 65 72 6d 69 6e 61 74 65 73 20 74 68 65 20   terminates the 
3440: 57 20 63 61 72 64 2e 20 20 54 68 65 20 77 69 6b  W card.  The wik
3450: 69 20 74 65 78 74 20 69 73 20 61 6c 77 61 79 73  i text is always
3460: 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 6f 6e 65   followed by one
3470: 0a 65 78 74 72 61 20 6e 65 77 6c 69 6e 65 2e 3c  .extra newline.<
3480: 2f 70 3e 0a 0a 3c 61 20 6e 61 6d 65 3d 22 74 6b  /p>..<a name="tk
3490: 74 63 68 6e 67 22 3e 3c 2f 61 3e 0a 3c 68 32 3e  tchng"></a>.<h2>
34a0: 35 2e 30 20 54 69 63 6b 65 74 20 43 68 61 6e 67  5.0 Ticket Chang
34b0: 65 73 3c 2f 68 32 3e 0a 0a 3c 70 3e 41 20 74 69  es</h2>..<p>A ti
34c0: 63 6b 65 74 2d 63 68 61 6e 67 65 20 61 72 74 69  cket-change arti
34d0: 66 61 63 74 20 72 65 70 72 65 73 65 6e 74 73 20  fact represents 
34e0: 61 20 63 68 61 6e 67 65 20 74 6f 20 61 20 74 72  a change to a tr
34f0: 6f 75 62 6c 65 20 74 69 63 6b 65 74 2e 0a 54 68  ouble ticket..Th
3500: 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 61 72 64  e following card
3510: 73 20 61 72 65 20 61 6c 6c 6f 77 65 64 20 6f 6e  s are allowed on
3520: 20 61 20 74 69 63 6b 65 74 20 63 68 61 6e 67 65   a ticket change
3530: 20 61 72 74 69 66 61 63 74 3a 3c 2f 70 3e 0a 0a   artifact:</p>..
3540: 3c 62 6c 6f 63 6b 71 75 6f 74 65 3e 0a 3c 62 3e  <blockquote>.<b>
3550: 44 3c 2f 62 3e 20 3c 69 3e 74 69 6d 65 2d 61 6e  D</b> <i>time-an
3560: 64 2d 64 61 74 65 2d 73 74 61 6d 70 3c 2f 69 3e  d-date-stamp</i>
3570: 3c 62 72 20 2f 3e 0a 3c 62 3e 4a 3c 2f 62 3e 20  <br />.<b>J</b> 
3580: 3f 3c 62 3e 2b 3c 2f 62 3e 3f 3c 69 3e 6e 61 6d  ?<b>+</b>?<i>nam
3590: 65 3c 2f 69 3e 20 3f 3c 69 3e 76 61 6c 75 65 3c  e</i> ?<i>value<
35a0: 2f 69 3e 3f 3c 62 72 20 2f 3e 0a 3c 62 3e 4b 3c  /i>?<br />.<b>K<
35b0: 2f 62 3e 20 3c 69 3e 74 69 63 6b 65 74 2d 69 64  /b> <i>ticket-id
35c0: 3c 2f 69 3e 3c 62 72 20 2f 3e 0a 3c 62 3e 55 3c  </i><br />.<b>U<
35d0: 2f 62 3e 20 3c 69 3e 75 73 65 72 2d 6e 61 6d 65  /b> <i>user-name
35e0: 3c 2f 69 3e 3c 62 72 20 2f 3e 0a 3c 62 3e 5a 3c  </i><br />.<b>Z<
35f0: 2f 62 3e 20 3c 69 3e 63 68 65 63 6b 73 75 6d 3c  /b> <i>checksum<
3600: 2f 69 3e 0a 3c 2f 62 6c 6f 63 6b 71 75 6f 74 65  /i>.</blockquote
3610: 3e 0a 0a 3c 70 3e 0a 54 68 65 20 44 20 63 61 72  >..<p>.The D car
3620: 64 20 69 73 20 74 68 65 20 75 73 75 61 6c 20 64  d is the usual d
3630: 61 74 65 20 61 6e 64 20 74 69 6d 65 20 73 74 61  ate and time sta
3640: 6d 70 20 61 6e 64 20 72 65 70 72 65 73 65 6e 74  mp and represent
3650: 73 20 74 68 65 20 70 6f 69 6e 74 0a 69 6e 20 74  s the point.in t
3660: 69 6d 65 20 77 68 65 6e 20 74 68 65 20 63 68 61  ime when the cha
3670: 6e 67 65 20 77 61 73 20 65 6e 74 65 72 65 64 2e  nge was entered.
3680: 20 20 54 68 65 20 55 20 63 61 72 64 20 69 73 20    The U card is 
3690: 74 68 65 20 6c 6f 67 69 6e 20 6f 66 20 74 68 65  the login of the
36a0: 0a 70 72 6f 67 72 61 6d 6d 65 72 20 77 68 6f 20  .programmer who 
36b0: 65 6e 74 65 72 65 64 20 74 68 69 73 20 63 68 61  entered this cha
36c0: 6e 67 65 2e 20 20 54 68 65 20 5a 20 63 61 72 64  nge.  The Z card
36d0: 20 69 73 20 74 68 65 20 63 68 65 63 6b 73 75 6d   is the checksum
36e0: 20 6f 76 65 72 0a 74 68 65 20 65 6e 74 69 72 65   over.the entire
36f0: 20 61 72 74 69 66 61 63 74 2e 3c 2f 70 3e 0a 0a   artifact.</p>..
3700: 3c 70 3e 0a 45 76 65 72 79 20 74 69 63 6b 65 74  <p>.Every ticket
3710: 20 68 61 73 20 61 20 75 6e 69 71 75 65 20 49 44   has a unique ID
3720: 2e 20 20 54 68 65 20 74 69 63 6b 65 74 20 74 6f  .  The ticket to
3730: 20 77 68 69 63 68 20 74 68 69 73 20 63 68 61 6e   which this chan
3740: 67 65 20 69 73 20 61 70 70 6c 69 65 64 0a 69 73  ge is applied.is
3750: 20 73 70 65 63 69 66 69 65 64 20 62 79 20 74 68   specified by th
3760: 65 20 4b 20 63 61 72 64 2e 20 20 41 20 74 69 63  e K card.  A tic
3770: 6b 65 74 20 65 78 69 73 74 73 20 69 66 20 69 74  ket exists if it
3780: 20 63 6f 6e 74 61 69 6e 73 20 6f 6e 65 20 6f 72   contains one or
3790: 0a 6d 6f 72 65 20 63 68 61 6e 67 65 73 2e 20 20  .more changes.  
37a0: 54 68 65 20 66 69 72 73 74 20 22 63 68 61 6e 67  The first "chang
37b0: 65 22 20 74 6f 20 61 20 74 69 63 6b 65 74 20 69  e" to a ticket i
37c0: 73 20 77 68 61 74 20 62 72 69 6e 67 73 20 74 68  s what brings th
37d0: 65 0a 74 69 63 6b 65 74 20 69 6e 74 6f 20 65 78  e.ticket into ex
37e0: 69 73 74 65 6e 63 65 2e 3c 2f 70 3e 0a 0a 3c 70  istence.</p>..<p
37f0: 3e 0a 4a 20 63 61 72 64 73 20 73 70 65 63 69 66  >.J cards specif
3800: 79 20 63 68 61 6e 67 65 73 20 74 6f 20 74 68 65  y changes to the
3810: 20 22 76 61 6c 75 65 22 20 6f 66 20 22 66 69 65   "value" of "fie
3820: 6c 64 73 22 20 69 6e 20 74 68 65 20 74 69 63 6b  lds" in the tick
3830: 65 74 2e 0a 49 66 20 74 68 65 20 3c 69 3e 76 61  et..If the <i>va
3840: 6c 75 65 3c 2f 69 3e 20 70 61 72 61 6d 65 74 65  lue</i> paramete
3850: 72 20 6f 66 20 74 68 65 20 4a 20 63 61 72 64 20  r of the J card 
3860: 69 73 20 6f 6d 69 74 74 65 64 2c 20 74 68 65 6e  is omitted, then
3870: 20 74 68 65 0a 66 69 65 6c 64 20 69 73 20 73 65   the.field is se
3880: 74 20 74 6f 20 61 6e 20 65 6d 70 74 79 20 73 74  t to an empty st
3890: 72 69 6e 67 2e 0a 45 61 63 68 20 66 6f 73 73 69  ring..Each fossi
38a0: 6c 20 73 65 72 76 65 72 20 68 61 73 20 61 20 74  l server has a t
38b0: 69 63 6b 65 74 20 63 6f 6e 66 69 67 75 72 61 74  icket configurat
38c0: 69 6f 6e 20 77 68 69 63 68 20 73 70 65 63 69 66  ion which specif
38d0: 69 65 73 20 74 68 65 20 66 69 65 6c 64 73 20 69  ies the fields i
38e0: 74 73 0a 75 6e 64 65 72 73 74 61 6e 64 73 2e 20  ts.understands. 
38f0: 20 54 68 65 20 74 69 63 6b 65 74 20 63 6f 6e 66   The ticket conf
3900: 69 67 75 72 61 74 69 6f 6e 20 69 73 20 70 61 72  iguration is par
3910: 74 20 6f 66 20 74 68 65 20 6c 6f 63 61 6c 20 73  t of the local s
3920: 74 61 74 65 20 66 6f 72 0a 74 68 65 20 72 65 70  tate for.the rep
3930: 6f 73 69 74 6f 72 79 20 61 6e 64 20 74 68 75 73  ository and thus
3940: 20 63 61 6e 20 76 61 72 79 20 66 72 6f 6d 20 6f   can vary from o
3950: 6e 65 20 72 65 70 6f 73 69 74 6f 72 79 20 74 6f  ne repository to
3960: 20 61 6e 6f 74 68 65 72 2e 0a 48 65 6e 63 65 20   another..Hence 
3970: 61 20 4a 20 63 61 72 64 20 6d 69 67 68 74 20 73  a J card might s
3980: 70 65 63 69 66 79 20 61 20 3c 69 3e 66 69 65 6c  pecify a <i>fiel
3990: 64 3c 2f 69 3e 20 74 68 61 74 20 64 6f 20 6e 6f  d</i> that do no
39a0: 74 20 65 78 69 73 74 20 69 6e 20 74 68 65 20 0a  t exist in the .
39b0: 6c 6f 63 61 6c 20 74 69 63 6b 65 74 20 63 6f 6e  local ticket con
39c0: 66 69 67 75 72 61 74 69 6f 6e 2e 20 20 49 66 20  figuration.  If 
39d0: 61 20 4a 20 63 61 72 64 20 73 70 65 63 69 66 69  a J card specifi
39e0: 65 73 20 61 20 3c 69 3e 66 69 65 6c 64 3c 2f 69  es a <i>field</i
39f0: 3e 20 74 68 61 74 0a 69 73 20 6e 6f 74 20 69 6e  > that.is not in
3a00: 20 74 68 65 20 6c 6f 63 61 6c 20 63 6f 6e 66 69   the local confi
3a10: 67 75 72 61 74 69 6f 6e 2c 20 74 68 65 6e 20 74  guration, then t
3a20: 68 61 74 20 4a 20 63 61 72 64 0a 69 73 20 73 69  hat J card.is si
3a30: 6d 70 6c 79 20 69 67 6e 6f 72 65 64 2e 3c 2f 70  mply ignored.</p
3a40: 3e 0a 0a 3c 70 3e 0a 54 68 65 20 66 69 72 73 74  >..<p>.The first
3a50: 20 61 72 67 75 6d 65 6e 74 20 6f 66 20 74 68 65   argument of the
3a60: 20 4a 20 63 61 72 64 20 69 73 20 74 68 65 20 66   J card is the f
3a70: 69 65 6c 64 20 6e 61 6d 65 2e 20 20 54 68 65 20  ield name.  The 
3a80: 73 65 63 6f 6e 64 0a 76 61 6c 75 65 20 69 73 20  second.value is 
3a90: 74 68 65 20 66 69 65 6c 64 20 76 61 6c 75 65 2e  the field value.
3aa0: 20 20 49 66 20 74 68 65 20 66 69 65 6c 64 20 6e    If the field n
3ab0: 61 6d 65 20 62 65 67 69 6e 73 20 77 69 74 68 20  ame begins with 
3ac0: 22 2b 22 20 74 68 65 6e 0a 74 68 65 20 76 61 6c  "+" then.the val
3ad0: 75 65 20 69 73 20 61 70 70 65 6e 64 65 64 20 74  ue is appended t
3ae0: 6f 20 74 68 65 20 70 72 69 6f 72 20 76 61 6c 75  o the prior valu
3af0: 65 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 74  e.  Otherwise, t
3b00: 68 65 20 76 61 6c 75 65 0a 6f 6e 20 74 68 65 20  he value.on the 
3b10: 4a 20 63 61 72 64 20 72 65 70 6c 61 63 65 73 20  J card replaces 
3b20: 61 6e 79 20 70 72 65 76 69 6f 75 73 20 76 61 6c  any previous val
3b30: 75 65 20 6f 66 20 74 68 65 20 66 69 65 6c 64 2e  ue of the field.
3b40: 0a 54 68 65 20 66 69 65 6c 64 20 6e 61 6d 65 20  .The field name 
3b50: 61 6e 64 20 76 61 6c 75 65 20 61 72 65 20 62 6f  and value are bo
3b60: 74 68 20 65 6e 63 6f 64 65 64 20 75 73 69 6e 67  th encoded using
3b70: 20 74 68 65 20 63 68 61 72 61 63 74 65 72 0a 65   the character.e
3b80: 73 63 61 70 65 73 20 64 65 66 69 6e 65 64 20 66  scapes defined f
3b90: 6f 72 20 74 68 65 20 43 20 63 61 72 64 20 6f 66  or the C card of
3ba0: 20 61 20 6d 61 6e 69 66 65 73 74 2e 0a 3c 2f 70   a manifest..</p
3bb0: 3e 0a                                            >.