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