Hex Artifact Content
Not logged in

Artifact 66d010256941b003ea885472fdd951d8bd8fa3ec:

File www/fileformat.html part of check-in [6680679c2e] - Documentation updates. by drh on 2007-11-24 14:06:38. Also file www/fileformat.html part of check-in [d0305b305a] - Merged mainline into my branch to get the newest application. by aku on 2007-12-05 08:07:46.

0000: 3c 68 74 6d 6c 3e 0a 3c 68 65 61 64 3e 0a 3c 74  <html>.<head>.<t
0010: 69 74 6c 65 3e 46 6f 73 73 69 6c 20 46 69 6c 65  itle>Fossil File
0020: 20 46 6f 72 6d 61 74 3c 2f 74 69 74 6c 65 3e 0a   Format</title>.
0030: 3c 2f 68 65 61 64 3e 0a 3c 62 6f 64 79 20 62 67  </head>.<body bg
0040: 63 6f 6c 6f 72 3d 22 77 68 69 74 65 22 3e 0a 3c  color="white">.<
0050: 70 3e 5b 20 3c 61 20 68 72 65 66 3d 22 69 6e 64  p>[ <a href="ind
0060: 65 78 2e 68 74 6d 6c 22 3e 49 6e 64 65 78 3c 2f  ex.html">Index</
0070: 61 3e 20 5d 3c 2f 70 3e 0a 3c 68 72 3e 0a 3c 68  a> ]</p>.<hr>.<h
0080: 31 20 61 6c 69 67 6e 3d 22 63 65 6e 74 65 72 22  1 align="center"
0090: 3e 0a 46 6f 73 73 69 6c 20 46 69 6c 65 20 46 6f  >.Fossil File Fo
00a0: 72 6d 61 74 73 0a 3c 2f 68 31 3e 0a 0a 3c 70 3e  rmats.</h1>..<p>
00b0: 0a 54 68 65 20 67 6c 6f 62 61 6c 20 73 74 61 74  .The global stat
00c0: 65 20 6f 66 20 61 20 66 6f 73 73 69 6c 20 72 65  e of a fossil re
00d0: 70 6f 73 69 74 6f 72 79 20 69 73 20 64 65 74 65  pository is dete
00e0: 72 6d 69 6e 65 64 20 62 79 20 61 6e 20 75 6e 6f  rmined by an uno
00f0: 72 64 65 72 65 64 0a 73 65 74 20 6f 66 20 66 69  rdered.set of fi
0100: 6c 65 73 2e 20 20 41 20 66 69 6c 65 20 69 6e 20  les.  A file in 
0110: 66 6f 73 73 69 6c 20 69 73 20 63 61 6c 6c 65 64  fossil is called
0120: 20 61 6e 20 22 61 72 74 69 66 61 63 74 22 2e 0a   an "artifact"..
0130: 41 6e 20 61 72 74 69 66 61 63 74 20 6d 69 67 68  An artifact migh
0140: 74 20 62 65 20 61 20 73 6f 75 72 63 65 20 63 6f  t be a source co
0150: 64 65 20 66 69 6c 65 2c 20 74 68 65 20 74 65 78  de file, the tex
0160: 74 20 6f 66 20 61 20 77 69 6b 69 20 70 61 67 65  t of a wiki page
0170: 2c 0a 70 61 72 74 20 6f 66 20 61 20 74 72 6f 75  ,.part of a trou
0180: 62 6c 65 20 74 69 63 6b 65 74 2c 20 6f 72 20 6f  ble ticket, or o
0190: 6e 65 20 6f 66 20 73 65 76 65 72 61 6c 20 73 70  ne of several sp
01a0: 65 63 69 61 6c 20 63 6f 6e 74 72 6f 6c 20 61 72  ecial control ar
01b0: 74 69 66 61 63 74 73 0a 75 73 65 64 20 74 6f 20  tifacts.used to 
01c0: 73 68 6f 77 20 74 68 65 20 72 65 6c 61 74 69 6f  show the relatio
01d0: 6e 73 68 69 70 73 20 62 65 74 77 65 65 6e 20 6f  nships between o
01e0: 74 68 65 72 20 61 72 74 69 66 61 63 74 73 20 77  ther artifacts w
01f0: 69 74 68 69 6e 20 74 68 65 0a 70 72 6f 6a 65 63  ithin the.projec
0200: 74 2e 20 20 41 72 74 69 66 61 63 74 73 20 63 61  t.  Artifacts ca
0210: 6e 20 62 65 20 74 65 78 74 20 6f 72 20 62 69 6e  n be text or bin
0220: 61 72 79 2e 0a 3c 2f 70 3e 0a 0a 3c 70 3e 0a 45  ary..</p>..<p>.E
0230: 61 63 68 20 61 72 74 69 66 61 63 74 20 69 6e 20  ach artifact in 
0240: 74 68 65 20 72 65 70 6f 73 69 74 6f 72 79 20 69  the repository i
0250: 73 20 6e 61 6d 65 64 20 62 79 20 69 74 73 20 53  s named by its S
0260: 48 41 31 20 68 61 73 68 2e 0a 4e 6f 20 70 72 65  HA1 hash..No pre
0270: 66 69 78 65 73 20 6f 72 20 6d 65 74 61 20 69 6e  fixes or meta in
0280: 66 6f 72 6d 61 74 69 6f 6e 20 69 73 20 61 64 64  formation is add
0290: 65 64 20 74 6f 20 61 20 61 72 74 69 66 61 63 74  ed to a artifact
02a0: 20 62 65 66 6f 72 65 0a 69 74 73 20 68 61 73 68   before.its hash
02b0: 20 69 73 20 63 6f 6d 70 75 74 65 64 2e 20 20 54   is computed.  T
02c0: 68 65 20 6e 61 6d 65 20 6f 66 20 61 20 61 72 74  he name of a art
02d0: 69 66 61 63 74 20 69 6e 20 74 68 65 20 72 65 70  ifact in the rep
02e0: 6f 73 69 74 6f 72 79 0a 69 73 20 65 78 61 63 74  ository.is exact
02f0: 6c 79 20 74 68 65 20 73 61 6d 65 20 53 48 41 31  ly the same SHA1
0300: 20 68 61 73 68 20 74 68 61 74 20 69 73 20 63 6f   hash that is co
0310: 6d 70 75 74 65 64 20 62 79 20 73 68 61 31 73 75  mputed by sha1su
0320: 6d 20 0a 6f 6e 20 74 68 65 20 66 69 6c 65 20 61  m .on the file a
0330: 73 20 69 74 20 65 78 69 73 74 73 20 69 6e 20 79  s it exists in y
0340: 6f 75 72 20 73 6f 75 72 63 65 20 74 72 65 65 2e  our source tree.
0350: 3c 2f 70 3e 0a 0a 3c 70 3e 0a 53 6f 6d 65 20 61  </p>..<p>.Some a
0360: 72 74 69 66 61 63 74 73 20 68 61 76 65 20 61 20  rtifacts have a 
0370: 70 61 72 74 69 63 75 6c 61 72 20 66 6f 72 6d 61  particular forma
0380: 74 20 77 68 69 63 68 20 67 69 76 65 73 20 74 68  t which gives th
0390: 65 6d 20 73 70 65 63 69 61 6c 0a 6d 65 61 6e 69  em special.meani
03a0: 6e 67 20 74 6f 20 66 6f 73 73 69 6c 2e 20 20 46  ng to fossil.  F
03b0: 6f 73 73 69 6c 20 72 65 63 6f 67 6e 69 7a 65 73  ossil recognizes
03c0: 3a 3c 2f 70 3e 0a 0a 3c 75 6c 3e 0a 3c 6c 69 3e  :</p>..<ul>.<li>
03d0: 20 4d 61 6e 69 66 65 73 74 73 20 3c 2f 6c 69 3e   Manifests </li>
03e0: 0a 3c 6c 69 3e 20 43 6c 75 73 74 65 72 73 20 3c  .<li> Clusters <
03f0: 2f 6c 69 3e 0a 3c 6c 69 3e 20 43 6f 6e 74 72 6f  /li>.<li> Contro
0400: 6c 20 41 72 74 69 66 61 63 74 73 20 3c 2f 6c 69  l Artifacts </li
0410: 3e 0a 3c 6c 69 3e 20 57 69 6b 69 20 50 61 67 65  >.<li> Wiki Page
0420: 73 20 3c 2f 6c 69 3e 0a 3c 6c 69 3e 20 54 69 63  s </li>.<li> Tic
0430: 6b 65 74 20 43 68 61 6e 67 65 73 20 3c 2f 6c 69  ket Changes </li
0440: 3e 0a 3c 2f 75 6c 3e 0a 0a 3c 70 3e 54 68 65 73  >.</ul>..<p>Thes
0450: 65 20 66 69 76 65 20 61 72 74 69 66 61 63 74 20  e five artifact 
0460: 74 79 70 65 73 20 61 72 65 20 64 65 73 63 72 69  types are descri
0470: 62 65 64 20 69 6e 20 74 68 65 20 73 65 71 75 65  bed in the seque
0480: 6c 2e 3c 2f 70 3e 0a 0a 3c 68 32 3e 31 2e 30 20  l.</p>..<h2>1.0 
0490: 54 68 65 20 4d 61 6e 69 66 65 73 74 3c 2f 68 32  The Manifest</h2
04a0: 3e 0a 0a 3c 70 3e 41 20 6d 61 6e 69 66 65 73 74  >..<p>A manifest
04b0: 20 64 65 66 69 6e 65 73 20 61 20 62 61 73 65 6c   defines a basel
04c0: 69 6e 65 20 6f 72 20 76 65 72 73 69 6f 6e 20 6f  ine or version o
04d0: 66 20 74 68 65 20 70 72 6f 6a 65 63 74 0a 73 6f  f the project.so
04e0: 75 72 63 65 20 74 72 65 65 2e 20 20 54 68 65 20  urce tree.  The 
04f0: 6d 61 6e 69 66 65 73 74 20 63 6f 6e 74 61 69 6e  manifest contain
0500: 73 20 61 20 6c 69 73 74 20 6f 66 20 61 72 74 69  s a list of arti
0510: 66 61 63 74 73 20 66 6f 72 0a 65 61 63 68 20 66  facts for.each f
0520: 69 6c 65 20 69 6e 20 74 68 65 20 70 72 6f 6a 65  ile in the proje
0530: 63 74 20 61 6e 64 20 74 68 65 20 63 6f 72 72 65  ct and the corre
0540: 73 70 6f 6e 64 69 6e 67 20 66 69 6c 65 6e 61 6d  sponding filenam
0550: 65 73 2c 20 61 73 0a 77 65 6c 6c 20 61 73 20 69  es, as.well as i
0560: 6e 66 6f 72 6d 61 74 69 6f 6e 20 73 75 63 68 20  nformation such 
0570: 61 73 20 70 61 72 65 6e 74 20 62 61 73 65 6c 69  as parent baseli
0580: 6e 65 73 2c 20 74 68 65 20 6e 61 6d 65 20 6f 66  nes, the name of
0590: 20 74 68 65 0a 70 72 6f 67 72 61 6d 6d 65 72 20   the.programmer 
05a0: 77 68 6f 20 63 72 65 61 74 65 64 20 74 68 65 20  who created the 
05b0: 62 61 73 65 6c 69 6e 65 2c 20 74 68 65 20 64 61  baseline, the da
05c0: 74 65 20 61 6e 64 20 74 69 6d 65 20 77 68 65 6e  te and time when
05d0: 0a 74 68 65 20 62 61 73 65 6c 69 6e 65 20 77 61  .the baseline wa
05e0: 73 20 63 72 65 61 74 65 64 2c 20 61 6e 64 20 61  s created, and a
05f0: 6e 79 20 63 68 65 63 6b 2d 69 6e 20 63 6f 6d 6d  ny check-in comm
0600: 65 6e 74 73 20 61 73 73 6f 63 69 61 74 65 64 0a  ents associated.
0610: 77 69 74 68 20 74 68 65 20 62 61 73 65 6c 69 6e  with the baselin
0620: 65 2e 3c 2f 70 3e 0a 0a 3c 70 3e 0a 41 6e 79 20  e.</p>..<p>.Any 
0630: 61 72 74 69 66 61 63 74 20 69 6e 20 74 68 65 20  artifact in the 
0640: 72 65 70 6f 73 69 74 6f 72 79 20 74 68 61 74 20  repository that 
0650: 66 6f 6c 6c 6f 77 73 20 74 68 65 20 73 79 6e 74  follows the synt
0660: 61 63 74 69 63 20 72 75 6c 65 73 0a 6f 66 20 61  actic rules.of a
0670: 20 6d 61 6e 69 66 65 73 74 20 69 73 20 61 20 6d   manifest is a m
0680: 61 6e 69 66 65 73 74 2e 20 20 4e 6f 74 65 20 74  anifest.  Note t
0690: 68 61 74 20 61 20 6d 61 6e 69 66 65 73 74 20 63  hat a manifest c
06a0: 61 6e 0a 62 65 20 62 6f 74 68 20 61 20 72 65 61  an.be both a rea
06b0: 6c 20 6d 61 6e 69 66 65 73 74 20 61 6e 64 20 61  l manifest and a
06c0: 6c 73 6f 20 61 20 63 6f 6e 74 65 6e 74 20 66 69  lso a content fi
06d0: 6c 65 2c 20 74 68 6f 75 67 68 20 74 68 69 73 0a  le, though this.
06e0: 69 73 20 72 61 72 65 2e 0a 3c 2f 70 3e 0a 0a 3c  is rare..</p>..<
06f0: 70 3e 0a 41 20 6d 61 6e 69 66 65 73 74 20 69 73  p>.A manifest is
0700: 20 61 20 74 65 78 74 20 66 69 6c 65 2e 20 20 4e   a text file.  N
0710: 65 77 6c 69 6e 65 20 63 68 61 72 61 63 74 65 72  ewline character
0720: 73 0a 28 41 53 43 49 49 20 30 78 30 61 29 20 73  s.(ASCII 0x0a) s
0730: 65 70 61 72 61 74 65 20 74 68 65 20 66 69 6c 65  eparate the file
0740: 20 69 6e 74 6f 20 22 63 61 72 64 73 22 2e 0a 45   into "cards"..E
0750: 61 63 68 20 63 61 72 64 20 62 65 67 69 6e 73 20  ach card begins 
0760: 77 69 74 68 20 61 20 73 69 6e 67 6c 65 0a 63 68  with a single.ch
0770: 61 72 61 63 74 65 72 20 22 63 61 72 64 20 74 79  aracter "card ty
0780: 70 65 22 2e 20 20 5a 65 72 6f 20 6f 72 20 6d 6f  pe".  Zero or mo
0790: 72 65 20 61 72 67 75 6d 65 6e 74 73 20 6d 61 79  re arguments may
07a0: 20 66 6f 6c 6c 6f 77 0a 74 68 65 20 63 61 72 64   follow.the card
07b0: 20 74 79 70 65 2e 20 20 41 6c 6c 20 61 72 67 75   type.  All argu
07c0: 6d 65 6e 74 73 20 61 72 65 20 73 65 70 61 72 61  ments are separa
07d0: 74 65 64 20 66 72 6f 6d 20 65 61 63 68 20 6f 74  ted from each ot
07e0: 68 65 72 0a 61 6e 64 20 66 72 6f 6d 20 74 68 65  her.and from the
07f0: 20 63 61 72 64 2d 74 79 70 65 20 63 68 61 72 61   card-type chara
0800: 63 74 65 72 20 62 79 20 61 20 73 69 6e 67 6c 65  cter by a single
0810: 20 73 70 61 63 65 0a 63 68 61 72 61 63 74 65 72   space.character
0820: 2e 20 20 54 68 65 72 65 20 69 73 20 6e 6f 20 73  .  There is no s
0830: 75 72 70 6c 75 73 20 77 68 69 74 65 20 73 70 61  urplus white spa
0840: 63 65 20 62 65 74 77 65 65 6e 20 61 72 67 75 6d  ce between argum
0850: 65 6e 74 73 0a 61 6e 64 20 6e 6f 20 6c 65 61 64  ents.and no lead
0860: 69 6e 67 20 6f 72 20 74 72 61 69 6c 69 6e 67 20  ing or trailing 
0870: 77 68 69 74 65 73 70 61 63 65 20 65 78 63 65 70  whitespace excep
0880: 74 20 66 6f 72 20 74 68 65 20 6e 65 77 6c 69 6e  t for the newlin
0890: 65 20 0a 63 68 61 72 61 63 74 65 72 20 74 68 61  e .character tha
08a0: 74 20 61 63 74 73 20 61 73 20 74 68 65 20 63 61  t acts as the ca
08b0: 72 64 20 73 65 70 61 72 61 74 6f 72 2e 0a 3c 2f  rd separator..</
08c0: 70 3e 0a 0a 3c 70 3e 0a 41 6c 6c 20 63 61 72 64  p>..<p>.All card
08d0: 73 20 6f 66 20 74 68 65 20 6d 61 6e 69 66 65 73  s of the manifes
08e0: 74 20 6f 63 63 75 72 20 69 6e 20 73 74 72 69 63  t occur in stric
08f0: 74 20 73 6f 72 74 65 64 20 6c 65 78 69 63 6f 67  t sorted lexicog
0900: 72 61 70 68 69 63 61 6c 20 6f 72 64 65 72 2e 0a  raphical order..
0910: 4e 6f 20 63 61 72 64 20 6d 61 79 20 62 65 20 64  No card may be d
0920: 75 70 6c 69 63 61 74 65 64 2e 0a 54 68 65 20 65  uplicated..The e
0930: 6e 74 69 72 65 20 6d 61 6e 69 66 65 73 74 20 6d  ntire manifest m
0940: 61 79 20 62 65 20 50 47 50 20 63 6c 65 61 72 2d  ay be PGP clear-
0950: 73 69 67 6e 65 64 2c 20 62 75 74 20 6f 74 68 65  signed, but othe
0960: 72 77 69 73 65 20 69 74 0a 6d 61 79 20 63 6f 6e  rwise it.may con
0970: 74 61 69 6e 20 6e 6f 20 61 64 64 69 74 69 6f 6e  tain no addition
0980: 61 6c 20 74 65 78 74 20 6f 72 20 64 61 74 61 20  al text or data 
0990: 62 65 79 6f 6e 64 20 77 68 61 74 20 69 73 20 64  beyond what is d
09a0: 65 73 63 72 69 62 65 64 20 68 65 72 65 2e 0a 3c  escribed here..<
09b0: 2f 70 3e 0a 0a 3c 70 3e 0a 41 6c 6c 6f 77 65 64  /p>..<p>.Allowed
09c0: 20 63 61 72 64 73 20 69 6e 20 74 68 65 20 6d 61   cards in the ma
09d0: 6e 69 66 65 73 74 20 61 72 65 20 61 73 20 66 6f  nifest are as fo
09e0: 6c 6c 6f 77 73 3a 0a 3c 2f 70 3e 0a 0a 3c 62 6c  llows:.</p>..<bl
09f0: 6f 63 6b 71 75 6f 74 65 3e 0a 3c 62 3e 43 3c 2f  ockquote>.<b>C</
0a00: 62 3e 20 3c 69 3e 63 68 65 63 6b 69 6e 2d 63 6f  b> <i>checkin-co
0a10: 6d 6d 65 6e 74 3c 2f 69 3e 3c 62 72 3e 0a 3c 62  mment</i><br>.<b
0a20: 3e 44 3c 2f 62 3e 20 3c 69 3e 74 69 6d 65 2d 61  >D</b> <i>time-a
0a30: 6e 64 2d 64 61 74 65 2d 73 74 61 6d 70 3c 2f 69  nd-date-stamp</i
0a40: 3e 3c 62 72 3e 0a 3c 62 3e 46 3c 2f 62 3e 20 3c  ><br>.<b>F</b> <
0a50: 69 3e 66 69 6c 65 6e 61 6d 65 3c 2f 69 3e 20 3c  i>filename</i> <
0a60: 69 3e 53 48 41 31 2d 68 61 73 68 3c 2f 69 3e 3c  i>SHA1-hash</i><
0a70: 62 72 3e 0a 3c 62 3e 50 3c 2f 62 3e 20 3c 69 3e  br>.<b>P</b> <i>
0a80: 53 48 41 31 2d 68 61 73 68 3c 2f 69 3e 2b 3c 62  SHA1-hash</i>+<b
0a90: 72 3e 0a 3c 62 3e 52 3c 2f 62 3e 20 3c 69 3e 72  r>.<b>R</b> <i>r
0aa0: 65 70 6f 73 69 74 6f 72 79 2d 63 68 65 63 6b 73  epository-checks
0ab0: 75 6d 3c 2f 69 3e 3c 62 72 3e 0a 3c 62 3e 55 3c  um</i><br>.<b>U<
0ac0: 2f 62 3e 20 3c 69 3e 75 73 65 72 2d 6c 6f 67 69  /b> <i>user-logi
0ad0: 6e 3c 2f 69 3e 3c 62 72 3e 0a 3c 62 3e 5a 3c 2f  n</i><br>.<b>Z</
0ae0: 62 3e 20 3c 69 3e 6d 61 6e 69 66 65 73 74 2d 63  b> <i>manifest-c
0af0: 68 65 63 6b 73 75 6d 3c 2f 69 3e 0a 3c 2f 62 6c  hecksum</i>.</bl
0b00: 6f 63 6b 71 75 6f 74 65 3e 0a 0a 3c 70 3e 0a 41  ockquote>..<p>.A
0b10: 20 6d 61 6e 69 66 65 73 74 20 6d 75 73 74 20 68   manifest must h
0b20: 61 76 65 20 65 78 61 63 74 6c 79 20 6f 6e 65 20  ave exactly one 
0b30: 43 2d 63 61 72 64 2e 20 20 54 68 65 20 73 6f 6c  C-card.  The sol
0b40: 65 20 61 72 67 75 6d 65 6e 74 20 74 6f 0a 74 68  e argument to.th
0b50: 65 20 43 2d 63 61 72 64 20 69 73 20 61 20 63 68  e C-card is a ch
0b60: 65 63 6b 2d 69 6e 20 63 6f 6d 6d 65 6e 74 20 74  eck-in comment t
0b70: 68 61 74 20 64 65 73 63 72 69 62 65 73 20 74 68  hat describes th
0b80: 65 20 63 68 65 63 6b 2d 69 6e 20 74 68 61 74 0a  e check-in that.
0b90: 74 68 65 20 6d 61 6e 69 66 65 73 74 20 64 65 66  the manifest def
0ba0: 69 6e 65 73 2e 20 20 54 68 65 20 63 68 65 63 6b  ines.  The check
0bb0: 2d 69 6e 20 63 6f 6d 6d 65 6e 74 20 69 73 20 74  -in comment is t
0bc0: 65 78 74 2e 20 20 54 68 65 20 66 6f 6c 6c 6f 77  ext.  The follow
0bd0: 69 6e 67 0a 65 73 63 61 70 65 20 73 65 71 75 65  ing.escape seque
0be0: 6e 63 65 73 20 61 72 65 20 61 70 70 6c 69 65 64  nces are applied
0bf0: 20 74 6f 20 74 68 65 20 74 65 78 74 3a 0a 41 20   to the text:.A 
0c00: 73 70 61 63 65 20 28 41 53 43 49 49 20 30 78 32  space (ASCII 0x2
0c10: 30 29 20 69 73 20 72 65 70 72 65 73 65 6e 74 65  0) is represente
0c20: 64 20 61 73 20 22 5c 73 22 20 28 41 53 43 49 49  d as "\s" (ASCII
0c30: 20 30 78 35 43 2c 20 30 78 37 33 29 2e 20 20 41   0x5C, 0x73).  A
0c40: 0a 6e 65 77 6c 69 6e 65 20 28 41 53 43 49 49 20  .newline (ASCII 
0c50: 30 78 30 61 29 20 69 73 20 22 5c 6e 22 20 28 41  0x0a) is "\n" (A
0c60: 53 43 49 49 20 30 78 36 43 2c 20 78 36 45 29 2e  SCII 0x6C, x6E).
0c70: 20 20 41 20 62 61 63 6b 73 6c 61 73 68 20 0a 28    A backslash .(
0c80: 41 53 43 49 49 20 30 78 35 43 29 20 69 73 20 72  ASCII 0x5C) is r
0c90: 65 70 72 65 73 65 6e 74 65 64 20 61 73 20 74 77  epresented as tw
0ca0: 6f 20 62 61 63 6b 73 6c 61 73 68 65 73 20 22 5c  o backslashes "\
0cb0: 5c 22 2e 20 20 41 70 61 72 74 20 66 72 6f 6d 0a  \".  Apart from.
0cc0: 73 70 61 63 65 20 61 6e 64 20 6e 65 77 6c 69 6e  space and newlin
0cd0: 65 2c 20 6e 6f 20 6f 74 68 65 72 20 77 68 69 74  e, no other whit
0ce0: 65 73 70 61 63 65 20 63 68 61 72 61 63 74 65 72  espace character
0cf0: 73 20 61 72 65 20 61 6c 6c 6f 77 65 64 20 69 6e  s are allowed in
0d00: 0a 74 68 65 20 63 68 65 63 6b 2d 69 6e 20 63 6f  .the check-in co
0d10: 6d 6d 65 6e 74 2e 20 20 4e 6f 72 20 61 72 65 20  mment.  Nor are 
0d20: 61 6e 79 20 75 6e 70 72 69 6e 74 61 62 6c 65 20  any unprintable 
0d30: 63 68 61 72 61 63 74 65 72 73 20 61 6c 6c 6f 77  characters allow
0d40: 65 64 0a 69 6e 20 74 68 65 20 63 6f 6d 6d 65 6e  ed.in the commen
0d50: 74 2e 0a 3c 2f 70 3e 0a 0a 3c 70 3e 0a 41 20 6d  t..</p>..<p>.A m
0d60: 61 6e 69 66 65 73 74 20 6d 75 73 74 20 68 61 76  anifest must hav
0d70: 65 20 65 78 61 63 74 6c 79 20 6f 6e 65 20 44 2d  e exactly one D-
0d80: 63 61 72 64 2e 20 20 54 68 65 20 73 6f 6c 65 20  card.  The sole 
0d90: 61 72 67 75 6d 65 6e 74 20 74 6f 0a 74 68 65 20  argument to.the 
0da0: 44 2d 63 61 72 64 20 69 73 20 61 20 64 61 74 65  D-card is a date
0db0: 2d 74 69 6d 65 20 73 74 61 6d 70 20 69 6e 20 74  -time stamp in t
0dc0: 68 65 20 49 53 4f 38 36 30 31 20 66 6f 72 6d 61  he ISO8601 forma
0dd0: 74 2e 20 20 54 68 65 0a 64 61 74 65 20 61 6e 64  t.  The.date and
0de0: 20 74 69 6d 65 20 73 68 6f 75 6c 64 20 62 65 20   time should be 
0df0: 69 6e 20 63 6f 6f 72 64 69 6e 61 74 65 64 20 75  in coordinated u
0e00: 6e 69 76 65 72 73 61 6c 20 74 69 6d 65 20 28 55  niversal time (U
0e10: 54 43 29 2e 0a 54 68 65 20 66 6f 72 6d 61 74 20  TC)..The format 
0e20: 69 73 3a 0a 3c 2f 70 3e 0a 0a 3c 62 6c 6f 63 6b  is:.</p>..<block
0e30: 71 75 6f 74 65 3e 0a 3c 69 3e 59 59 59 59 3c 2f  quote>.<i>YYYY</
0e40: 69 3e 3c 62 3e 2d 3c 2f 62 3e 3c 69 3e 4d 4d 3c  i><b>-</b><i>MM<
0e50: 2f 69 3e 3c 62 3e 2d 3c 2f 62 3e 3c 69 3e 44 44  /i><b>-</b><i>DD
0e60: 3c 2f 69 3e 3c 62 3e 54 3c 2f 62 3e 3c 69 3e 48  </i><b>T</b><i>H
0e70: 48 3c 2f 69 3e 3c 62 3e 3a 3c 2f 62 3e 3c 69 3e  H</i><b>:</b><i>
0e80: 4d 4d 3c 2f 69 3e 3c 62 3e 3a 3c 2f 62 3e 3c 69  MM</i><b>:</b><i
0e90: 3e 53 53 3c 2f 69 3e 0a 3c 2f 62 6c 6f 63 6b 71  >SS</i>.</blockq
0ea0: 75 6f 74 65 3e 0a 0a 3c 70 3e 0a 41 20 6d 61 6e  uote>..<p>.A man
0eb0: 69 66 65 73 74 20 68 61 73 20 7a 65 72 6f 20 6f  ifest has zero o
0ec0: 72 20 6d 6f 72 65 20 46 2d 63 61 72 64 73 2e 20  r more F-cards. 
0ed0: 20 45 61 63 68 20 46 2d 63 61 72 64 20 64 65 66   Each F-card def
0ee0: 69 6e 65 73 20 61 20 66 69 6c 65 0a 28 6f 74 68  ines a file.(oth
0ef0: 65 72 20 74 68 61 6e 20 74 68 65 20 6d 61 6e 69  er than the mani
0f00: 66 65 73 74 20 69 74 73 65 6c 66 29 20 77 68 69  fest itself) whi
0f10: 63 68 20 69 73 20 70 61 72 74 20 6f 66 20 74 68  ch is part of th
0f20: 65 20 62 61 73 65 6c 69 6e 65 20 74 68 61 74 0a  e baseline that.
0f30: 74 68 65 20 6d 61 6e 69 66 65 73 74 20 64 65 66  the manifest def
0f40: 69 6e 65 73 2e 20 20 54 68 65 72 65 20 61 72 65  ines.  There are
0f50: 20 74 77 6f 20 61 72 67 75 6d 65 6e 74 73 2e 20   two arguments. 
0f60: 20 54 68 65 20 66 69 72 73 74 20 61 72 67 6d 65   The first argme
0f70: 6e 74 0a 69 73 20 74 68 65 20 70 61 74 68 6e 61  nt.is the pathna
0f80: 6d 65 20 6f 66 20 74 68 65 20 66 69 6c 65 20 69  me of the file i
0f90: 6e 20 74 68 65 20 62 61 73 65 6c 69 6e 65 20 72  n the baseline r
0fa0: 65 6c 61 74 69 76 65 20 74 6f 20 74 68 65 20 72  elative to the r
0fb0: 6f 6f 74 0a 6f 66 20 74 68 65 20 70 72 6f 6a 65  oot.of the proje
0fc0: 63 74 20 66 69 6c 65 20 68 69 65 72 61 72 63 68  ct file hierarch
0fd0: 79 2e 20 20 4e 6f 20 22 2e 2e 22 20 6f 72 20 22  y.  No ".." or "
0fe0: 2e 22 20 64 69 72 65 63 74 6f 72 69 65 73 20 61  ." directories a
0ff0: 72 65 20 61 6c 6c 6f 77 65 64 0a 77 69 74 68 69  re allowed.withi
1000: 6e 20 74 68 65 20 66 69 6c 65 6e 61 6d 65 2e 20  n the filename. 
1010: 20 53 70 61 63 65 20 63 68 61 72 61 63 74 65 72   Space character
1020: 73 20 61 72 65 20 65 73 63 61 70 65 64 20 61 73  s are escaped as
1030: 20 69 6e 20 43 2d 63 61 72 64 0a 63 6f 6d 6d 65   in C-card.comme
1040: 6e 74 20 74 65 78 74 2e 20 20 42 61 63 6b 73 6c  nt text.  Backsl
1050: 61 73 68 20 63 68 61 72 61 63 74 65 72 73 20 61  ash characters a
1060: 6e 64 20 6e 65 77 6c 69 6e 65 73 20 61 72 65 20  nd newlines are 
1070: 6e 6f 74 20 61 6c 6c 6f 77 65 64 0a 77 69 74 68  not allowed.with
1080: 69 6e 20 66 69 6c 65 6e 61 6d 65 73 2e 20 20 54  in filenames.  T
1090: 68 65 20 64 69 72 65 63 74 6f 72 79 20 73 65 70  he directory sep
10a0: 61 72 61 74 6f 72 20 63 68 61 72 61 63 74 65 72  arator character
10b0: 20 69 73 20 61 20 66 6f 72 77 61 72 64 0a 73 6c   is a forward.sl
10c0: 61 73 68 20 28 41 53 43 49 49 20 30 78 32 46 29  ash (ASCII 0x2F)
10d0: 2e 20 20 54 68 65 20 73 65 63 6f 6e 64 20 61 72  .  The second ar
10e0: 67 75 6d 65 6e 74 20 74 6f 20 74 68 65 20 46 2d  gument to the F-
10f0: 63 61 72 64 20 69 73 20 74 68 65 0a 66 75 6c 6c  card is the.full
1100: 20 34 30 2d 63 68 61 72 61 63 74 65 72 20 6c 6f   40-character lo
1110: 77 65 72 2d 63 61 73 65 20 68 65 78 61 64 65 63  wer-case hexadec
1120: 69 6d 61 6c 20 53 48 41 31 20 68 61 73 68 20 6f  imal SHA1 hash o
1130: 66 20 74 68 65 20 63 6f 6e 74 65 6e 74 0a 61 72  f the content.ar
1140: 74 69 66 61 63 74 2e 0a 3c 2f 70 3e 0a 0a 3c 70  tifact..</p>..<p
1150: 3e 0a 41 20 6d 61 6e 69 66 65 73 74 20 68 61 73  >.A manifest has
1160: 20 7a 65 72 6f 20 6f 72 20 6f 6e 65 20 50 2d 63   zero or one P-c
1170: 61 72 64 73 2e 20 20 4d 6f 73 74 20 6d 61 6e 69  ards.  Most mani
1180: 66 65 73 74 73 20 68 61 76 65 20 6f 6e 65 20 50  fests have one P
1190: 2d 63 61 72 64 2e 0a 54 68 65 20 50 2d 63 61 72  -card..The P-car
11a0: 64 20 68 61 73 20 61 20 76 61 72 79 69 6e 67 20  d has a varying 
11b0: 6e 75 6d 62 65 72 20 6f 66 20 61 72 67 75 6d 65  number of argume
11c0: 6e 74 73 20 74 68 61 74 0a 64 65 66 69 6e 65 73  nts that.defines
11d0: 20 6f 74 68 65 72 20 6d 61 6e 69 66 65 73 74 73   other manifests
11e0: 20 66 72 6f 6d 20 77 68 69 63 68 20 74 68 65 20   from which the 
11f0: 63 75 72 72 65 6e 74 20 6d 61 6e 69 66 65 73 74  current manifest
1200: 0a 69 73 20 64 65 72 69 76 65 64 2e 20 20 45 61  .is derived.  Ea
1210: 63 68 20 61 72 67 75 6d 65 6e 74 20 69 73 20 61  ch argument is a
1220: 6e 20 34 30 2d 63 68 61 72 61 63 74 65 72 20 6c  n 40-character l
1230: 6f 77 65 72 63 61 73 65 20 0a 68 65 78 61 64 65  owercase .hexade
1240: 63 69 6d 61 6c 20 53 48 41 31 20 6f 66 20 74 68  cimal SHA1 of th
1250: 65 20 70 72 65 64 65 63 65 73 73 6f 72 20 6d 61  e predecessor ma
1260: 6e 69 66 65 73 74 2e 20 20 41 6c 6c 20 61 72 67  nifest.  All arg
1270: 75 6d 65 6e 74 73 0a 74 6f 20 74 68 65 20 50 2d  uments.to the P-
1280: 63 61 72 64 20 6d 75 73 74 20 62 65 20 75 6e 69  card must be uni
1290: 71 75 65 20 74 6f 20 74 68 61 74 20 6c 69 6e 65  que to that line
12a0: 2e 0a 54 68 65 20 66 69 72 73 74 20 70 72 65 64  ..The first pred
12b0: 65 63 65 73 73 6f 72 20 69 73 20 74 68 65 20 64  ecessor is the d
12c0: 69 72 65 63 74 20 61 6e 63 65 73 74 6f 72 20 6f  irect ancestor o
12d0: 66 20 74 68 65 20 6d 61 6e 69 66 65 73 74 2e 0a  f the manifest..
12e0: 4f 74 68 65 72 20 61 72 67 75 6d 65 6e 74 73 20  Other arguments 
12f0: 64 65 66 69 6e 65 20 6d 61 6e 69 66 65 73 74 73  define manifests
1300: 20 77 69 74 68 20 77 68 69 63 68 20 74 68 65 20   with which the 
1310: 66 69 72 73 74 20 77 61 73 0a 6d 65 72 67 65 64  first was.merged
1320: 20 74 6f 20 79 69 65 6c 64 20 74 68 65 20 63 75   to yield the cu
1330: 72 72 65 6e 74 20 6d 61 6e 69 66 65 73 74 2e 20  rrent manifest. 
1340: 20 4d 6f 73 74 20 6d 61 6e 69 66 65 73 74 73 20   Most manifests 
1350: 68 61 76 65 0a 61 20 50 2d 63 61 72 64 20 77 69  have.a P-card wi
1360: 74 68 20 61 20 73 69 6e 67 6c 65 20 61 72 67 75  th a single argu
1370: 6d 65 6e 74 2e 20 20 54 68 65 20 66 69 72 73 74  ment.  The first
1380: 20 6d 61 6e 69 66 65 73 74 20 69 6e 20 74 68 65   manifest in the
1390: 0a 70 72 6f 6a 65 63 74 20 68 61 73 20 6e 6f 20  .project has no 
13a0: 61 6e 63 65 73 74 6f 72 73 20 61 6e 64 20 74 68  ancestors and th
13b0: 75 73 20 68 61 73 20 6e 6f 20 50 2d 63 61 72 64  us has no P-card
13c0: 2e 0a 3c 2f 70 3e 0a 0a 3c 70 3e 0a 41 20 6d 61  ..</p>..<p>.A ma
13d0: 6e 69 66 65 73 74 20 6d 61 79 20 6f 70 74 69 6f  nifest may optio
13e0: 6e 61 6c 6c 79 20 68 61 76 65 20 61 20 73 69 6e  nally have a sin
13f0: 67 6c 65 20 52 2d 63 61 72 64 2e 20 20 54 68 65  gle R-card.  The
1400: 20 52 2d 63 61 72 64 20 68 61 73 0a 61 20 73 69   R-card has.a si
1410: 6e 67 6c 65 20 61 72 67 75 6d 65 6e 74 20 77 68  ngle argument wh
1420: 69 63 68 20 69 73 20 74 68 65 20 4d 44 35 20 63  ich is the MD5 c
1430: 68 65 63 6b 73 75 6d 20 6f 66 20 61 6c 6c 20 66  hecksum of all f
1440: 69 6c 65 73 20 69 6e 20 0a 74 68 65 20 62 61 73  iles in .the bas
1450: 65 6c 69 6e 65 20 65 78 63 65 70 74 20 74 68 65  eline except the
1460: 20 6d 61 6e 69 66 65 73 74 20 69 74 73 65 6c 66   manifest itself
1470: 2e 20 20 54 68 65 20 63 68 65 63 6b 73 75 6d 20  .  The checksum 
1480: 69 73 20 65 78 70 72 65 73 73 65 64 0a 61 73 20  is expressed.as 
1490: 33 32 2d 63 68 61 72 61 63 74 65 72 73 20 6f 66  32-characters of
14a0: 20 6c 6f 77 65 72 63 61 73 65 20 68 65 78 61 64   lowercase hexad
14b0: 65 63 69 6d 61 6c 2e 20 20 20 54 68 65 20 63 68  ecimal.   The ch
14c0: 65 63 6b 73 75 6d 20 69 73 0a 63 6f 6d 70 75 74  ecksum is.comput
14d0: 65 64 20 61 73 20 66 6f 6c 6c 6f 77 73 3a 20 20  ed as follows:  
14e0: 46 6f 72 20 65 61 63 68 20 66 69 6c 65 20 69 6e  For each file in
14f0: 20 74 68 65 20 62 61 73 65 6c 69 6e 65 20 28 65   the baseline (e
1500: 78 63 65 70 74 20 66 6f 72 0a 74 68 65 20 6d 61  xcept for.the ma
1510: 6e 69 66 65 73 74 20 69 74 73 65 6c 66 29 20 69  nifest itself) i
1520: 6e 20 73 74 72 69 63 74 20 73 6f 72 74 65 64 20  n strict sorted 
1530: 6c 65 78 69 63 6f 67 72 61 70 68 69 63 61 6c 20  lexicographical 
1540: 6f 72 64 65 72 2c 20 0a 74 61 6b 65 20 74 68 65  order, .take the
1550: 20 70 61 74 68 6e 61 6d 65 20 6f 66 20 74 68 65   pathname of the
1560: 20 66 69 6c 65 20 72 65 6c 61 74 69 76 65 20 74   file relative t
1570: 6f 20 74 68 65 20 72 6f 6f 74 20 6f 66 20 74 68  o the root of th
1580: 65 0a 72 65 70 6f 73 69 74 6f 72 79 2c 20 61 70  e.repository, ap
1590: 70 65 6e 64 20 61 20 73 69 6e 67 6c 65 20 73 70  pend a single sp
15a0: 61 63 65 20 28 41 53 43 49 49 20 30 78 32 30 29  ace (ASCII 0x20)
15b0: 2c 20 74 68 65 0a 73 69 7a 65 20 6f 66 20 74 68  , the.size of th
15c0: 65 20 66 69 6c 65 20 69 6e 20 41 53 43 49 49 20  e file in ASCII 
15d0: 64 65 63 69 6d 61 6c 2c 20 61 20 73 69 6e 67 6c  decimal, a singl
15e0: 65 20 6e 65 77 6c 69 6e 65 0a 63 68 61 72 61 63  e newline.charac
15f0: 74 65 72 20 28 41 53 43 49 49 20 30 78 30 41 29  ter (ASCII 0x0A)
1600: 2c 20 61 6e 64 20 74 68 65 20 63 6f 6d 70 6c 65  , and the comple
1610: 74 65 20 74 65 78 74 20 6f 66 20 74 68 65 20 66  te text of the f
1620: 69 6c 65 2e 0a 43 6f 6d 70 75 74 65 20 74 68 65  ile..Compute the
1630: 20 4d 44 35 20 63 68 65 63 6b 73 75 6d 20 6f 66   MD5 checksum of
1640: 20 74 68 65 20 74 68 65 20 72 65 73 75 6c 74 2e   the the result.
1650: 0a 3c 2f 70 3e 0a 0a 3c 70 3e 0a 45 61 63 68 20  .</p>..<p>.Each 
1660: 6d 61 6e 69 66 65 73 74 20 68 61 73 20 61 20 73  manifest has a s
1670: 69 6e 67 6c 65 20 55 2d 63 61 72 64 2e 20 20 54  ingle U-card.  T
1680: 68 65 20 61 72 67 75 6d 65 6e 74 20 74 6f 20 74  he argument to t
1690: 68 65 20 55 2d 63 61 72 64 20 69 73 0a 74 68 65  he U-card is.the
16a0: 20 6c 6f 67 69 6e 20 6f 66 20 74 68 65 20 75 73   login of the us
16b0: 65 72 20 77 68 6f 20 63 72 65 61 74 65 64 20 74  er who created t
16c0: 68 65 20 6d 61 6e 69 66 65 73 74 2e 20 20 54 68  he manifest.  Th
16d0: 65 20 6c 6f 67 69 6e 20 6e 61 6d 65 0a 69 73 20  e login name.is 
16e0: 65 6e 63 6f 64 65 64 20 75 73 69 6e 67 20 74 68  encoded using th
16f0: 65 20 73 61 6d 65 20 63 68 61 72 61 63 74 65 72  e same character
1700: 20 65 73 63 61 70 65 73 20 61 73 20 69 73 20 75   escapes as is u
1710: 73 65 64 20 66 6f 72 20 74 68 65 0a 63 68 65 63  sed for the.chec
1720: 6b 2d 69 6e 20 63 6f 6d 6d 65 6e 74 20 61 72 67  k-in comment arg
1730: 75 6d 65 6e 74 20 74 6f 20 74 68 65 20 43 2d 63  ument to the C-c
1740: 61 72 64 2e 0a 3c 2f 70 3e 0a 0a 3c 70 3e 0a 41  ard..</p>..<p>.A
1750: 20 6d 61 6e 69 66 65 73 74 20 68 61 73 20 61 6e   manifest has an
1760: 20 6f 70 74 69 6f 6e 20 5a 2d 63 61 72 64 20 61   option Z-card a
1770: 73 20 69 74 73 20 6c 61 73 74 20 6c 69 6e 65 2e  s its last line.
1780: 20 20 54 68 65 20 61 72 67 75 6d 65 6e 74 0a 74    The argument.t
1790: 6f 20 74 68 65 20 5a 2d 63 61 72 64 20 69 73 20  o the Z-card is 
17a0: 61 20 33 32 2d 63 68 61 72 61 63 74 65 72 20 6c  a 32-character l
17b0: 6f 77 65 72 63 61 73 65 20 68 65 78 61 64 65 63  owercase hexadec
17c0: 69 6d 61 6c 20 4d 44 35 20 68 61 73 68 0a 6f 66  imal MD5 hash.of
17d0: 20 61 6c 6c 20 70 72 69 6f 72 20 6c 69 6e 65 73   all prior lines
17e0: 20 6f 66 20 74 68 65 20 6d 61 6e 69 66 65 73 74   of the manifest
17f0: 20 75 70 20 74 6f 20 61 6e 64 20 69 6e 63 6c 75   up to and inclu
1800: 64 69 6e 67 20 74 68 65 20 6e 65 77 6c 69 6e 65  ding the newline
1810: 20 0a 63 68 61 72 61 63 74 65 72 20 74 68 61 74   .character that
1820: 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 70 72 65   immediately pre
1830: 63 65 65 64 73 20 74 68 65 20 22 5a 22 2e 20 20  ceeds the "Z".  
1840: 54 68 65 20 5a 2d 63 61 72 64 20 69 73 20 6a 75  The Z-card is ju
1850: 73 74 0a 61 20 73 61 6e 69 74 79 20 63 68 65 63  st.a sanity chec
1860: 6b 20 74 6f 20 70 72 6f 76 65 20 74 68 61 74 20  k to prove that 
1870: 74 68 65 20 6d 61 6e 69 66 65 73 74 20 69 73 20  the manifest is 
1880: 77 65 6c 6c 2d 66 6f 72 6d 65 64 20 61 6e 64 0a  well-formed and.
1890: 63 6f 6e 73 69 73 74 65 6e 74 2e 0a 3c 2f 70 3e  consistent..</p>
18a0: 0a 0a 3c 68 32 3e 32 2e 30 20 43 6c 75 73 74 65  ..<h2>2.0 Cluste
18b0: 72 73 3c 2f 68 32 3e 0a 0a 3c 70 3e 0a 41 20 63  rs</h2>..<p>.A c
18c0: 6c 75 73 74 65 72 20 69 73 20 61 20 61 72 74 69  luster is a arti
18d0: 66 61 63 74 20 74 68 61 74 20 64 65 63 6c 61 72  fact that declar
18e0: 65 73 20 74 68 65 20 65 78 69 73 74 61 6e 63 65  es the existance
18f0: 20 6f 66 20 6f 74 68 65 72 20 61 72 74 69 66 61   of other artifa
1900: 63 74 73 2e 0a 43 6c 75 73 74 65 72 73 20 61 72  cts..Clusters ar
1910: 65 20 75 73 65 64 20 64 75 72 69 6e 67 20 72 65  e used during re
1920: 70 6f 73 69 74 6f 72 79 20 73 79 6e 63 68 72 6f  pository synchro
1930: 6e 69 7a 61 74 69 6f 6e 20 74 6f 20 68 65 6c 70  nization to help
1940: 20 0a 72 65 64 75 63 65 20 6e 65 74 77 6f 72 6b   .reduce network
1950: 20 74 72 61 66 66 69 63 2e 0a 3c 2f 70 3e 0a 0a   traffic..</p>..
1960: 3c 70 3e 0a 43 6c 75 73 74 65 72 73 20 66 6f 6c  <p>.Clusters fol
1970: 6c 6f 77 20 61 20 73 79 6e 74 61 78 20 74 68 61  low a syntax tha
1980: 74 20 69 73 20 76 65 72 79 20 73 69 6d 69 6c 61  t is very simila
1990: 72 20 74 6f 20 6d 61 6e 69 66 65 73 74 73 2e 0a  r to manifests..
19a0: 41 20 43 6c 75 73 74 65 72 20 69 73 20 61 20 6c  A Cluster is a l
19b0: 69 6e 65 2d 6f 72 69 65 6e 74 65 64 20 74 65 78  ine-oriented tex
19c0: 74 20 66 69 6c 65 2e 20 20 4e 65 77 6c 69 6e 65  t file.  Newline
19d0: 20 63 68 61 72 61 63 74 65 72 73 0a 28 41 53 43   characters.(ASC
19e0: 49 49 20 30 78 30 61 29 20 73 65 70 61 72 61 74  II 0x0a) separat
19f0: 65 20 74 68 65 20 61 72 74 69 66 61 63 74 20 69  e the artifact i
1a00: 6e 74 6f 20 63 61 72 64 73 2e 20 20 45 61 63 68  nto cards.  Each
1a10: 20 63 61 72 64 20 62 65 67 69 6e 73 20 77 69 74   card begins wit
1a20: 68 20 61 20 73 69 6e 67 6c 65 0a 63 68 61 72 61  h a single.chara
1a30: 63 74 65 72 20 22 63 61 72 64 20 74 79 70 65 22  cter "card type"
1a40: 2e 20 20 5a 65 72 6f 20 6f 72 20 6d 6f 72 65 20  .  Zero or more 
1a50: 61 72 67 75 6d 65 6e 74 73 20 6d 61 79 20 66 6f  arguments may fo
1a60: 6c 6c 6f 77 0a 74 68 65 20 63 61 72 64 20 74 79  llow.the card ty
1a70: 70 65 2e 20 20 41 6c 6c 20 61 72 67 75 6d 65 6e  pe.  All argumen
1a80: 74 73 20 61 72 65 20 73 65 70 61 72 61 74 65 64  ts are separated
1a90: 20 66 72 6f 6d 20 65 61 63 68 20 6f 74 68 65 72   from each other
1aa0: 0a 61 6e 64 20 66 72 6f 6d 20 74 68 65 20 63 61  .and from the ca
1ab0: 72 64 2d 74 79 70 65 20 63 68 61 72 61 63 74 65  rd-type characte
1ac0: 72 20 62 79 20 61 20 73 69 6e 67 6c 65 20 73 70  r by a single sp
1ad0: 61 63 65 0a 63 68 61 72 61 63 74 65 72 2e 20 20  ace.character.  
1ae0: 54 68 65 72 65 20 69 73 20 6e 6f 20 73 75 72 70  There is no surp
1af0: 6c 75 73 20 77 68 69 74 65 20 73 70 61 63 65 20  lus white space 
1b00: 62 65 74 77 65 65 6e 20 61 72 67 75 6d 65 6e 74  between argument
1b10: 73 0a 61 6e 64 20 6e 6f 20 6c 65 61 64 69 6e 67  s.and no leading
1b20: 20 6f 72 20 74 72 61 69 6c 69 6e 67 20 77 68 69   or trailing whi
1b30: 74 65 73 70 61 63 65 20 65 78 63 65 70 74 20 66  tespace except f
1b40: 6f 72 20 74 68 65 20 6e 65 77 6c 69 6e 65 20 0a  or the newline .
1b50: 63 68 61 72 61 63 74 65 72 20 74 68 61 74 20 61  character that a
1b60: 63 74 73 20 61 73 20 74 68 65 20 63 61 72 64 20  cts as the card 
1b70: 73 65 70 61 72 61 74 6f 72 2e 0a 41 6c 6c 20 63  separator..All c
1b80: 61 72 64 73 20 6f 66 20 61 20 63 6c 75 74 65 72  ards of a cluter
1b90: 20 6f 63 63 75 72 20 69 6e 20 73 74 72 69 63 74   occur in strict
1ba0: 20 73 6f 72 74 65 64 20 6c 65 78 69 63 6f 67 72   sorted lexicogr
1bb0: 61 70 68 69 63 61 6c 20 6f 72 64 65 72 2e 0a 4e  aphical order..N
1bc0: 6f 20 63 61 72 64 20 6d 61 79 20 62 65 20 64 75  o card may be du
1bd0: 70 6c 69 63 61 74 65 64 2e 0a 54 68 65 20 63 6c  plicated..The cl
1be0: 75 73 74 65 72 20 6d 61 79 20 6e 6f 74 20 63 6f  uster may not co
1bf0: 6e 74 61 69 6e 20 61 64 64 69 74 69 6f 6e 61 6c  ntain additional
1c00: 20 74 65 78 74 20 6f 72 20 64 61 74 61 20 62 65   text or data be
1c10: 79 6f 6e 64 20 0a 77 68 61 74 20 69 73 20 64 65  yond .what is de
1c20: 73 63 72 69 62 65 64 20 68 65 72 65 2e 0a 55 6e  scribed here..Un
1c30: 6c 69 6b 65 20 6d 61 6e 69 66 65 73 74 73 2c 20  like manifests, 
1c40: 63 6c 75 73 74 65 72 73 20 61 72 65 20 6e 65 76  clusters are nev
1c50: 65 72 20 50 47 50 20 73 69 67 6e 65 64 2e 0a 3c  er PGP signed..<
1c60: 2f 70 3e 0a 0a 3c 70 3e 0a 41 6c 6c 6f 77 65 64  /p>..<p>.Allowed
1c70: 20 63 61 72 64 73 20 69 6e 20 74 68 65 20 63 6c   cards in the cl
1c80: 75 73 74 65 72 20 61 72 65 20 61 73 20 66 6f 6c  uster are as fol
1c90: 6c 6f 77 73 3a 0a 3c 2f 70 3e 0a 0a 3c 62 6c 6f  lows:.</p>..<blo
1ca0: 63 6b 71 75 6f 74 65 3e 0a 3c 62 3e 4d 3c 2f 62  ckquote>.<b>M</b
1cb0: 3e 20 3c 69 3e 75 75 69 64 3c 2f 69 3e 3c 62 72  > <i>uuid</i><br
1cc0: 20 2f 3e 0a 3c 62 3e 5a 3c 2f 62 3e 20 3c 69 3e   />.<b>Z</b> <i>
1cd0: 63 68 65 63 6b 73 75 6d 3c 2f 69 3e 0a 3c 2f 62  checksum</i>.</b
1ce0: 6c 6f 63 6b 71 75 6f 74 65 3e 0a 0a 3c 70 3e 0a  lockquote>..<p>.
1cf0: 41 20 63 6c 75 73 74 65 72 20 63 6f 6e 74 61 69  A cluster contai
1d00: 6e 73 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 22  ns one or more "
1d10: 4d 22 20 63 61 72 64 73 20 66 6f 6c 6c 6f 77 65  M" cards followe
1d20: 64 20 62 79 20 61 20 73 69 6e 67 6c 65 20 22 5a  d by a single "Z
1d30: 22 0a 6c 69 6e 65 2e 20 20 45 61 63 68 20 4d 20  ".line.  Each M 
1d40: 63 61 72 64 20 68 61 73 20 61 20 73 69 6e 67 6c  card has a singl
1d50: 65 20 61 72 67 75 6d 65 6e 74 20 77 68 69 63 68  e argument which
1d60: 20 69 73 20 74 68 65 20 55 55 49 44 20 6f 66 20   is the UUID of 
1d70: 0a 61 6e 6f 74 68 65 72 20 61 72 74 69 66 61 63  .another artifac
1d80: 74 20 69 6e 20 74 68 65 20 72 65 70 6f 73 69 74  t in the reposit
1d90: 6f 72 79 2e 20 20 54 68 65 20 5a 20 63 61 72 64  ory.  The Z card
1da0: 20 77 6f 72 6b 20 65 78 61 63 74 6c 79 20 6c 69   work exactly li
1db0: 6b 65 0a 74 68 65 20 5a 20 63 61 72 64 20 6f 66  ke.the Z card of
1dc0: 20 61 20 6d 61 6e 69 66 65 73 74 2e 20 20 54 68   a manifest.  Th
1dd0: 65 20 61 72 67 75 6d 65 6e 74 20 74 6f 20 74 68  e argument to th
1de0: 65 20 5a 20 63 61 72 64 20 69 73 20 74 68 65 0a  e Z card is the.
1df0: 6c 6f 77 65 72 2d 63 61 73 65 20 68 65 78 61 64  lower-case hexad
1e00: 65 63 69 6d 61 6c 20 72 65 70 72 65 73 65 6e 74  ecimal represent
1e10: 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 4d 44 35  ation of the MD5
1e20: 20 63 68 65 63 6b 73 75 6d 20 6f 66 20 61 6c 6c   checksum of all
1e30: 0a 70 72 69 6f 72 20 63 61 72 64 73 20 69 6e 20  .prior cards in 
1e40: 74 68 65 20 63 6c 75 73 74 65 72 2e 20 20 4e 6f  the cluster.  No
1e50: 74 65 20 74 68 61 74 20 74 68 65 20 5a 20 63 61  te that the Z ca
1e60: 72 64 20 69 73 20 72 65 71 75 69 72 65 64 0a 6f  rd is required.o
1e70: 6e 20 61 20 63 6c 75 73 74 65 72 2e 0a 3c 2f 70  n a cluster..</p
1e80: 3e 0a 0a 0a 3c 68 32 3e 33 2e 30 20 43 6f 6e 74  >...<h2>3.0 Cont
1e90: 72 6f 6c 20 41 72 74 69 66 61 63 74 73 3c 2f 68  rol Artifacts</h
1ea0: 32 3e 0a 0a 3c 70 3e 0a 43 6f 6e 74 72 6f 6c 20  2>..<p>.Control 
1eb0: 61 72 74 69 66 61 63 74 73 20 61 72 65 20 75 73  artifacts are us
1ec0: 65 64 20 74 6f 20 61 73 73 69 67 6e 20 70 72 6f  ed to assign pro
1ed0: 70 65 72 74 69 65 73 20 74 6f 20 6f 74 68 65 72  perties to other
1ee0: 20 61 72 74 69 66 61 63 74 73 0a 77 69 74 68 69   artifacts.withi
1ef0: 6e 20 74 68 65 20 72 65 70 6f 73 69 74 6f 72 79  n the repository
1f00: 2e 20 20 54 68 65 20 62 61 73 69 63 20 66 6f 72  .  The basic for
1f10: 6d 61 74 20 6f 66 20 61 20 63 6f 6e 74 72 6f 6c  mat of a control
1f20: 20 61 72 74 69 66 61 63 74 20 69 73 0a 74 68 65   artifact is.the
1f30: 20 73 61 6d 65 20 61 73 20 61 20 6d 61 6e 69 66   same as a manif
1f40: 65 73 74 20 6f 72 20 63 6c 75 73 74 65 72 2e 20  est or cluster. 
1f50: 20 41 20 63 6f 6e 74 72 6f 6c 20 61 72 74 69 66   A control artif
1f60: 61 63 74 20 69 73 20 61 20 74 65 78 74 0a 66 69  act is a text.fi
1f70: 6c 65 73 20 64 69 76 69 64 65 64 20 69 6e 74 6f  les divided into
1f80: 20 63 61 72 64 73 20 62 79 20 6e 65 77 6c 69 6e   cards by newlin
1f90: 65 20 63 68 61 72 61 63 74 65 72 73 2e 20 20 45  e characters.  E
1fa0: 61 63 68 20 63 61 72 64 20 68 61 73 20 61 0a 73  ach card has a.s
1fb0: 69 6e 67 6c 65 2d 63 68 61 72 61 63 74 65 72 20  ingle-character 
1fc0: 63 61 72 64 20 74 79 70 65 20 66 6f 6c 6c 6f 77  card type follow
1fd0: 65 64 20 62 79 20 61 72 67 75 6d 65 6e 74 73 2e  ed by arguments.
1fe0: 20 20 53 70 61 63 65 73 20 73 65 70 61 72 61 74    Spaces separat
1ff0: 65 0a 74 68 65 20 63 61 72 64 20 74 79 70 65 20  e.the card type 
2000: 61 6e 64 20 74 68 65 20 61 72 67 75 6d 65 6e 74  and the argument
2010: 73 2e 20 20 4e 6f 20 73 75 72 70 6c 75 73 20 77  s.  No surplus w
2020: 68 69 74 65 73 70 61 63 65 20 69 73 20 61 6c 6c  hitespace is all
2030: 6f 77 65 64 2e 0a 41 6c 6c 20 63 61 72 64 73 20  owed..All cards 
2040: 6d 75 73 74 20 6f 63 63 75 72 20 69 6e 20 73 74  must occur in st
2050: 72 69 63 74 20 6c 65 78 69 67 72 61 70 68 69 63  rict lexigraphic
2060: 61 6c 20 6f 72 64 65 72 2e 0a 3c 2f 70 3e 0a 0a  al order..</p>..
2070: 3c 70 3e 0a 41 6c 6c 6f 77 65 64 20 63 61 72 64  <p>.Allowed card
2080: 73 20 69 6e 20 61 20 63 6f 6e 74 72 6f 6c 20 61  s in a control a
2090: 72 74 69 66 61 63 74 20 61 72 65 20 61 73 20 66  rtifact are as f
20a0: 6f 6c 6c 6f 77 73 3a 0a 3c 2f 70 3e 0a 0a 3c 62  ollows:.</p>..<b
20b0: 6c 6f 63 6b 71 75 6f 74 65 3e 0a 3c 62 3e 44 3c  lockquote>.<b>D<
20c0: 2f 62 3e 20 3c 69 3e 74 69 6d 65 2d 61 6e 64 2d  /b> <i>time-and-
20d0: 64 61 74 65 2d 73 74 61 6d 70 3c 2f 69 3e 3c 62  date-stamp</i><b
20e0: 72 20 2f 3e 0a 3c 62 3e 54 3c 2f 62 3e 20 28 3c  r />.<b>T</b> (<
20f0: 62 3e 2b 3c 2f 62 3e 7c 3c 62 3e 2d 3c 2f 62 3e  b>+</b>|<b>-</b>
2100: 7c 3c 62 3e 2a 3c 2f 62 3e 29 3c 69 3e 74 61 67  |<b>*</b>)<i>tag
2110: 2d 6e 61 6d 65 20 20 75 75 69 64 20 20 3f 76 61  -name  uuid  ?va
2120: 6c 75 65 3f 3c 2f 69 3e 3c 62 72 20 2f 3e 0a 3c  lue?</i><br />.<
2130: 62 3e 5a 3c 2f 62 3e 20 3c 69 3e 63 68 65 63 6b  b>Z</b> <i>check
2140: 73 75 6d 3c 2f 69 3e 3c 62 72 20 2f 3e 0a 3c 2f  sum</i><br />.</
2150: 62 6c 6f 63 6b 71 75 6f 74 65 3e 0a 0a 3c 70 3e  blockquote>..<p>
2160: 0a 41 20 63 6f 6e 74 72 6f 6c 20 61 72 74 69 66  .A control artif
2170: 61 63 74 20 6d 75 73 74 20 68 61 76 65 20 6f 6e  act must have on
2180: 65 20 44 20 63 61 72 64 20 61 6e 64 20 6f 6e 65  e D card and one
2190: 20 5a 20 63 61 72 64 20 61 6e 64 0a 6f 6e 65 20   Z card and.one 
21a0: 6f 72 20 6d 6f 72 65 20 6f 72 20 6d 6f 72 65 20  or more or more 
21b0: 54 20 63 61 72 64 73 2e 20 20 4e 6f 20 6f 74 68  T cards.  No oth
21c0: 65 72 20 63 61 72 64 73 20 6f 72 20 6f 74 68 65  er cards or othe
21d0: 72 20 74 65 78 74 20 69 73 0a 61 6c 6c 6f 77 65  r text is.allowe
21e0: 64 20 69 6e 20 61 20 63 6f 6e 74 72 6f 6c 20 61  d in a control a
21f0: 72 74 69 66 61 63 74 2e 20 20 43 6f 6e 74 72 6f  rtifact.  Contro
2200: 6c 20 61 72 74 69 66 61 63 74 73 20 6d 69 67 68  l artifacts migh
2210: 74 20 62 65 20 50 47 50 0a 63 6c 65 61 72 73 69  t be PGP.clearsi
2220: 67 6e 65 64 2e 3c 2f 70 3e 0a 0a 3c 70 3e 54 68  gned.</p>..<p>Th
2230: 65 20 44 20 63 61 72 64 20 61 6e 64 20 74 68 65  e D card and the
2240: 20 5a 20 63 61 72 64 20 6f 66 20 61 20 63 6f 6e   Z card of a con
2250: 74 72 6f 6c 20 61 72 74 69 66 61 63 74 20 61 72  trol artifact ar
2260: 65 20 74 68 65 20 73 61 6d 65 0a 61 73 20 69 6e  e the same.as in
2270: 20 61 20 6d 61 6e 69 66 65 73 74 2e 3c 2f 70 3e   a manifest.</p>
2280: 0a 0a 3c 70 3e 54 68 65 20 54 20 63 61 72 64 20  ..<p>The T card 
2290: 72 65 70 72 65 73 65 6e 74 73 20 61 20 22 74 61  represents a "ta
22a0: 67 22 20 6f 72 20 70 72 6f 70 65 72 74 79 20 74  g" or property t
22b0: 68 61 74 20 69 73 20 61 70 70 6c 69 65 64 20 74  hat is applied t
22c0: 6f 0a 73 6f 6d 65 20 6f 74 68 65 72 20 61 72 74  o.some other art
22d0: 69 66 61 63 74 2e 20 20 54 68 65 20 54 20 63 61  ifact.  The T ca
22e0: 72 64 20 68 61 73 20 74 77 6f 20 6f 72 20 74 68  rd has two or th
22f0: 72 65 65 20 76 61 6c 75 65 73 2e 20 20 54 68 65  ree values.  The
2300: 0a 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e 74  .second argument
2310: 20 69 73 20 74 68 65 20 34 30 20 63 68 61 72 61   is the 40 chara
2320: 63 74 65 72 20 6c 6f 77 65 72 63 61 73 65 20 55  cter lowercase U
2330: 55 49 44 20 6f 66 20 74 68 65 20 61 72 74 69 66  UID of the artif
2340: 61 63 74 0a 74 6f 20 77 68 69 63 68 20 74 68 65  act.to which the
2350: 20 74 61 67 20 69 73 20 74 6f 20 62 65 20 61 70   tag is to be ap
2360: 70 6c 69 65 64 2e 20 54 68 65 0a 66 69 72 73 74  plied. The.first
2370: 20 76 61 6c 75 65 20 69 73 20 74 68 65 20 74 61   value is the ta
2380: 67 20 6e 61 6d 65 2e 20 20 54 68 65 20 66 69 72  g name.  The fir
2390: 73 74 20 63 68 61 72 61 63 74 65 72 20 6f 66 20  st character of 
23a0: 74 68 65 20 74 61 67 0a 69 73 20 65 69 74 68 65  the tag.is eithe
23b0: 72 20 22 2b 22 2c 20 22 2d 22 2c 20 6f 72 20 22  r "+", "-", or "
23c0: 2a 22 2e 20 20 41 20 22 2b 22 20 6d 65 61 6e 73  *".  A "+" means
23d0: 20 74 68 65 20 74 61 67 20 73 68 6f 75 6c 64 20   the tag should 
23e0: 62 65 20 61 64 64 65 64 0a 74 6f 20 74 68 65 20  be added.to the 
23f0: 61 72 74 69 66 61 63 74 2e 20 20 54 68 65 20 22  artifact.  The "
2400: 2d 22 20 6d 65 61 6e 73 20 74 68 65 20 74 61 67  -" means the tag
2410: 20 73 68 6f 75 6c 64 20 62 65 20 72 65 6d 6f 76   should be remov
2420: 65 64 2e 0a 54 68 65 20 22 2a 22 20 63 68 61 72  ed..The "*" char
2430: 61 63 74 65 72 20 6d 65 61 6e 73 20 74 68 65 20  acter means the 
2440: 74 61 67 20 73 68 6f 75 6c 64 20 62 65 20 61 64  tag should be ad
2450: 64 65 64 20 74 6f 20 74 68 65 20 61 72 74 69 66  ded to the artif
2460: 61 63 74 0a 61 6e 64 20 61 6c 6c 20 64 69 72 65  act.and all dire
2470: 63 74 20 64 65 63 65 6e 64 65 6e 74 73 20 28 62  ct decendents (b
2480: 75 74 20 6e 6f 74 20 62 72 61 6e 63 68 65 73 29  ut not branches)
2490: 20 6f 66 20 74 68 65 20 61 72 74 69 66 61 63 74   of the artifact
24a0: 20 64 6f 77 6e 0a 74 6f 20 62 75 74 20 6e 6f 74   down.to but not
24b0: 20 69 6e 63 6c 75 64 69 6e 67 20 74 68 65 20 66   including the f
24c0: 69 72 73 74 20 64 65 63 65 6e 64 65 6e 74 20 74  irst decendent t
24d0: 68 61 74 20 63 6f 6e 74 61 69 6e 73 20 61 20 0a  hat contains a .
24e0: 6d 6f 72 65 20 72 65 63 65 6e 74 20 22 2d 22 20  more recent "-" 
24f0: 74 61 67 20 77 69 74 68 20 74 68 65 20 73 61 6d  tag with the sam
2500: 65 20 6e 61 6d 65 2e 0a 54 68 65 20 6f 70 74 69  e name..The opti
2510: 6f 6e 61 6c 20 74 68 69 72 64 20 61 72 67 75 6d  onal third argum
2520: 65 6e 74 20 69 73 20 74 68 65 20 76 61 6c 75 65  ent is the value
2530: 20 6f 66 20 74 68 65 20 74 61 67 2e 20 20 41 20   of the tag.  A 
2540: 74 61 67 0a 77 69 74 68 6f 75 74 20 61 20 76 61  tag.without a va
2550: 6c 75 65 20 69 73 20 61 20 62 6f 6f 6c 65 61 6e  lue is a boolean
2560: 2e 3c 2f 70 3e 0a 0a 3c 70 3e 57 68 65 6e 20 74  .</p>..<p>When t
2570: 77 6f 20 6f 72 20 6d 6f 72 65 20 74 61 67 73 20  wo or more tags 
2580: 77 69 74 68 20 74 68 65 20 73 61 6d 65 20 6e 61  with the same na
2590: 6d 65 20 61 72 65 20 61 70 70 6c 69 65 64 20 74  me are applied t
25a0: 6f 20 74 68 65 0a 73 61 6d 65 20 61 72 74 69 66  o the.same artif
25b0: 61 63 74 2c 20 74 68 65 20 74 61 67 20 77 69 74  act, the tag wit
25c0: 68 20 74 68 65 20 6c 61 74 65 73 74 20 28 6d 6f  h the latest (mo
25d0: 73 74 20 72 65 63 65 6e 74 29 20 64 61 74 65 20  st recent) date 
25e0: 69 73 0a 75 73 65 64 2e 3c 2f 70 3e 0a 0a 3c 70  is.used.</p>..<p
25f0: 3e 53 6f 6d 65 20 74 61 67 73 20 68 61 76 65 20  >Some tags have 
2600: 73 70 65 63 69 61 6c 20 6d 65 61 6e 69 6e 67 2e  special meaning.
2610: 20 20 54 68 65 20 22 63 6f 6d 6d 65 6e 74 22 20    The "comment" 
2620: 74 61 67 20 77 68 65 6e 20 61 70 70 6c 69 65 64  tag when applied
2630: 0a 74 6f 20 61 20 62 61 73 65 6c 69 6e 65 20 77  .to a baseline w
2640: 69 6c 6c 20 6f 76 65 72 72 69 64 65 20 74 68 65  ill override the
2650: 20 63 68 65 63 6b 2d 69 6e 20 63 6f 6d 6d 65 6e   check-in commen
2660: 74 20 6f 66 20 74 68 61 74 20 62 61 73 65 6c 69  t of that baseli
2670: 6e 65 0a 66 6f 72 20 64 69 73 70 6c 61 79 20 70  ne.for display p
2680: 75 72 70 6f 73 65 73 2e 3c 2f 70 3e 0a 0a 3c 68  urposes.</p>..<h
2690: 32 3e 34 2e 30 20 57 69 6b 69 20 50 61 67 65 73  2>4.0 Wiki Pages
26a0: 3c 2f 68 32 3e 0a 0a 3c 70 3e 41 20 77 69 6b 69  </h2>..<p>A wiki
26b0: 20 70 61 67 65 20 69 73 20 61 6e 20 61 72 74 69   page is an arti
26c0: 66 61 63 74 20 77 69 74 68 20 61 20 66 6f 72 6d  fact with a form
26d0: 61 74 20 73 69 6d 69 6c 61 72 20 74 6f 20 6d 61  at similar to ma
26e0: 6e 69 66 65 73 74 73 2c 0a 63 6c 75 73 74 65 72  nifests,.cluster
26f0: 73 2c 20 61 6e 64 20 63 6f 6e 74 72 6f 6c 20 61  s, and control a
2700: 72 74 69 66 61 63 74 73 2e 20 20 54 68 65 20 61  rtifacts.  The a
2710: 72 74 69 66 61 63 74 20 69 73 20 64 69 76 69 64  rtifact is divid
2720: 65 64 20 69 6e 74 6f 0a 63 61 72 64 73 20 62 79  ed into.cards by
2730: 20 6e 65 77 6c 69 6e 65 20 63 68 61 72 61 63 74   newline charact
2740: 65 72 73 2e 20 20 54 68 65 20 66 6f 72 6d 61 74  ers.  The format
2750: 20 6f 66 20 65 61 63 68 20 63 61 72 64 20 69 73   of each card is
2760: 20 61 73 20 69 6e 0a 6d 61 6e 69 66 65 73 74 73   as in.manifests
2770: 2c 20 63 6c 75 73 74 65 72 73 2c 20 61 6e 64 20  , clusters, and 
2780: 63 6f 6e 74 72 6f 6c 20 61 72 74 69 66 61 63 74  control artifact
2790: 73 2e 20 20 57 69 6b 69 20 61 72 74 69 66 61 63  s.  Wiki artifac
27a0: 74 73 20 61 63 63 65 70 74 0a 74 68 65 20 66 6f  ts accept.the fo
27b0: 6c 6c 6f 77 69 6e 67 20 63 61 72 64 20 74 79 70  llowing card typ
27c0: 65 73 3a 3c 2f 70 3e 0a 0a 3c 62 6c 6f 63 6b 71  es:</p>..<blockq
27d0: 75 6f 74 65 3e 0a 3c 62 3e 44 3c 2f 62 3e 20 3c  uote>.<b>D</b> <
27e0: 69 3e 74 69 6d 65 2d 61 6e 64 2d 64 61 74 65 2d  i>time-and-date-
27f0: 73 74 61 6d 70 3c 2f 69 3e 3c 62 72 20 2f 3e 0a  stamp</i><br />.
2800: 3c 62 3e 4c 3c 2f 62 3e 20 3c 69 3e 77 69 6b 69  <b>L</b> <i>wiki
2810: 2d 74 69 74 6c 65 3c 2f 69 3e 3c 62 72 20 2f 3e  -title</i><br />
2820: 0a 3c 62 3e 50 3c 2f 62 3e 20 3c 69 3e 70 61 72  .<b>P</b> <i>par
2830: 65 6e 74 2d 75 75 69 64 3c 2f 69 3e 2b 3c 62 72  ent-uuid</i>+<br
2840: 20 2f 3e 0a 3c 62 3e 55 3c 2f 62 3e 20 3c 69 3e   />.<b>U</b> <i>
2850: 75 73 65 72 2d 6e 61 6d 65 3c 2f 69 3e 3c 62 72  user-name</i><br
2860: 20 2f 3e 0a 3c 62 3e 57 3c 2f 62 3e 20 3c 69 3e   />.<b>W</b> <i>
2870: 73 69 7a 65 3c 2f 69 3e 20 3c 62 3e 5c 6e 3c 2f  size</i> <b>\n</
2880: 62 3e 20 3c 69 3e 74 65 78 74 3c 2f 69 3e 20 3c  b> <i>text</i> <
2890: 62 3e 5c 6e 3c 2f 62 3e 3c 62 72 20 2f 3e 0a 3c  b>\n</b><br />.<
28a0: 62 3e 5a 3c 2f 62 3e 20 3c 69 3e 63 68 65 63 6b  b>Z</b> <i>check
28b0: 73 75 6d 3c 2f 69 3e 0a 3c 2f 62 6c 6f 63 6b 71  sum</i>.</blockq
28c0: 75 6f 74 65 3e 0a 0a 3c 70 3e 54 68 65 20 44 20  uote>..<p>The D 
28d0: 63 61 72 64 20 69 73 20 74 68 65 20 64 61 74 65  card is the date
28e0: 20 61 6e 64 20 74 69 6d 65 20 77 68 65 6e 20 74   and time when t
28f0: 68 65 20 77 69 6b 69 20 70 61 67 65 20 77 61 73  he wiki page was
2900: 20 65 64 69 74 65 64 2e 0a 54 68 65 20 50 20 63   edited..The P c
2910: 61 72 64 20 73 70 65 63 69 66 69 65 73 20 74 68  ard specifies th
2920: 65 20 70 61 72 65 6e 74 20 77 69 6b 69 20 70 61  e parent wiki pa
2930: 67 65 73 2c 20 69 66 20 61 6e 79 2e 20 20 54 68  ges, if any.  Th
2940: 65 20 4c 20 63 61 72 64 0a 67 69 76 65 73 20 74  e L card.gives t
2950: 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 77  he name of the w
2960: 69 6b 69 20 70 61 67 65 2e 20 20 54 68 65 20 55  iki page.  The U
2970: 20 63 61 72 64 20 73 70 65 63 69 66 69 65 73 20   card specifies 
2980: 74 68 65 20 6c 6f 67 69 6e 0a 6f 66 20 74 68 65  the login.of the
2990: 20 75 73 65 72 20 77 68 6f 20 6d 61 64 65 20 74   user who made t
29a0: 68 69 73 20 65 64 69 74 20 74 6f 20 74 68 65 20  his edit to the 
29b0: 77 69 6b 69 20 70 61 67 65 2e 20 20 54 68 65 20  wiki page.  The 
29c0: 5a 20 63 61 72 64 20 69 73 0a 74 68 65 20 75 73  Z card is.the us
29d0: 75 61 6c 20 63 68 65 63 6b 73 75 6d 20 6f 76 65  ual checksum ove
29e0: 72 20 74 68 65 20 65 69 74 68 65 72 20 61 72 74  r the either art
29f0: 69 66 61 63 74 2e 3c 2f 70 3e 0a 0a 3c 70 3e 54  ifact.</p>..<p>T
2a00: 68 65 20 57 20 63 61 72 64 20 69 73 20 75 73 65  he W card is use
2a10: 64 20 74 6f 20 73 70 65 63 69 66 79 20 74 68 65  d to specify the
2a20: 20 74 65 78 74 20 6f 66 20 74 68 65 20 77 69 6b   text of the wik
2a30: 69 20 70 61 67 65 2e 20 20 54 68 65 0a 61 72 67  i page.  The.arg
2a40: 75 6d 65 6e 74 20 74 6f 20 74 68 65 20 57 20 63  ument to the W c
2a50: 61 72 64 20 69 73 20 61 6e 20 69 6e 74 65 67 65  ard is an intege
2a60: 72 20 77 68 69 63 68 20 69 73 20 74 68 65 20 6e  r which is the n
2a70: 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 0a 6f  umber of bytes.o
2a80: 66 20 74 65 78 74 20 69 6e 20 74 68 65 20 77 69  f text in the wi
2a90: 6b 69 20 70 61 67 65 2e 20 20 54 68 61 74 20 74  ki page.  That t
2aa0: 65 78 74 20 66 6f 6c 6c 6f 77 73 20 74 68 65 20  ext follows the 
2ab0: 6e 65 77 6c 69 6e 65 20 63 68 61 72 61 63 74 65  newline characte
2ac0: 72 0a 74 68 61 74 20 74 65 72 6d 69 6e 61 74 65  r.that terminate
2ad0: 73 20 74 68 65 20 57 20 63 61 72 64 2e 20 20 54  s the W card.  T
2ae0: 68 65 20 77 69 6b 69 20 74 65 78 74 20 69 73 20  he wiki text is 
2af0: 61 6c 77 61 79 73 20 66 6f 6c 6c 6f 77 65 64 20  always followed 
2b00: 62 79 20 6f 6e 65 0a 65 78 74 72 61 20 6e 65 77  by one.extra new
2b10: 6c 69 6e 65 2e 3c 2f 70 3e 0a 0a 3c 68 32 3e 35  line.</p>..<h2>5
2b20: 2e 30 20 54 69 63 6b 65 74 20 43 68 61 6e 67 65  .0 Ticket Change
2b30: 73 3c 2f 68 32 3e 0a 0a 3c 70 3e 41 20 74 69 63  s</h2>..<p>A tic
2b40: 6b 65 74 2d 63 68 61 6e 67 65 20 61 72 74 69 66  ket-change artif
2b50: 61 63 74 20 72 65 70 72 65 73 65 6e 74 73 20 61  act represents a
2b60: 20 63 68 61 6e 67 65 20 74 6f 20 61 20 74 72 6f   change to a tro
2b70: 75 62 6c 65 20 74 69 63 6b 65 74 2e 0a 54 68 65  uble ticket..The
2b80: 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 61 72 64 73   following cards
2b90: 20 61 72 65 20 61 6c 6c 6f 77 65 64 20 6f 6e 20   are allowed on 
2ba0: 61 20 74 69 63 6b 65 74 20 63 68 61 6e 67 65 20  a ticket change 
2bb0: 61 72 74 69 66 61 63 74 3a 3c 2f 70 3e 0a 0a 3c  artifact:</p>..<
2bc0: 62 6c 6f 63 6b 71 75 6f 74 65 3e 0a 3c 62 3e 44  blockquote>.<b>D
2bd0: 3c 2f 62 3e 20 3c 69 3e 74 69 6d 65 2d 61 6e 64  </b> <i>time-and
2be0: 2d 64 61 74 65 2d 73 74 61 6d 70 3c 2f 69 3e 3c  -date-stamp</i><
2bf0: 62 72 20 2f 3e 0a 3c 62 3e 4a 3c 2f 62 3e 20 3f  br />.<b>J</b> ?
2c00: 3c 62 3e 2b 3c 2f 62 3e 3f 3c 69 3e 6e 61 6d 65  <b>+</b>?<i>name
2c10: 20 76 61 6c 75 65 3c 2f 69 3e 3c 62 72 20 2f 3e   value</i><br />
2c20: 0a 3c 62 3e 4b 3c 2f 62 3e 20 3c 69 3e 74 69 63  .<b>K</b> <i>tic
2c30: 6b 65 74 2d 75 75 69 64 3c 2f 69 3e 3c 62 72 20  ket-uuid</i><br 
2c40: 2f 3e 0a 3c 62 3e 55 3c 2f 62 3e 20 3c 69 3e 75  />.<b>U</b> <i>u
2c50: 73 65 72 2d 6e 61 6d 65 3c 2f 69 3e 3c 62 72 20  ser-name</i><br 
2c60: 2f 3e 0a 3c 62 3e 5a 3c 2f 62 3e 20 3c 69 3e 63  />.<b>Z</b> <i>c
2c70: 68 65 63 6b 73 75 6d 3c 2f 69 3e 0a 3c 2f 62 6c  hecksum</i>.</bl
2c80: 6f 63 6b 71 75 6f 74 65 3e 0a 0a 3c 70 3e 0a 54  ockquote>..<p>.T
2c90: 68 65 20 44 20 63 61 72 64 20 69 73 20 74 68 65  he D card is the
2ca0: 20 75 73 75 61 6c 20 64 61 74 65 20 61 6e 64 20   usual date and 
2cb0: 74 69 6d 65 20 73 74 61 6d 70 20 61 6e 64 20 72  time stamp and r
2cc0: 65 70 72 65 73 65 6e 74 73 20 74 68 65 20 70 6f  epresents the po
2cd0: 69 6e 74 0a 69 6e 20 74 69 6d 65 20 77 68 65 6e  int.in time when
2ce0: 20 74 68 65 20 63 68 61 6e 67 65 20 77 61 73 20   the change was 
2cf0: 65 6e 74 65 72 65 64 2e 20 20 54 68 65 20 55 20  entered.  The U 
2d00: 63 61 72 64 20 69 73 20 74 68 65 20 6c 6f 67 69  card is the logi
2d10: 6e 20 6f 66 20 74 68 65 0a 70 72 6f 67 72 61 6d  n of the.program
2d20: 6d 65 72 20 77 68 6f 20 65 6e 74 65 72 65 64 20  mer who entered 
2d30: 74 68 69 73 20 63 68 61 6e 67 65 2e 20 20 54 68  this change.  Th
2d40: 65 20 5a 20 63 61 72 64 20 69 73 20 74 68 65 20  e Z card is the 
2d50: 63 68 65 63 6b 73 75 6d 20 6f 76 65 72 0a 74 68  checksum over.th
2d60: 65 20 65 6e 74 69 72 65 20 61 72 74 69 66 61 63  e entire artifac
2d70: 74 2e 3c 2f 70 3e 0a 0a 3c 70 3e 0a 45 76 65 72  t.</p>..<p>.Ever
2d80: 79 20 74 69 63 6b 65 74 20 68 61 73 20 61 20 55  y ticket has a U
2d90: 55 49 44 2e 20 20 54 68 65 20 74 69 63 6b 65 74  UID.  The ticket
2da0: 20 74 6f 20 77 68 69 63 68 20 74 68 69 73 20 63   to which this c
2db0: 68 61 6e 67 65 20 69 73 20 61 70 70 6c 69 65 64  hange is applied
2dc0: 0a 69 73 20 73 70 65 63 69 66 69 65 64 20 62 79  .is specified by
2dd0: 20 74 68 65 20 4b 20 63 61 72 64 2e 20 20 41 20   the K card.  A 
2de0: 74 69 63 6b 65 74 20 65 78 69 73 74 73 20 69 66  ticket exists if
2df0: 20 69 74 20 63 6f 6e 74 61 69 6e 73 20 6f 6e 65   it contains one
2e00: 20 6f 72 0a 6d 6f 72 65 20 63 68 61 6e 67 65 73   or.more changes
2e10: 2e 20 20 54 68 65 20 66 69 72 73 74 20 22 63 68  .  The first "ch
2e20: 61 6e 67 65 22 20 74 6f 20 61 20 74 69 63 6b 65  ange" to a ticke
2e30: 74 20 69 73 20 77 68 61 74 20 62 72 69 6e 67 73  t is what brings
2e40: 20 74 68 65 0a 74 69 63 6b 65 74 20 69 6e 74 6f   the.ticket into
2e50: 20 65 78 69 73 74 61 6e 63 65 2e 3c 2f 70 3e 0a   existance.</p>.
2e60: 0a 3c 70 3e 0a 4a 20 63 61 72 64 73 20 73 70 65  .<p>.J cards spe
2e70: 63 69 66 79 20 63 68 61 6e 67 65 73 20 74 6f 20  cify changes to 
2e80: 22 66 69 65 6c 64 73 22 20 6f 66 20 74 68 65 20  "fields" of the 
2e90: 74 69 63 6b 65 74 2e 20 20 45 61 63 68 20 66 6f  ticket.  Each fo
2ea0: 73 73 69 6c 0a 73 65 72 76 65 72 20 68 61 73 20  ssil.server has 
2eb0: 61 20 74 69 63 6b 65 74 20 63 6f 6e 66 69 67 75  a ticket configu
2ec0: 72 61 74 69 6f 6e 20 77 68 69 63 68 20 73 70 65  ration which spe
2ed0: 63 69 66 69 65 73 20 74 68 65 20 66 69 65 6c 64  cifies the field
2ee0: 73 20 69 74 73 0a 75 6e 64 65 72 73 74 61 6e 64  s its.understand
2ef0: 73 2e 20 20 54 68 69 73 20 69 73 20 6e 6f 74 20  s.  This is not 
2f00: 61 20 6c 69 6d 69 74 20 6f 6e 20 74 68 65 20 66  a limit on the f
2f10: 69 65 6c 64 73 20 74 68 61 74 20 63 61 6e 20 61  ields that can a
2f20: 70 70 65 61 72 0a 6f 6e 20 74 68 65 20 4a 20 63  ppear.on the J c
2f30: 61 72 64 73 2c 20 68 6f 77 65 76 65 72 2e 20 20  ards, however.  
2f40: 49 66 20 61 20 4a 20 63 61 72 64 20 73 70 65 63  If a J card spec
2f50: 69 66 69 65 73 20 61 20 66 69 65 6c 64 20 74 68  ifies a field th
2f60: 61 74 20 61 0a 70 61 72 74 69 63 75 6c 61 72 20  at a.particular 
2f70: 66 6f 73 73 69 6c 20 73 65 72 76 65 72 20 64 6f  fossil server do
2f80: 65 73 20 6e 6f 74 20 72 65 63 6f 67 6e 69 7a 65  es not recognize
2f90: 2c 20 74 68 65 6e 20 74 68 61 74 20 4a 20 63 61  , then that J ca
2fa0: 72 64 0a 69 73 20 73 69 6d 70 6c 79 20 69 67 6e  rd.is simply ign
2fb0: 6f 72 65 64 2e 3c 2f 70 3e 0a 0a 3c 70 3e 0a 54  ored.</p>..<p>.T
2fc0: 68 65 20 66 69 72 73 74 20 61 72 67 75 6d 65 6e  he first argumen
2fd0: 74 20 6f 66 20 74 68 65 20 4a 20 63 61 72 64 20  t of the J card 
2fe0: 69 73 20 74 68 65 20 66 69 65 6c 64 20 6e 61 6d  is the field nam
2ff0: 65 2e 20 20 54 68 65 20 73 65 63 6f 6e 64 0a 76  e.  The second.v
3000: 61 6c 75 65 20 69 73 20 74 68 65 20 66 69 65 6c  alue is the fiel
3010: 64 20 76 61 6c 75 65 2e 20 20 49 66 20 74 68 65  d value.  If the
3020: 20 66 69 65 6c 64 20 6e 61 6d 65 20 62 65 67 69   field name begi
3030: 6e 73 20 77 69 74 68 20 22 2b 22 20 74 68 65 6e  ns with "+" then
3040: 0a 74 68 65 20 76 61 6c 75 65 20 69 73 20 61 70  .the value is ap
3050: 70 65 6e 64 65 64 20 74 6f 20 74 68 65 20 70 72  pended to the pr
3060: 69 6f 72 20 76 61 6c 75 65 2e 20 20 4f 74 68 65  ior value.  Othe
3070: 72 77 69 73 65 2c 20 74 68 65 20 76 61 6c 75 65  rwise, the value
3080: 0a 6f 6e 20 74 68 65 20 4a 20 63 61 72 64 20 72  .on the J card r
3090: 65 70 6c 61 63 65 73 20 61 6e 79 20 70 72 65 76  eplaces any prev
30a0: 69 6f 75 73 20 76 61 6c 75 65 20 6f 66 20 74 68  ious value of th
30b0: 65 20 66 69 65 6c 64 2e 0a 54 68 65 20 66 69 65  e field..The fie
30c0: 6c 64 20 6e 61 6d 65 20 61 6e 64 20 76 61 6c 75  ld name and valu
30d0: 65 20 61 72 65 20 62 6f 74 68 20 65 6e 63 6f 64  e are both encod
30e0: 65 64 20 75 73 69 6e 67 20 74 68 65 20 63 68 61  ed using the cha
30f0: 72 61 63 74 65 72 0a 65 73 63 61 70 65 73 20 64  racter.escapes d
3100: 65 66 69 6e 65 64 20 66 6f 72 20 74 68 65 20 43  efined for the C
3110: 20 63 61 72 64 20 6f 66 20 61 20 6d 61 6e 69 66   card of a manif
3120: 65 73 74 2e 0a 3c 2f 70 3e 0a                    est..</p>.