Artifact e6fabaf4cd609390faaa92b631e3c0c2712adad5:
File
www/fileformat.wiki
part of check-in
[c664695186]
- Update the file format documentation.
by
drh on
2009-01-25 16:00:22.
0000: 3c 68 31 20 61 6c 69 67 6e 3d 22 63 65 6e 74 65 <h1 align="cente
0010: 72 22 3e 0a 46 6f 73 73 69 6c 20 46 69 6c 65 20 r">.Fossil File
0020: 46 6f 72 6d 61 74 73 0a 3c 2f 68 31 3e 0a 0a 3c Formats.</h1>..<
0030: 70 3e 54 68 65 20 67 6c 6f 62 61 6c 20 73 74 61 p>The global sta
0040: 74 65 20 6f 66 20 61 20 66 6f 73 73 69 6c 20 72 te of a fossil r
0050: 65 70 6f 73 69 74 6f 72 79 20 69 73 20 6b 65 70 epository is kep
0060: 74 20 73 69 6d 70 6c 65 20 73 6f 20 74 68 61 74 t simple so that
0070: 20 69 74 20 63 61 6e 0a 65 6e 64 75 72 65 20 69 it can.endure i
0080: 6e 20 75 73 65 66 75 6c 20 66 6f 72 6d 20 66 6f n useful form fo
0090: 72 20 64 65 63 61 64 65 73 20 6f 72 20 63 65 6e r decades or cen
00a0: 74 75 72 69 65 73 2e 20 0a 41 20 66 6f 73 73 69 turies. .A fossi
00b0: 6c 20 72 65 70 6f 73 69 74 6f 72 79 20 69 73 20 l repository is
00c0: 69 6e 74 65 6e 64 65 64 20 74 6f 20 62 65 20 72 intended to be r
00d0: 65 61 64 61 62 6c 65 2c 0a 73 65 61 72 63 68 61 eadable,.searcha
00e0: 62 6c 65 2c 20 61 6e 64 20 65 78 74 65 6e 73 69 ble, and extensi
00f0: 62 6c 65 20 62 79 20 70 65 6f 70 6c 65 20 6e 6f ble by people no
0100: 74 20 79 65 74 20 62 6f 72 6e 2e 3c 2f 70 3e 0a t yet born.</p>.
0110: 0a 3c 70 3e 0a 54 68 65 20 67 6c 6f 62 61 6c 20 .<p>.The global
0120: 73 74 61 74 65 20 6f 66 20 61 20 66 6f 73 73 69 state of a fossi
0130: 6c 20 72 65 70 6f 73 69 74 6f 72 79 20 69 73 20 l repository is
0140: 61 6e 20 75 6e 6f 72 64 65 72 65 64 0a 73 65 74 an unordered.set
0150: 20 6f 66 20 3c 69 3e 61 72 74 69 66 61 63 74 73 of <i>artifacts
0160: 3c 2f 69 3e 2e 0a 41 6e 20 61 72 74 69 66 61 63 </i>..An artifac
0170: 74 20 6d 69 67 68 74 20 62 65 20 61 20 73 6f 75 t might be a sou
0180: 72 63 65 20 63 6f 64 65 20 66 69 6c 65 2c 20 74 rce code file, t
0190: 68 65 20 74 65 78 74 20 6f 66 20 61 20 77 69 6b he text of a wik
01a0: 69 20 70 61 67 65 2c 0a 70 61 72 74 20 6f 66 20 i page,.part of
01b0: 61 20 74 72 6f 75 62 6c 65 20 74 69 63 6b 65 74 a trouble ticket
01c0: 2c 20 6f 72 20 6f 6e 65 20 6f 66 20 73 65 76 65 , or one of seve
01d0: 72 61 6c 20 73 70 65 63 69 61 6c 20 63 6f 6e 74 ral special cont
01e0: 72 6f 6c 20 61 72 74 69 66 61 63 74 73 0a 75 73 rol artifacts.us
01f0: 65 64 20 74 6f 20 73 68 6f 77 20 74 68 65 20 72 ed to show the r
0200: 65 6c 61 74 69 6f 6e 73 68 69 70 73 20 62 65 74 elationships bet
0210: 77 65 65 6e 20 6f 74 68 65 72 20 61 72 74 69 66 ween other artif
0220: 61 63 74 73 20 77 69 74 68 69 6e 20 74 68 65 0a acts within the.
0230: 70 72 6f 6a 65 63 74 2e 20 20 45 61 63 68 20 61 project. Each a
0240: 72 74 69 66 61 63 74 20 69 73 20 6e 6f 72 6d 61 rtifact is norma
0250: 6c 6c 79 20 72 65 70 72 65 73 65 6e 74 65 64 20 lly represented
0260: 6f 6e 20 64 69 73 6b 20 61 73 20 61 20 73 65 70 on disk as a sep
0270: 61 72 61 74 65 0a 66 69 6c 65 2e 20 20 41 72 74 arate.file. Art
0280: 69 66 61 63 74 73 20 63 61 6e 20 62 65 20 74 65 ifacts can be te
0290: 78 74 20 6f 72 20 62 69 6e 61 72 79 2e 0a 3c 2f xt or binary..</
02a0: 70 3e 0a 0a 3c 70 3e 0a 49 6e 20 61 64 64 69 74 p>..<p>.In addit
02b0: 69 6f 6e 20 74 6f 20 74 68 65 20 67 6c 6f 62 61 ion to the globa
02c0: 6c 20 73 74 61 74 65 2c 20 0a 65 61 63 68 20 66 l state, .each f
02d0: 6f 73 73 69 6c 20 72 65 70 6f 73 69 74 6f 72 79 ossil repository
02e0: 20 61 6c 73 6f 20 63 6f 6e 74 61 69 6e 73 20 6c also contains l
02f0: 6f 63 61 6c 20 73 74 61 74 65 2e 0a 54 68 65 20 ocal state..The
0300: 6c 6f 63 61 6c 20 73 74 61 74 65 20 63 6f 6e 73 local state cons
0310: 69 73 74 73 20 6f 66 20 77 65 62 2d 70 61 67 65 ists of web-page
0320: 20 66 6f 72 6d 61 74 74 69 6e 67 0a 70 72 65 66 formatting.pref
0330: 65 72 65 6e 63 65 73 2c 20 61 75 74 68 6f 72 69 erences, authori
0340: 7a 65 64 20 75 73 65 72 73 2c 20 74 69 63 6b 65 zed users, ticke
0350: 74 20 64 69 73 70 6c 61 79 20 61 6e 64 20 72 65 t display and re
0360: 70 6f 72 74 69 6e 67 20 66 6f 72 6d 61 74 73 2c porting formats,
0370: 0a 61 6e 64 20 73 6f 20 66 6f 72 74 68 2e 20 20 .and so forth.
0380: 54 68 65 20 67 6c 6f 62 61 6c 20 73 74 61 74 65 The global state
0390: 20 69 73 20 73 68 61 72 65 64 20 69 6e 20 63 6f is shared in co
03a0: 6d 6d 6f 6e 20 61 6d 6f 6e 67 20 61 6c 6c 0a 72 mmon among all.r
03b0: 65 70 6f 73 69 74 6f 72 69 65 73 20 66 6f 72 20 epositories for
03c0: 74 68 65 20 73 61 6d 65 20 70 72 6f 6a 65 63 74 the same project
03d0: 2c 20 77 68 65 72 65 61 73 20 74 68 65 20 6c 6f , whereas the lo
03e0: 63 61 6c 20 73 74 61 74 65 20 69 73 20 6f 66 74 cal state is oft
03f0: 65 6e 0a 64 69 66 66 65 72 65 6e 74 20 69 6e 20 en.different in
0400: 73 65 70 61 72 61 74 65 20 72 65 70 6f 73 69 74 separate reposit
0410: 6f 72 69 65 73 2e 0a 54 68 65 20 6c 6f 63 61 6c ories..The local
0420: 20 73 74 61 74 65 20 69 73 20 6e 6f 74 20 76 65 state is not ve
0430: 72 73 69 6f 6e 65 64 20 61 6e 64 20 69 73 20 6e rsioned and is n
0440: 6f 74 20 73 79 6e 63 68 72 6f 6e 69 7a 65 64 0a ot synchronized.
0450: 77 69 74 68 20 74 68 65 20 67 6c 6f 62 61 6c 20 with the global
0460: 73 74 61 74 65 2e 0a 54 68 65 20 6c 6f 63 61 6c state..The local
0470: 20 73 74 61 74 65 20 69 73 20 6e 6f 74 20 63 6f state is not co
0480: 6d 70 6f 73 65 64 20 6f 66 20 61 72 74 69 66 61 mposed of artifa
0490: 63 74 73 20 61 6e 64 20 69 73 20 6e 6f 74 20 69 cts and is not i
04a0: 6e 74 65 6e 64 65 64 20 74 6f 20 62 65 20 65 6e ntended to be en
04b0: 64 75 72 69 6e 67 2e 0a 54 68 69 73 20 64 6f 63 during..This doc
04c0: 75 6d 65 6e 74 20 69 73 20 63 6f 6e 63 65 72 6e ument is concern
04d0: 65 64 20 77 69 74 68 20 67 6c 6f 62 61 6c 20 73 ed with global s
04e0: 74 61 74 65 20 6f 6e 6c 79 2e 20 20 4c 6f 63 61 tate only. Loca
04f0: 6c 20 73 74 61 74 65 20 69 73 20 6f 6e 6c 79 0a l state is only.
0500: 6d 65 6e 74 69 6f 6e 65 64 20 68 65 72 65 20 69 mentioned here i
0510: 6e 20 6f 72 64 65 72 20 74 6f 20 64 69 73 74 69 n order to disti
0520: 6e 67 75 69 73 68 20 69 74 20 66 72 6f 6d 20 67 nguish it from g
0530: 6c 6f 62 61 6c 20 73 74 61 74 65 2e 0a 3c 2f 70 lobal state..</p
0540: 3e 0a 0a 3c 70 3e 0a 45 61 63 68 20 61 72 74 69 >..<p>.Each arti
0550: 66 61 63 74 20 69 6e 20 74 68 65 20 72 65 70 6f fact in the repo
0560: 73 69 74 6f 72 79 20 69 73 20 6e 61 6d 65 64 20 sitory is named
0570: 62 79 20 69 74 73 20 53 48 41 31 20 68 61 73 68 by its SHA1 hash
0580: 2e 0a 4e 6f 20 70 72 65 66 69 78 65 73 20 6f 72 ..No prefixes or
0590: 20 6d 65 74 61 20 69 6e 66 6f 72 6d 61 74 69 6f meta informatio
05a0: 6e 20 69 73 20 61 64 64 65 64 20 74 6f 20 61 20 n is added to a
05b0: 61 72 74 69 66 61 63 74 20 62 65 66 6f 72 65 0a artifact before.
05c0: 69 74 73 20 68 61 73 68 20 69 73 20 63 6f 6d 70 its hash is comp
05d0: 75 74 65 64 2e 20 20 54 68 65 20 6e 61 6d 65 20 uted. The name
05e0: 6f 66 20 61 20 61 72 74 69 66 61 63 74 20 69 6e of a artifact in
05f0: 20 74 68 65 20 72 65 70 6f 73 69 74 6f 72 79 0a the repository.
0600: 69 73 20 65 78 61 63 74 6c 79 20 74 68 65 20 73 is exactly the s
0610: 61 6d 65 20 53 48 41 31 20 68 61 73 68 20 74 68 ame SHA1 hash th
0620: 61 74 20 69 73 20 63 6f 6d 70 75 74 65 64 20 62 at is computed b
0630: 79 20 73 68 61 31 73 75 6d 20 0a 6f 6e 20 74 68 y sha1sum .on th
0640: 65 20 66 69 6c 65 20 61 73 20 69 74 20 65 78 69 e file as it exi
0650: 73 74 73 20 69 6e 20 79 6f 75 72 20 73 6f 75 72 sts in your sour
0660: 63 65 20 74 72 65 65 2e 3c 2f 70 3e 0a 0a 3c 70 ce tree.</p>..<p
0670: 3e 0a 53 6f 6d 65 20 61 72 74 69 66 61 63 74 73 >.Some artifacts
0680: 20 68 61 76 65 20 61 20 70 61 72 74 69 63 75 6c have a particul
0690: 61 72 20 66 6f 72 6d 61 74 20 77 68 69 63 68 20 ar format which
06a0: 67 69 76 65 73 20 74 68 65 6d 20 73 70 65 63 69 gives them speci
06b0: 61 6c 0a 6d 65 61 6e 69 6e 67 20 74 6f 20 66 6f al.meaning to fo
06c0: 73 73 69 6c 2e 20 20 46 6f 73 73 69 6c 20 72 65 ssil. Fossil re
06d0: 63 6f 67 6e 69 7a 65 73 3a 3c 2f 70 3e 0a 0a 3c cognizes:</p>..<
06e0: 75 6c 3e 0a 3c 6c 69 3e 20 4d 61 6e 69 66 65 73 ul>.<li> Manifes
06f0: 74 73 20 3c 2f 6c 69 3e 0a 3c 6c 69 3e 20 43 6c ts </li>.<li> Cl
0700: 75 73 74 65 72 73 20 3c 2f 6c 69 3e 0a 3c 6c 69 usters </li>.<li
0710: 3e 20 43 6f 6e 74 72 6f 6c 20 41 72 74 69 66 61 > Control Artifa
0720: 63 74 73 20 3c 2f 6c 69 3e 0a 3c 6c 69 3e 20 57 cts </li>.<li> W
0730: 69 6b 69 20 50 61 67 65 73 20 3c 2f 6c 69 3e 0a iki Pages </li>.
0740: 3c 6c 69 3e 20 54 69 63 6b 65 74 20 43 68 61 6e <li> Ticket Chan
0750: 67 65 73 20 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a ges </li>.</ul>.
0760: 0a 3c 70 3e 54 68 65 73 65 20 66 69 76 65 20 61 .<p>These five a
0770: 72 74 69 66 61 63 74 20 74 79 70 65 73 20 61 72 rtifact types ar
0780: 65 20 64 65 73 63 72 69 62 65 64 20 69 6e 20 74 e described in t
0790: 68 65 20 73 65 71 75 65 6c 2e 3c 2f 70 3e 0a 0a he sequel.</p>..
07a0: 3c 70 3e 49 6e 20 74 68 65 20 63 75 72 72 65 6e <p>In the curren
07b0: 74 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e t implementation
07c0: 20 28 61 73 20 6f 66 20 32 30 30 39 2d 30 31 2d (as of 2009-01-
07d0: 32 35 29 20 74 68 65 20 61 72 74 69 66 61 63 74 25) the artifact
07e0: 73 20 74 68 61 74 0a 6d 61 6b 65 20 75 70 20 61 s that.make up a
07f0: 20 66 6f 73 73 69 6c 20 72 65 70 6f 73 69 74 6f fossil reposito
0800: 72 79 20 61 72 65 20 73 74 6f 72 65 64 20 69 6e ry are stored in
0810: 20 69 6e 20 61 73 20 64 65 6c 74 61 2d 20 61 6e in as delta- an
0820: 64 20 7a 6c 69 62 2d 63 6f 6d 70 72 65 73 73 65 d zlib-compresse
0830: 64 0a 62 6c 6f 62 73 20 69 6e 20 61 6e 20 3c 61 d.blobs in an <a
0840: 20 68 72 65 66 3d 22 68 74 74 70 3a 2f 2f 77 77 href="http://ww
0850: 77 2e 73 71 6c 69 74 65 2e 6f 72 67 2f 22 3e 53 w.sqlite.org/">S
0860: 51 4c 69 74 65 3c 2f 61 3e 20 64 61 74 61 62 61 QLite</a> databa
0870: 73 65 2e 20 20 54 68 69 73 0a 69 73 20 61 6e 20 se. This.is an
0880: 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 64 implementation d
0890: 65 74 61 69 6c 20 61 6e 64 20 6d 69 67 68 74 20 etail and might
08a0: 63 68 61 6e 67 65 20 69 6e 20 61 20 66 75 74 75 change in a futu
08b0: 72 65 20 72 65 6c 65 61 73 65 2e 20 20 46 6f 72 re release. For
08c0: 0a 74 68 65 20 70 75 72 70 6f 73 65 20 6f 66 20 .the purpose of
08d0: 74 68 69 73 20 61 72 74 69 63 6c 65 20 22 66 69 this article "fi
08e0: 6c 65 20 66 6f 72 6d 61 74 22 20 6d 65 61 6e 73 le format" means
08f0: 20 74 68 65 20 66 6f 72 6d 61 74 20 6f 66 20 74 the format of t
0900: 68 65 20 61 72 74 69 66 61 63 74 73 2c 0a 6e 6f he artifacts,.no
0910: 74 20 68 6f 77 20 74 68 65 20 61 72 74 69 66 61 t how the artifa
0920: 63 74 73 20 61 72 65 20 73 74 6f 72 65 64 20 6f cts are stored o
0930: 6e 20 64 69 73 6b 2e 20 20 49 74 20 69 73 20 74 n disk. It is t
0940: 68 65 20 61 72 74 69 66 61 63 74 20 66 6f 72 6d he artifact form
0950: 61 74 20 74 68 61 74 0a 69 73 20 69 6e 74 65 6e at that.is inten
0960: 64 65 64 20 74 6f 20 62 65 20 65 6e 64 75 72 69 ded to be enduri
0970: 6e 67 2e 20 20 54 68 65 20 73 70 65 63 69 66 69 ng. The specifi
0980: 63 73 20 6f 66 20 68 6f 77 20 61 72 74 69 66 61 cs of how artifa
0990: 63 74 73 20 61 72 65 20 73 74 6f 72 65 64 20 6f cts are stored o
09a0: 6e 0a 64 69 73 6b 2c 20 74 68 6f 75 67 68 20 73 n.disk, though s
09b0: 74 61 62 6c 65 2c 20 69 73 20 6e 6f 74 20 69 6e table, is not in
09c0: 74 65 6e 64 65 64 20 74 6f 20 6c 69 76 65 20 61 tended to live a
09d0: 73 20 6c 6f 6e 67 20 61 73 20 74 68 65 0a 61 72 s long as the.ar
09e0: 74 69 66 61 63 74 20 66 6f 72 6d 61 74 2e 3c 2f tifact format.</
09f0: 70 3e 0a 0a 3c 68 32 3e 31 2e 30 20 54 68 65 20 p>..<h2>1.0 The
0a00: 4d 61 6e 69 66 65 73 74 3c 2f 68 32 3e 0a 0a 3c Manifest</h2>..<
0a10: 70 3e 41 20 6d 61 6e 69 66 65 73 74 20 64 65 66 p>A manifest def
0a20: 69 6e 65 73 20 61 20 63 68 65 63 6b 2d 69 6e 20 ines a check-in
0a30: 6f 72 20 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 or version of th
0a40: 65 20 70 72 6f 6a 65 63 74 0a 73 6f 75 72 63 65 e project.source
0a50: 20 74 72 65 65 2e 20 20 54 68 65 20 6d 61 6e 69 tree. The mani
0a60: 66 65 73 74 20 63 6f 6e 74 61 69 6e 73 20 61 20 fest contains a
0a70: 6c 69 73 74 20 6f 66 20 61 72 74 69 66 61 63 74 list of artifact
0a80: 73 20 66 6f 72 0a 65 61 63 68 20 66 69 6c 65 20 s for.each file
0a90: 69 6e 20 74 68 65 20 70 72 6f 6a 65 63 74 20 61 in the project a
0aa0: 6e 64 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e nd the correspon
0ab0: 64 69 6e 67 20 66 69 6c 65 6e 61 6d 65 73 2c 20 ding filenames,
0ac0: 61 73 0a 77 65 6c 6c 20 61 73 20 69 6e 66 6f 72 as.well as infor
0ad0: 6d 61 74 69 6f 6e 20 73 75 63 68 20 61 73 20 70 mation such as p
0ae0: 61 72 65 6e 74 20 63 68 65 63 6b 2d 69 6e 73 2c arent check-ins,
0af0: 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 the name of the
0b00: 0a 70 72 6f 67 72 61 6d 6d 65 72 20 77 68 6f 20 .programmer who
0b10: 63 72 65 61 74 65 64 20 74 68 65 20 63 68 65 63 created the chec
0b20: 6b 2d 69 6e 2c 20 74 68 65 20 64 61 74 65 20 61 k-in, the date a
0b30: 6e 64 20 74 69 6d 65 20 77 68 65 6e 0a 74 68 65 nd time when.the
0b40: 20 63 68 65 63 6b 2d 69 6e 20 77 61 73 20 63 72 check-in was cr
0b50: 65 61 74 65 64 2c 20 61 6e 64 20 61 6e 79 20 63 eated, and any c
0b60: 68 65 63 6b 2d 69 6e 20 63 6f 6d 6d 65 6e 74 73 heck-in comments
0b70: 20 61 73 73 6f 63 69 61 74 65 64 0a 77 69 74 68 associated.with
0b80: 20 74 68 65 20 63 68 65 63 6b 2d 69 6e 2e 3c 2f the check-in.</
0b90: 70 3e 0a 0a 3c 70 3e 0a 41 6e 79 20 61 72 74 69 p>..<p>.Any arti
0ba0: 66 61 63 74 20 69 6e 20 74 68 65 20 72 65 70 6f fact in the repo
0bb0: 73 69 74 6f 72 79 20 74 68 61 74 20 66 6f 6c 6c sitory that foll
0bc0: 6f 77 73 20 74 68 65 20 73 79 6e 74 61 63 74 69 ows the syntacti
0bd0: 63 20 72 75 6c 65 73 0a 6f 66 20 61 20 6d 61 6e c rules.of a man
0be0: 69 66 65 73 74 20 69 73 20 61 20 6d 61 6e 69 66 ifest is a manif
0bf0: 65 73 74 2e 20 20 4e 6f 74 65 20 74 68 61 74 20 est. Note that
0c00: 61 20 6d 61 6e 69 66 65 73 74 20 63 61 6e 0a 62 a manifest can.b
0c10: 65 20 62 6f 74 68 20 61 20 72 65 61 6c 20 6d 61 e both a real ma
0c20: 6e 69 66 65 73 74 20 61 6e 64 20 61 6c 73 6f 20 nifest and also
0c30: 61 20 63 6f 6e 74 65 6e 74 20 66 69 6c 65 2c 20 a content file,
0c40: 74 68 6f 75 67 68 20 74 68 69 73 0a 69 73 20 72 though this.is r
0c50: 61 72 65 2e 0a 3c 2f 70 3e 0a 0a 3c 70 3e 0a 41 are..</p>..<p>.A
0c60: 20 6d 61 6e 69 66 65 73 74 20 69 73 20 61 20 74 manifest is a t
0c70: 65 78 74 20 66 69 6c 65 2e 20 20 4e 65 77 6c 69 ext file. Newli
0c80: 6e 65 20 63 68 61 72 61 63 74 65 72 73 0a 28 41 ne characters.(A
0c90: 53 43 49 49 20 30 78 30 61 29 20 73 65 70 61 72 SCII 0x0a) separ
0ca0: 61 74 65 20 74 68 65 20 66 69 6c 65 20 69 6e 74 ate the file int
0cb0: 6f 20 22 63 61 72 64 73 22 2e 0a 45 61 63 68 20 o "cards"..Each
0cc0: 63 61 72 64 20 62 65 67 69 6e 73 20 77 69 74 68 card begins with
0cd0: 20 61 20 73 69 6e 67 6c 65 0a 63 68 61 72 61 63 a single.charac
0ce0: 74 65 72 20 22 63 61 72 64 20 74 79 70 65 22 2e ter "card type".
0cf0: 20 20 5a 65 72 6f 20 6f 72 20 6d 6f 72 65 20 61 Zero or more a
0d00: 72 67 75 6d 65 6e 74 73 20 6d 61 79 20 66 6f 6c rguments may fol
0d10: 6c 6f 77 0a 74 68 65 20 63 61 72 64 20 74 79 70 low.the card typ
0d20: 65 2e 20 20 41 6c 6c 20 61 72 67 75 6d 65 6e 74 e. All argument
0d30: 73 20 61 72 65 20 73 65 70 61 72 61 74 65 64 20 s are separated
0d40: 66 72 6f 6d 20 65 61 63 68 20 6f 74 68 65 72 0a from each other.
0d50: 61 6e 64 20 66 72 6f 6d 20 74 68 65 20 63 61 72 and from the car
0d60: 64 2d 74 79 70 65 20 63 68 61 72 61 63 74 65 72 d-type character
0d70: 20 62 79 20 61 20 73 69 6e 67 6c 65 20 73 70 61 by a single spa
0d80: 63 65 0a 63 68 61 72 61 63 74 65 72 2e 20 20 54 ce.character. T
0d90: 68 65 72 65 20 69 73 20 6e 6f 20 73 75 72 70 6c here is no surpl
0da0: 75 73 20 77 68 69 74 65 20 73 70 61 63 65 20 62 us white space b
0db0: 65 74 77 65 65 6e 20 61 72 67 75 6d 65 6e 74 73 etween arguments
0dc0: 0a 61 6e 64 20 6e 6f 20 6c 65 61 64 69 6e 67 20 .and no leading
0dd0: 6f 72 20 74 72 61 69 6c 69 6e 67 20 77 68 69 74 or trailing whit
0de0: 65 73 70 61 63 65 20 65 78 63 65 70 74 20 66 6f espace except fo
0df0: 72 20 74 68 65 20 6e 65 77 6c 69 6e 65 20 0a 63 r the newline .c
0e00: 68 61 72 61 63 74 65 72 20 74 68 61 74 20 61 63 haracter that ac
0e10: 74 73 20 61 73 20 74 68 65 20 63 61 72 64 20 73 ts as the card s
0e20: 65 70 61 72 61 74 6f 72 2e 0a 3c 2f 70 3e 0a 0a eparator..</p>..
0e30: 3c 70 3e 0a 41 6c 6c 20 63 61 72 64 73 20 6f 66 <p>.All cards of
0e40: 20 74 68 65 20 6d 61 6e 69 66 65 73 74 20 6f 63 the manifest oc
0e50: 63 75 72 20 69 6e 20 73 74 72 69 63 74 20 73 6f cur in strict so
0e60: 72 74 65 64 20 6c 65 78 69 63 6f 67 72 61 70 68 rted lexicograph
0e70: 69 63 61 6c 20 6f 72 64 65 72 2e 0a 4e 6f 20 63 ical order..No c
0e80: 61 72 64 20 6d 61 79 20 62 65 20 64 75 70 6c 69 ard may be dupli
0e90: 63 61 74 65 64 2e 0a 54 68 65 20 65 6e 74 69 72 cated..The entir
0ea0: 65 20 6d 61 6e 69 66 65 73 74 20 6d 61 79 20 62 e manifest may b
0eb0: 65 20 50 47 50 20 63 6c 65 61 72 2d 73 69 67 6e e PGP clear-sign
0ec0: 65 64 2c 20 62 75 74 20 6f 74 68 65 72 77 69 73 ed, but otherwis
0ed0: 65 20 69 74 0a 6d 61 79 20 63 6f 6e 74 61 69 6e e it.may contain
0ee0: 20 6e 6f 20 61 64 64 69 74 69 6f 6e 61 6c 20 74 no additional t
0ef0: 65 78 74 20 6f 72 20 64 61 74 61 20 62 65 79 6f ext or data beyo
0f00: 6e 64 20 77 68 61 74 20 69 73 20 64 65 73 63 72 nd what is descr
0f10: 69 62 65 64 20 68 65 72 65 2e 0a 3c 2f 70 3e 0a ibed here..</p>.
0f20: 0a 3c 70 3e 0a 41 6c 6c 6f 77 65 64 20 63 61 72 .<p>.Allowed car
0f30: 64 73 20 69 6e 20 74 68 65 20 6d 61 6e 69 66 65 ds in the manife
0f40: 73 74 20 61 72 65 20 61 73 20 66 6f 6c 6c 6f 77 st are as follow
0f50: 73 3a 0a 3c 2f 70 3e 0a 0a 3c 62 6c 6f 63 6b 71 s:.</p>..<blockq
0f60: 75 6f 74 65 3e 0a 3c 62 3e 43 3c 2f 62 3e 20 3c uote>.<b>C</b> <
0f70: 69 3e 63 68 65 63 6b 69 6e 2d 63 6f 6d 6d 65 6e i>checkin-commen
0f80: 74 3c 2f 69 3e 3c 62 72 3e 0a 3c 62 3e 44 3c 2f t</i><br>.<b>D</
0f90: 62 3e 20 3c 69 3e 74 69 6d 65 2d 61 6e 64 2d 64 b> <i>time-and-d
0fa0: 61 74 65 2d 73 74 61 6d 70 3c 2f 69 3e 3c 62 72 ate-stamp</i><br
0fb0: 3e 0a 3c 62 3e 46 3c 2f 62 3e 20 3c 69 3e 66 69 >.<b>F</b> <i>fi
0fc0: 6c 65 6e 61 6d 65 3c 2f 69 3e 20 3c 69 3e 53 48 lename</i> <i>SH
0fd0: 41 31 2d 68 61 73 68 3c 2f 69 3e 20 3c 69 3e 70 A1-hash</i> <i>p
0fe0: 65 72 6d 69 73 73 69 6f 6e 73 3c 2f 69 3e 20 3c ermissions</i> <
0ff0: 69 3e 6f 6c 64 2d 6e 61 6d 65 3c 2f 69 3e 3c 62 i>old-name</i><b
1000: 72 3e 0a 3c 62 3e 50 3c 2f 62 3e 20 3c 69 3e 53 r>.<b>P</b> <i>S
1010: 48 41 31 2d 68 61 73 68 3c 2f 69 3e 2b 3c 62 72 HA1-hash</i>+<br
1020: 3e 0a 3c 62 3e 52 3c 2f 62 3e 20 3c 69 3e 72 65 >.<b>R</b> <i>re
1030: 70 6f 73 69 74 6f 72 79 2d 63 68 65 63 6b 73 75 pository-checksu
1040: 6d 3c 2f 69 3e 3c 62 72 3e 0a 3c 62 3e 54 3c 2f m</i><br>.<b>T</
1050: 62 3e 20 28 3c 62 3e 2b 3c 2f 62 3e 7c 3c 62 3e b> (<b>+</b>|<b>
1060: 2d 3c 2f 62 3e 7c 3c 62 3e 2a 3c 2f 62 3e 29 3c -</b>|<b>*</b>)<
1070: 69 3e 74 61 67 2d 6e 61 6d 65 20 20 3c 62 3e 2a i>tag-name <b>*
1080: 3c 2f 62 3e 20 3f 76 61 6c 75 65 3f 3c 2f 69 3e </b> ?value?</i>
1090: 3c 62 72 3e 0a 3c 62 3e 55 3c 2f 62 3e 20 3c 69 <br>.<b>U</b> <i
10a0: 3e 75 73 65 72 2d 6c 6f 67 69 6e 3c 2f 69 3e 3c >user-login</i><
10b0: 62 72 3e 0a 3c 62 3e 5a 3c 2f 62 3e 20 3c 69 3e br>.<b>Z</b> <i>
10c0: 6d 61 6e 69 66 65 73 74 2d 63 68 65 63 6b 73 75 manifest-checksu
10d0: 6d 3c 2f 69 3e 0a 3c 2f 62 6c 6f 63 6b 71 75 6f m</i>.</blockquo
10e0: 74 65 3e 0a 0a 3c 70 3e 0a 41 20 6d 61 6e 69 66 te>..<p>.A manif
10f0: 65 73 74 20 6d 75 73 74 20 68 61 76 65 20 65 78 est must have ex
1100: 61 63 74 6c 79 20 6f 6e 65 20 43 2d 63 61 72 64 actly one C-card
1110: 2e 20 20 54 68 65 20 73 6f 6c 65 20 61 72 67 75 . The sole argu
1120: 6d 65 6e 74 20 74 6f 0a 74 68 65 20 43 2d 63 61 ment to.the C-ca
1130: 72 64 20 69 73 20 61 20 63 68 65 63 6b 2d 69 6e rd is a check-in
1140: 20 63 6f 6d 6d 65 6e 74 20 74 68 61 74 20 64 65 comment that de
1150: 73 63 72 69 62 65 73 20 74 68 65 20 63 68 65 63 scribes the chec
1160: 6b 2d 69 6e 20 74 68 61 74 0a 74 68 65 20 6d 61 k-in that.the ma
1170: 6e 69 66 65 73 74 20 64 65 66 69 6e 65 73 2e 20 nifest defines.
1180: 20 54 68 65 20 63 68 65 63 6b 2d 69 6e 20 63 6f The check-in co
1190: 6d 6d 65 6e 74 20 69 73 20 74 65 78 74 2e 20 20 mment is text.
11a0: 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 0a 65 73 The following.es
11b0: 63 61 70 65 20 73 65 71 75 65 6e 63 65 73 20 61 cape sequences a
11c0: 72 65 20 61 70 70 6c 69 65 64 20 74 6f 20 74 68 re applied to th
11d0: 65 20 74 65 78 74 3a 0a 41 20 73 70 61 63 65 20 e text:.A space
11e0: 28 41 53 43 49 49 20 30 78 32 30 29 20 69 73 20 (ASCII 0x20) is
11f0: 72 65 70 72 65 73 65 6e 74 65 64 20 61 73 20 22 represented as "
1200: 5c 73 22 20 28 41 53 43 49 49 20 30 78 35 43 2c \s" (ASCII 0x5C,
1210: 20 30 78 37 33 29 2e 20 20 41 0a 6e 65 77 6c 69 0x73). A.newli
1220: 6e 65 20 28 41 53 43 49 49 20 30 78 30 61 29 20 ne (ASCII 0x0a)
1230: 69 73 20 22 5c 6e 22 20 28 41 53 43 49 49 20 30 is "\n" (ASCII 0
1240: 78 36 43 2c 20 78 36 45 29 2e 20 20 41 20 62 61 x6C, x6E). A ba
1250: 63 6b 73 6c 61 73 68 20 0a 28 41 53 43 49 49 20 ckslash .(ASCII
1260: 30 78 35 43 29 20 69 73 20 72 65 70 72 65 73 65 0x5C) is represe
1270: 6e 74 65 64 20 61 73 20 74 77 6f 20 62 61 63 6b nted as two back
1280: 73 6c 61 73 68 65 73 20 22 5c 5c 22 2e 20 20 41 slashes "\\". A
1290: 70 61 72 74 20 66 72 6f 6d 0a 73 70 61 63 65 20 part from.space
12a0: 61 6e 64 20 6e 65 77 6c 69 6e 65 2c 20 6e 6f 20 and newline, no
12b0: 6f 74 68 65 72 20 77 68 69 74 65 73 70 61 63 65 other whitespace
12c0: 20 63 68 61 72 61 63 74 65 72 73 20 61 72 65 20 characters are
12d0: 61 6c 6c 6f 77 65 64 20 69 6e 0a 74 68 65 20 63 allowed in.the c
12e0: 68 65 63 6b 2d 69 6e 20 63 6f 6d 6d 65 6e 74 2e heck-in comment.
12f0: 20 20 4e 6f 72 20 61 72 65 20 61 6e 79 20 75 6e Nor are any un
1300: 70 72 69 6e 74 61 62 6c 65 20 63 68 61 72 61 63 printable charac
1310: 74 65 72 73 20 61 6c 6c 6f 77 65 64 0a 69 6e 20 ters allowed.in
1320: 74 68 65 20 63 6f 6d 6d 65 6e 74 2e 0a 3c 2f 70 the comment..</p
1330: 3e 0a 0a 3c 70 3e 0a 41 20 6d 61 6e 69 66 65 73 >..<p>.A manifes
1340: 74 20 6d 75 73 74 20 68 61 76 65 20 65 78 61 63 t must have exac
1350: 74 6c 79 20 6f 6e 65 20 44 2d 63 61 72 64 2e 20 tly one D-card.
1360: 20 54 68 65 20 73 6f 6c 65 20 61 72 67 75 6d 65 The sole argume
1370: 6e 74 20 74 6f 0a 74 68 65 20 44 2d 63 61 72 64 nt to.the D-card
1380: 20 69 73 20 61 20 64 61 74 65 2d 74 69 6d 65 20 is a date-time
1390: 73 74 61 6d 70 20 69 6e 20 74 68 65 20 49 53 4f stamp in the ISO
13a0: 38 36 30 31 20 66 6f 72 6d 61 74 2e 20 20 54 68 8601 format. Th
13b0: 65 0a 64 61 74 65 20 61 6e 64 20 74 69 6d 65 20 e.date and time
13c0: 73 68 6f 75 6c 64 20 62 65 20 69 6e 20 63 6f 6f should be in coo
13d0: 72 64 69 6e 61 74 65 64 20 75 6e 69 76 65 72 73 rdinated univers
13e0: 61 6c 20 74 69 6d 65 20 28 55 54 43 29 2e 0a 54 al time (UTC)..T
13f0: 68 65 20 66 6f 72 6d 61 74 20 69 73 3a 0a 3c 2f he format is:.</
1400: 70 3e 0a 0a 3c 62 6c 6f 63 6b 71 75 6f 74 65 3e p>..<blockquote>
1410: 0a 3c 69 3e 59 59 59 59 3c 2f 69 3e 3c 62 3e 2d .<i>YYYY</i><b>-
1420: 3c 2f 62 3e 3c 69 3e 4d 4d 3c 2f 69 3e 3c 62 3e </b><i>MM</i><b>
1430: 2d 3c 2f 62 3e 3c 69 3e 44 44 3c 2f 69 3e 3c 62 -</b><i>DD</i><b
1440: 3e 54 3c 2f 62 3e 3c 69 3e 48 48 3c 2f 69 3e 3c >T</b><i>HH</i><
1450: 62 3e 3a 3c 2f 62 3e 3c 69 3e 4d 4d 3c 2f 69 3e b>:</b><i>MM</i>
1460: 3c 62 3e 3a 3c 2f 62 3e 3c 69 3e 53 53 3c 2f 69 <b>:</b><i>SS</i
1470: 3e 0a 3c 2f 62 6c 6f 63 6b 71 75 6f 74 65 3e 0a >.</blockquote>.
1480: 0a 3c 70 3e 0a 41 20 6d 61 6e 69 66 65 73 74 20 .<p>.A manifest
1490: 68 61 73 20 7a 65 72 6f 20 6f 72 20 6d 6f 72 65 has zero or more
14a0: 20 46 2d 63 61 72 64 73 2e 20 20 45 61 63 68 20 F-cards. Each
14b0: 46 2d 63 61 72 64 20 64 65 66 69 6e 65 73 20 61 F-card defines a
14c0: 20 66 69 6c 65 0a 28 6f 74 68 65 72 20 74 68 61 file.(other tha
14d0: 6e 20 74 68 65 20 6d 61 6e 69 66 65 73 74 20 69 n the manifest i
14e0: 74 73 65 6c 66 29 20 77 68 69 63 68 20 69 73 20 tself) which is
14f0: 70 61 72 74 20 6f 66 20 74 68 65 20 63 68 65 63 part of the chec
1500: 6b 2d 69 6e 20 74 68 61 74 0a 74 68 65 20 6d 61 k-in that.the ma
1510: 6e 69 66 65 73 74 20 64 65 66 69 6e 65 73 2e 20 nifest defines.
1520: 20 54 68 65 72 65 20 61 72 65 20 74 77 6f 2c 20 There are two,
1530: 74 68 72 65 65 2c 20 6f 72 20 74 68 72 65 65 20 three, or three
1540: 61 72 67 75 6d 65 6e 74 73 2e 0a 54 68 65 20 66 arguments..The f
1550: 69 72 73 74 20 61 72 67 75 6d 65 6e 74 0a 69 73 irst argument.is
1560: 20 74 68 65 20 70 61 74 68 6e 61 6d 65 20 6f 66 the pathname of
1570: 20 74 68 65 20 66 69 6c 65 20 69 6e 20 74 68 65 the file in the
1580: 20 63 68 65 63 6b 2d 69 6e 20 72 65 6c 61 74 69 check-in relati
1590: 76 65 20 74 6f 20 74 68 65 20 72 6f 6f 74 0a 6f ve to the root.o
15a0: 66 20 74 68 65 20 70 72 6f 6a 65 63 74 20 66 69 f the project fi
15b0: 6c 65 20 68 69 65 72 61 72 63 68 79 2e 20 20 4e le hierarchy. N
15c0: 6f 20 22 2e 2e 22 20 6f 72 20 22 2e 22 20 64 69 o ".." or "." di
15d0: 72 65 63 74 6f 72 69 65 73 20 61 72 65 20 61 6c rectories are al
15e0: 6c 6f 77 65 64 0a 77 69 74 68 69 6e 20 74 68 65 lowed.within the
15f0: 20 66 69 6c 65 6e 61 6d 65 2e 20 20 53 70 61 63 filename. Spac
1600: 65 20 63 68 61 72 61 63 74 65 72 73 20 61 72 65 e characters are
1610: 20 65 73 63 61 70 65 64 20 61 73 20 69 6e 20 43 escaped as in C
1620: 2d 63 61 72 64 0a 63 6f 6d 6d 65 6e 74 20 74 65 -card.comment te
1630: 78 74 2e 20 20 42 61 63 6b 73 6c 61 73 68 20 63 xt. Backslash c
1640: 68 61 72 61 63 74 65 72 73 20 61 6e 64 20 6e 65 haracters and ne
1650: 77 6c 69 6e 65 73 20 61 72 65 20 6e 6f 74 20 61 wlines are not a
1660: 6c 6c 6f 77 65 64 0a 77 69 74 68 69 6e 20 66 69 llowed.within fi
1670: 6c 65 6e 61 6d 65 73 2e 20 20 54 68 65 20 64 69 lenames. The di
1680: 72 65 63 74 6f 72 79 20 73 65 70 61 72 61 74 6f rectory separato
1690: 72 20 63 68 61 72 61 63 74 65 72 20 69 73 20 61 r character is a
16a0: 20 66 6f 72 77 61 72 64 0a 73 6c 61 73 68 20 28 forward.slash (
16b0: 41 53 43 49 49 20 30 78 32 46 29 2e 20 20 54 68 ASCII 0x2F). Th
16c0: 65 20 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e e second argumen
16d0: 74 20 74 6f 20 74 68 65 20 46 2d 63 61 72 64 20 t to the F-card
16e0: 69 73 20 74 68 65 0a 66 75 6c 6c 20 34 30 2d 63 is the.full 40-c
16f0: 68 61 72 61 63 74 65 72 20 6c 6f 77 65 72 2d 63 haracter lower-c
1700: 61 73 65 20 68 65 78 61 64 65 63 69 6d 61 6c 20 ase hexadecimal
1710: 53 48 41 31 20 68 61 73 68 20 6f 66 20 74 68 65 SHA1 hash of the
1720: 20 63 6f 6e 74 65 6e 74 0a 61 72 74 69 66 61 63 content.artifac
1730: 74 2e 20 20 54 68 65 20 6f 70 74 69 6f 6e 61 6c t. The optional
1740: 20 33 72 64 20 61 72 67 75 6d 65 6e 74 20 64 65 3rd argument de
1750: 66 69 6e 65 73 20 61 6e 79 20 73 70 65 63 69 61 fines any specia
1760: 6c 20 61 63 63 65 73 73 20 0a 70 65 72 6d 69 73 l access .permis
1770: 73 69 6f 6e 73 20 61 73 73 6f 63 69 61 74 65 64 sions associated
1780: 20 77 69 74 68 20 74 68 65 20 66 69 6c 65 2e 20 with the file.
1790: 20 54 68 65 20 6f 6e 6c 79 20 73 70 65 63 69 61 The only specia
17a0: 6c 20 63 6f 64 65 20 63 75 72 72 65 6e 74 6c 79 l code currently
17b0: 0a 64 65 66 69 6e 65 64 20 69 73 20 22 78 22 20 .defined is "x"
17c0: 77 68 69 63 68 20 6d 65 61 6e 73 20 74 68 61 74 which means that
17d0: 20 74 68 65 20 66 69 6c 65 20 69 73 20 65 78 65 the file is exe
17e0: 63 75 74 61 62 6c 65 2e 20 20 41 6c 6c 20 66 69 cutable. All fi
17f0: 6c 65 73 20 61 72 65 0a 61 6c 77 61 79 73 20 72 les are.always r
1800: 65 61 64 61 62 6c 65 20 61 6e 64 20 77 72 69 74 eadable and writ
1810: 61 62 6c 65 2e 20 20 54 68 69 73 20 63 61 6e 20 able. This can
1820: 62 65 20 65 78 70 72 65 73 73 65 64 20 62 79 20 be expressed by
1830: 22 77 22 20 70 65 72 6d 69 73 73 69 6f 6e 0a 69 "w" permission.i
1840: 66 20 64 65 73 69 72 65 64 20 62 75 74 20 69 73 f desired but is
1850: 20 6f 70 74 69 6f 6e 61 6c 2e 0a 54 68 65 20 6f optional..The o
1860: 70 74 69 6f 6e 61 6c 20 34 74 68 20 61 72 67 75 ptional 4th argu
1870: 6d 65 6e 74 20 69 73 20 74 68 65 20 6e 61 6d 65 ment is the name
1880: 20 6f 66 20 74 68 65 20 73 61 6d 65 20 66 69 6c of the same fil
1890: 65 20 61 73 20 69 74 20 65 78 69 73 74 65 64 20 e as it existed
18a0: 69 6e 0a 74 68 65 20 70 61 72 65 6e 74 20 63 68 in.the parent ch
18b0: 65 63 6b 2d 69 6e 2e 20 20 49 66 20 74 68 65 20 eck-in. If the
18c0: 6e 61 6d 65 20 6f 66 20 74 68 65 20 66 69 6c 65 name of the file
18d0: 20 69 73 20 75 6e 63 68 61 6e 67 65 64 20 66 72 is unchanged fr
18e0: 6f 6d 20 69 74 73 0a 70 61 72 65 6e 74 2c 20 74 om its.parent, t
18f0: 68 65 6e 20 74 68 65 20 34 74 68 20 61 72 67 75 hen the 4th argu
1900: 6d 65 6e 74 20 69 73 20 6f 6d 69 74 74 65 64 2e ment is omitted.
1910: 0a 3c 2f 70 3e 0a 0a 3c 70 3e 0a 41 20 6d 61 6e .</p>..<p>.A man
1920: 69 66 65 73 74 20 68 61 73 20 7a 65 72 6f 20 6f ifest has zero o
1930: 72 20 6d 6f 72 65 20 4e 2d 63 61 72 64 73 2e 20 r more N-cards.
1940: 20 45 61 63 68 20 4e 20 63 61 72 64 20 72 65 63 Each N card rec
1950: 6f 72 64 73 20 61 20 6e 61 6d 65 20 63 68 61 6e ords a name chan
1960: 67 65 73 0a 74 6f 20 6f 6e 65 20 6f 66 20 74 68 ges.to one of th
1970: 65 20 66 69 6c 65 73 20 69 6e 20 74 68 65 20 6d e files in the m
1980: 61 6e 69 66 65 73 74 2e 20 20 54 68 65 20 66 69 anifest. The fi
1990: 72 73 74 20 61 72 67 75 6d 65 6e 74 20 74 6f 20 rst argument to
19a0: 74 68 65 20 4e 20 63 6f 64 65 20 69 73 0a 74 68 the N code is.th
19b0: 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 66 69 e name of the fi
19c0: 6c 65 20 69 6e 20 74 68 65 20 70 61 72 65 6e 74 le in the parent
19d0: 20 63 68 65 63 6b 2d 69 6e 2e 20 20 54 68 65 20 check-in. The
19e0: 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e 74 20 second argument
19f0: 69 73 20 74 68 65 0a 6e 61 6d 65 20 6f 66 20 74 is the.name of t
1a00: 68 65 20 66 69 6c 65 20 69 6e 20 74 68 65 20 63 he file in the c
1a10: 68 65 63 6b 2d 69 6e 20 64 65 66 69 6e 65 64 20 heck-in defined
1a20: 62 79 20 74 68 65 20 6d 61 6e 69 66 65 73 74 2e by the manifest.
1a30: 0a 3c 2f 70 3e 0a 0a 3c 70 3e 0a 41 20 6d 61 6e .</p>..<p>.A man
1a40: 69 66 65 73 74 20 68 61 73 20 7a 65 72 6f 20 6f ifest has zero o
1a50: 72 20 6f 6e 65 20 50 2d 63 61 72 64 73 2e 20 20 r one P-cards.
1a60: 4d 6f 73 74 20 6d 61 6e 69 66 65 73 74 73 20 68 Most manifests h
1a70: 61 76 65 20 6f 6e 65 20 50 2d 63 61 72 64 2e 0a ave one P-card..
1a80: 54 68 65 20 50 2d 63 61 72 64 20 68 61 73 20 61 The P-card has a
1a90: 20 76 61 72 79 69 6e 67 20 6e 75 6d 62 65 72 20 varying number
1aa0: 6f 66 20 61 72 67 75 6d 65 6e 74 73 20 74 68 61 of arguments tha
1ab0: 74 0a 64 65 66 69 6e 65 73 20 6f 74 68 65 72 20 t.defines other
1ac0: 6d 61 6e 69 66 65 73 74 73 20 66 72 6f 6d 20 77 manifests from w
1ad0: 68 69 63 68 20 74 68 65 20 63 75 72 72 65 6e 74 hich the current
1ae0: 20 6d 61 6e 69 66 65 73 74 0a 69 73 20 64 65 72 manifest.is der
1af0: 69 76 65 64 2e 20 20 45 61 63 68 20 61 72 67 75 ived. Each argu
1b00: 6d 65 6e 74 20 69 73 20 61 6e 20 34 30 2d 63 68 ment is an 40-ch
1b10: 61 72 61 63 74 65 72 20 6c 6f 77 65 72 63 61 73 aracter lowercas
1b20: 65 20 0a 68 65 78 61 64 65 63 69 6d 61 6c 20 53 e .hexadecimal S
1b30: 48 41 31 20 6f 66 20 74 68 65 20 70 72 65 64 65 HA1 of the prede
1b40: 63 65 73 73 6f 72 20 6d 61 6e 69 66 65 73 74 2e cessor manifest.
1b50: 20 20 41 6c 6c 20 61 72 67 75 6d 65 6e 74 73 0a All arguments.
1b60: 74 6f 20 74 68 65 20 50 2d 63 61 72 64 20 6d 75 to the P-card mu
1b70: 73 74 20 62 65 20 75 6e 69 71 75 65 20 74 6f 20 st be unique to
1b80: 74 68 61 74 20 6c 69 6e 65 2e 0a 54 68 65 20 66 that line..The f
1b90: 69 72 73 74 20 70 72 65 64 65 63 65 73 73 6f 72 irst predecessor
1ba0: 20 69 73 20 74 68 65 20 64 69 72 65 63 74 20 61 is the direct a
1bb0: 6e 63 65 73 74 6f 72 20 6f 66 20 74 68 65 20 6d ncestor of the m
1bc0: 61 6e 69 66 65 73 74 2e 0a 4f 74 68 65 72 20 61 anifest..Other a
1bd0: 72 67 75 6d 65 6e 74 73 20 64 65 66 69 6e 65 20 rguments define
1be0: 6d 61 6e 69 66 65 73 74 73 20 77 69 74 68 20 77 manifests with w
1bf0: 68 69 63 68 20 74 68 65 20 66 69 72 73 74 20 77 hich the first w
1c00: 61 73 0a 6d 65 72 67 65 64 20 74 6f 20 79 69 65 as.merged to yie
1c10: 6c 64 20 74 68 65 20 63 75 72 72 65 6e 74 20 6d ld the current m
1c20: 61 6e 69 66 65 73 74 2e 20 20 4d 6f 73 74 20 6d anifest. Most m
1c30: 61 6e 69 66 65 73 74 73 20 68 61 76 65 0a 61 20 anifests have.a
1c40: 50 2d 63 61 72 64 20 77 69 74 68 20 61 20 73 69 P-card with a si
1c50: 6e 67 6c 65 20 61 72 67 75 6d 65 6e 74 2e 20 20 ngle argument.
1c60: 54 68 65 20 66 69 72 73 74 20 6d 61 6e 69 66 65 The first manife
1c70: 73 74 20 69 6e 20 74 68 65 0a 70 72 6f 6a 65 63 st in the.projec
1c80: 74 20 68 61 73 20 6e 6f 20 61 6e 63 65 73 74 6f t has no ancesto
1c90: 72 73 20 61 6e 64 20 74 68 75 73 20 68 61 73 20 rs and thus has
1ca0: 6e 6f 20 50 2d 63 61 72 64 2e 0a 3c 2f 70 3e 0a no P-card..</p>.
1cb0: 0a 3c 70 3e 0a 41 20 6d 61 6e 69 66 65 73 74 20 .<p>.A manifest
1cc0: 6d 61 79 20 6f 70 74 69 6f 6e 61 6c 6c 79 20 68 may optionally h
1cd0: 61 76 65 20 61 20 73 69 6e 67 6c 65 20 52 2d 63 ave a single R-c
1ce0: 61 72 64 2e 20 20 54 68 65 20 52 2d 63 61 72 64 ard. The R-card
1cf0: 20 68 61 73 0a 61 20 73 69 6e 67 6c 65 20 61 72 has.a single ar
1d00: 67 75 6d 65 6e 74 20 77 68 69 63 68 20 69 73 20 gument which is
1d10: 74 68 65 20 4d 44 35 20 63 68 65 63 6b 73 75 6d the MD5 checksum
1d20: 20 6f 66 20 61 6c 6c 20 66 69 6c 65 73 20 69 6e of all files in
1d30: 20 0a 74 68 65 20 63 68 65 63 6b 2d 69 6e 20 65 .the check-in e
1d40: 78 63 65 70 74 20 74 68 65 20 6d 61 6e 69 66 65 xcept the manife
1d50: 73 74 20 69 74 73 65 6c 66 2e 20 20 54 68 65 20 st itself. The
1d60: 63 68 65 63 6b 73 75 6d 20 69 73 20 65 78 70 72 checksum is expr
1d70: 65 73 73 65 64 0a 61 73 20 33 32 2d 63 68 61 72 essed.as 32-char
1d80: 61 63 74 65 72 73 20 6f 66 20 6c 6f 77 65 72 63 acters of lowerc
1d90: 61 73 65 20 68 65 78 61 64 65 63 69 6d 61 6c 2e ase hexadecimal.
1da0: 20 20 20 54 68 65 20 63 68 65 63 6b 73 75 6d 20 The checksum
1db0: 69 73 0a 63 6f 6d 70 75 74 65 64 20 61 73 20 66 is.computed as f
1dc0: 6f 6c 6c 6f 77 73 3a 20 20 46 6f 72 20 65 61 63 ollows: For eac
1dd0: 68 20 66 69 6c 65 20 69 6e 20 74 68 65 20 63 68 h file in the ch
1de0: 65 63 6b 2d 69 6e 20 28 65 78 63 65 70 74 20 66 eck-in (except f
1df0: 6f 72 0a 74 68 65 20 6d 61 6e 69 66 65 73 74 20 or.the manifest
1e00: 69 74 73 65 6c 66 29 20 69 6e 20 73 74 72 69 63 itself) in stric
1e10: 74 20 73 6f 72 74 65 64 20 6c 65 78 69 63 6f 67 t sorted lexicog
1e20: 72 61 70 68 69 63 61 6c 20 6f 72 64 65 72 2c 20 raphical order,
1e30: 0a 74 61 6b 65 20 74 68 65 20 70 61 74 68 6e 61 .take the pathna
1e40: 6d 65 20 6f 66 20 74 68 65 20 66 69 6c 65 20 72 me of the file r
1e50: 65 6c 61 74 69 76 65 20 74 6f 20 74 68 65 20 72 elative to the r
1e60: 6f 6f 74 20 6f 66 20 74 68 65 0a 72 65 70 6f 73 oot of the.repos
1e70: 69 74 6f 72 79 2c 20 61 70 70 65 6e 64 20 61 20 itory, append a
1e80: 73 69 6e 67 6c 65 20 73 70 61 63 65 20 28 41 53 single space (AS
1e90: 43 49 49 20 30 78 32 30 29 2c 20 74 68 65 0a 73 CII 0x20), the.s
1ea0: 69 7a 65 20 6f 66 20 74 68 65 20 66 69 6c 65 20 ize of the file
1eb0: 69 6e 20 41 53 43 49 49 20 64 65 63 69 6d 61 6c in ASCII decimal
1ec0: 2c 20 61 20 73 69 6e 67 6c 65 20 6e 65 77 6c 69 , a single newli
1ed0: 6e 65 0a 63 68 61 72 61 63 74 65 72 20 28 41 53 ne.character (AS
1ee0: 43 49 49 20 30 78 30 41 29 2c 20 61 6e 64 20 74 CII 0x0A), and t
1ef0: 68 65 20 63 6f 6d 70 6c 65 74 65 20 74 65 78 74 he complete text
1f00: 20 6f 66 20 74 68 65 20 66 69 6c 65 2e 0a 43 6f of the file..Co
1f10: 6d 70 75 74 65 20 74 68 65 20 4d 44 35 20 63 68 mpute the MD5 ch
1f20: 65 63 6b 73 75 6d 20 6f 66 20 74 68 65 20 74 68 ecksum of the th
1f30: 65 20 72 65 73 75 6c 74 2e 0a 3c 2f 70 3e 0a 0a e result..</p>..
1f40: 3c 70 3e 0a 41 20 6d 61 6e 69 66 65 73 74 20 6d <p>.A manifest m
1f50: 69 67 68 74 20 63 6f 6e 74 61 69 6e 20 6f 6e 65 ight contain one
1f60: 20 6f 72 20 6d 6f 72 65 20 54 2d 63 61 72 64 73 or more T-cards
1f70: 20 75 73 65 64 20 74 6f 20 73 65 74 20 74 61 67 used to set tag
1f80: 73 20 6f 72 0a 70 72 6f 70 65 72 74 69 65 73 20 s or.properties
1f90: 6f 6e 20 74 68 65 20 63 68 65 63 6b 2d 69 6e 2e on the check-in.
1fa0: 20 20 54 68 65 20 66 6f 72 6d 61 74 20 6f 66 20 The format of
1fb0: 74 68 65 20 54 2d 63 61 72 64 20 69 73 20 74 68 the T-card is th
1fc0: 65 20 73 61 6d 65 20 61 73 0a 64 65 73 63 72 69 e same as.descri
1fd0: 62 65 64 20 69 6e 20 3c 69 3e 43 6f 6e 74 72 6f bed in <i>Contro
1fe0: 6c 20 41 72 74 69 66 61 63 74 73 3c 2f 69 3e 20 l Artifacts</i>
1ff0: 73 65 63 74 69 6f 6e 20 62 65 6c 6f 77 2c 20 65 section below, e
2000: 78 63 65 70 74 20 74 68 61 74 20 74 68 65 0a 73 xcept that the.s
2010: 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e 74 20 69 econd argument i
2020: 73 20 74 68 65 20 73 69 6e 67 6c 65 20 63 68 61 s the single cha
2030: 72 61 63 63 74 65 72 20 22 3c 62 3e 2a 3c 2f 62 raccter "<b>*</b
2040: 3e 22 20 69 6e 73 74 65 61 64 20 6f 66 20 61 6e >" instead of an
2050: 0a 61 72 74 69 66 61 63 74 20 49 44 2e 20 20 54 .artifact ID. T
2060: 68 65 20 3c 62 3e 2a 3c 2f 62 3e 20 69 6e 20 70 he <b>*</b> in p
2070: 6c 61 63 65 20 6f 66 20 74 68 65 20 61 72 74 69 lace of the arti
2080: 66 61 63 74 20 49 44 20 69 6e 64 69 63 61 74 65 fact ID indicate
2090: 73 20 74 68 61 74 0a 74 68 65 20 74 61 67 20 6f s that.the tag o
20a0: 72 20 70 72 6f 70 65 72 74 79 20 61 70 70 6c 69 r property appli
20b0: 65 73 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e es to the curren
20c0: 74 20 61 72 74 69 66 61 63 74 2e 20 20 49 74 20 t artifact. It
20d0: 69 73 20 6e 6f 74 0a 70 6f 73 73 69 62 6c 65 20 is not.possible
20e0: 74 6f 20 65 6e 63 6f 64 65 20 74 68 65 20 63 75 to encode the cu
20f0: 72 72 65 6e 74 20 61 72 74 69 66 61 63 74 20 49 rrent artifact I
2100: 44 20 61 73 20 70 61 72 74 20 6f 66 20 61 6e 20 D as part of an
2110: 61 72 74 69 66 61 63 74 2c 0a 73 69 6e 63 65 20 artifact,.since
2120: 74 68 65 20 61 63 74 20 6f 66 20 69 6e 73 65 72 the act of inser
2130: 74 69 6e 67 20 74 68 65 20 61 72 74 69 66 61 63 ting the artifac
2140: 74 20 49 44 20 77 6f 75 6c 64 20 63 68 61 6e 67 t ID would chang
2150: 65 20 74 68 65 20 61 72 74 69 66 61 63 74 20 49 e the artifact I
2160: 44 2c 0a 68 65 6e 63 65 20 61 20 3c 62 3e 2a 3c D,.hence a <b>*<
2170: 2f 62 3e 20 69 73 20 75 73 65 64 20 74 6f 20 72 /b> is used to r
2180: 65 70 72 65 73 65 6e 74 20 22 73 65 6c 66 22 2e epresent "self".
2190: 20 20 54 2d 63 61 72 64 73 20 61 72 65 20 74 79 T-cards are ty
21a0: 70 69 63 61 6c 6c 79 0a 61 64 64 65 64 20 74 6f pically.added to
21b0: 20 6d 61 6e 69 66 65 73 74 73 20 69 6e 20 6f 72 manifests in or
21c0: 64 65 72 20 74 6f 20 73 65 74 20 74 68 65 20 3c der to set the <
21d0: 62 3e 62 72 61 6e 63 68 3c 2f 62 3e 20 70 72 6f b>branch</b> pro
21e0: 70 65 72 74 79 20 61 6e 64 20 61 0a 73 79 6d 62 perty and a.symb
21f0: 6f 6c 69 63 20 6e 61 6d 65 20 77 68 65 6e 20 74 olic name when t
2200: 68 65 20 63 68 65 63 6b 2d 69 6e 20 69 73 20 69 he check-in is i
2210: 6e 74 65 6e 64 65 64 20 74 6f 20 73 74 61 72 74 ntended to start
2220: 20 61 20 6e 65 77 20 62 72 61 6e 63 68 2e 0a 3c a new branch..<
2230: 2f 70 3e 0a 0a 3c 70 3e 0a 45 61 63 68 20 6d 61 /p>..<p>.Each ma
2240: 6e 69 66 65 73 74 20 68 61 73 20 61 20 73 69 6e nifest has a sin
2250: 67 6c 65 20 55 2d 63 61 72 64 2e 20 20 54 68 65 gle U-card. The
2260: 20 61 72 67 75 6d 65 6e 74 20 74 6f 20 74 68 65 argument to the
2270: 20 55 2d 63 61 72 64 20 69 73 0a 74 68 65 20 6c U-card is.the l
2280: 6f 67 69 6e 20 6f 66 20 74 68 65 20 75 73 65 72 ogin of the user
2290: 20 77 68 6f 20 63 72 65 61 74 65 64 20 74 68 65 who created the
22a0: 20 6d 61 6e 69 66 65 73 74 2e 20 20 54 68 65 20 manifest. The
22b0: 6c 6f 67 69 6e 20 6e 61 6d 65 0a 69 73 20 65 6e login name.is en
22c0: 63 6f 64 65 64 20 75 73 69 6e 67 20 74 68 65 20 coded using the
22d0: 73 61 6d 65 20 63 68 61 72 61 63 74 65 72 20 65 same character e
22e0: 73 63 61 70 65 73 20 61 73 20 69 73 20 75 73 65 scapes as is use
22f0: 64 20 66 6f 72 20 74 68 65 0a 63 68 65 63 6b 2d d for the.check-
2300: 69 6e 20 63 6f 6d 6d 65 6e 74 20 61 72 67 75 6d in comment argum
2310: 65 6e 74 20 74 6f 20 74 68 65 20 43 2d 63 61 72 ent to the C-car
2320: 64 2e 0a 3c 2f 70 3e 0a 0a 3c 70 3e 0a 41 20 6d d..</p>..<p>.A m
2330: 61 6e 69 66 65 73 74 20 68 61 73 20 61 6e 20 6f anifest has an o
2340: 70 74 69 6f 6e 20 5a 2d 63 61 72 64 20 61 73 20 ption Z-card as
2350: 69 74 73 20 6c 61 73 74 20 6c 69 6e 65 2e 20 20 its last line.
2360: 54 68 65 20 61 72 67 75 6d 65 6e 74 0a 74 6f 20 The argument.to
2370: 74 68 65 20 5a 2d 63 61 72 64 20 69 73 20 61 20 the Z-card is a
2380: 33 32 2d 63 68 61 72 61 63 74 65 72 20 6c 6f 77 32-character low
2390: 65 72 63 61 73 65 20 68 65 78 61 64 65 63 69 6d ercase hexadecim
23a0: 61 6c 20 4d 44 35 20 68 61 73 68 0a 6f 66 20 61 al MD5 hash.of a
23b0: 6c 6c 20 70 72 69 6f 72 20 6c 69 6e 65 73 20 6f ll prior lines o
23c0: 66 20 74 68 65 20 6d 61 6e 69 66 65 73 74 20 75 f the manifest u
23d0: 70 20 74 6f 20 61 6e 64 20 69 6e 63 6c 75 64 69 p to and includi
23e0: 6e 67 20 74 68 65 20 6e 65 77 6c 69 6e 65 20 0a ng the newline .
23f0: 63 68 61 72 61 63 74 65 72 20 74 68 61 74 20 69 character that i
2400: 6d 6d 65 64 69 61 74 65 6c 79 20 70 72 65 63 65 mmediately prece
2410: 64 65 73 20 74 68 65 20 22 5a 22 2e 20 20 54 68 des the "Z". Th
2420: 65 20 5a 2d 63 61 72 64 20 69 73 20 6a 75 73 74 e Z-card is just
2430: 0a 61 20 73 61 6e 69 74 79 20 63 68 65 63 6b 20 .a sanity check
2440: 74 6f 20 70 72 6f 76 65 20 74 68 61 74 20 74 68 to prove that th
2450: 65 20 6d 61 6e 69 66 65 73 74 20 69 73 20 77 65 e manifest is we
2460: 6c 6c 2d 66 6f 72 6d 65 64 20 61 6e 64 0a 63 6f ll-formed and.co
2470: 6e 73 69 73 74 65 6e 74 2e 0a 3c 2f 70 3e 0a 0a nsistent..</p>..
2480: 3c 68 32 3e 32 2e 30 20 43 6c 75 73 74 65 72 73 <h2>2.0 Clusters
2490: 3c 2f 68 32 3e 0a 0a 3c 70 3e 0a 41 20 63 6c 75 </h2>..<p>.A clu
24a0: 73 74 65 72 20 69 73 20 61 20 61 72 74 69 66 61 ster is a artifa
24b0: 63 74 20 74 68 61 74 20 64 65 63 6c 61 72 65 73 ct that declares
24c0: 20 74 68 65 20 65 78 69 73 74 65 6e 63 65 20 6f the existence o
24d0: 66 20 6f 74 68 65 72 20 61 72 74 69 66 61 63 74 f other artifact
24e0: 73 2e 0a 43 6c 75 73 74 65 72 73 20 61 72 65 20 s..Clusters are
24f0: 75 73 65 64 20 64 75 72 69 6e 67 20 72 65 70 6f used during repo
2500: 73 69 74 6f 72 79 20 73 79 6e 63 68 72 6f 6e 69 sitory synchroni
2510: 7a 61 74 69 6f 6e 20 74 6f 20 68 65 6c 70 20 0a zation to help .
2520: 72 65 64 75 63 65 20 6e 65 74 77 6f 72 6b 20 74 reduce network t
2530: 72 61 66 66 69 63 2e 20 20 41 73 20 73 75 63 68 raffic. As such
2540: 2c 20 63 6c 75 73 74 65 72 73 20 61 72 65 20 61 , clusters are a
2550: 6e 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 20 61 n optimization a
2560: 6e 64 0a 6d 61 79 20 62 65 20 72 65 6d 6f 76 65 nd.may be remove
2570: 64 20 66 72 6f 6d 20 61 20 72 65 70 6f 73 69 74 d from a reposit
2580: 6f 72 79 20 77 69 74 68 6f 75 74 20 6c 6f 73 73 ory without loss
2590: 20 6f 72 20 64 61 6d 61 67 65 20 74 6f 20 74 68 or damage to th
25a0: 65 0a 75 6e 64 65 72 6c 79 69 6e 67 20 70 72 6f e.underlying pro
25b0: 6a 65 63 74 20 63 6f 64 65 2e 0a 3c 2f 70 3e 0a ject code..</p>.
25c0: 0a 3c 70 3e 0a 43 6c 75 73 74 65 72 73 20 66 6f .<p>.Clusters fo
25d0: 6c 6c 6f 77 20 61 20 73 79 6e 74 61 78 20 74 68 llow a syntax th
25e0: 61 74 20 69 73 20 76 65 72 79 20 73 69 6d 69 6c at is very simil
25f0: 61 72 20 74 6f 20 6d 61 6e 69 66 65 73 74 73 2e ar to manifests.
2600: 0a 41 20 43 6c 75 73 74 65 72 20 69 73 20 61 20 .A Cluster is a
2610: 6c 69 6e 65 2d 6f 72 69 65 6e 74 65 64 20 74 65 line-oriented te
2620: 78 74 20 66 69 6c 65 2e 20 20 4e 65 77 6c 69 6e xt file. Newlin
2630: 65 20 63 68 61 72 61 63 74 65 72 73 0a 28 41 53 e characters.(AS
2640: 43 49 49 20 30 78 30 61 29 20 73 65 70 61 72 61 CII 0x0a) separa
2650: 74 65 20 74 68 65 20 61 72 74 69 66 61 63 74 20 te the artifact
2660: 69 6e 74 6f 20 63 61 72 64 73 2e 20 20 45 61 63 into cards. Eac
2670: 68 20 63 61 72 64 20 62 65 67 69 6e 73 20 77 69 h card begins wi
2680: 74 68 20 61 20 73 69 6e 67 6c 65 0a 63 68 61 72 th a single.char
2690: 61 63 74 65 72 20 22 63 61 72 64 20 74 79 70 65 acter "card type
26a0: 22 2e 20 20 5a 65 72 6f 20 6f 72 20 6d 6f 72 65 ". Zero or more
26b0: 20 61 72 67 75 6d 65 6e 74 73 20 6d 61 79 20 66 arguments may f
26c0: 6f 6c 6c 6f 77 0a 74 68 65 20 63 61 72 64 20 74 ollow.the card t
26d0: 79 70 65 2e 20 20 41 6c 6c 20 61 72 67 75 6d 65 ype. All argume
26e0: 6e 74 73 20 61 72 65 20 73 65 70 61 72 61 74 65 nts are separate
26f0: 64 20 66 72 6f 6d 20 65 61 63 68 20 6f 74 68 65 d from each othe
2700: 72 0a 61 6e 64 20 66 72 6f 6d 20 74 68 65 20 63 r.and from the c
2710: 61 72 64 2d 74 79 70 65 20 63 68 61 72 61 63 74 ard-type charact
2720: 65 72 20 62 79 20 61 20 73 69 6e 67 6c 65 20 73 er by a single s
2730: 70 61 63 65 0a 63 68 61 72 61 63 74 65 72 2e 20 pace.character.
2740: 20 54 68 65 72 65 20 69 73 20 6e 6f 20 73 75 72 There is no sur
2750: 70 6c 75 73 20 77 68 69 74 65 20 73 70 61 63 65 plus white space
2760: 20 62 65 74 77 65 65 6e 20 61 72 67 75 6d 65 6e between argumen
2770: 74 73 0a 61 6e 64 20 6e 6f 20 6c 65 61 64 69 6e ts.and no leadin
2780: 67 20 6f 72 20 74 72 61 69 6c 69 6e 67 20 77 68 g or trailing wh
2790: 69 74 65 73 70 61 63 65 20 65 78 63 65 70 74 20 itespace except
27a0: 66 6f 72 20 74 68 65 20 6e 65 77 6c 69 6e 65 20 for the newline
27b0: 0a 63 68 61 72 61 63 74 65 72 20 74 68 61 74 20 .character that
27c0: 61 63 74 73 20 61 73 20 74 68 65 20 63 61 72 64 acts as the card
27d0: 20 73 65 70 61 72 61 74 6f 72 2e 0a 41 6c 6c 20 separator..All
27e0: 63 61 72 64 73 20 6f 66 20 61 20 63 6c 75 73 74 cards of a clust
27f0: 65 72 20 6f 63 63 75 72 20 69 6e 20 73 74 72 69 er occur in stri
2800: 63 74 20 73 6f 72 74 65 64 20 6c 65 78 69 63 6f ct sorted lexico
2810: 67 72 61 70 68 69 63 61 6c 20 6f 72 64 65 72 2e graphical order.
2820: 0a 4e 6f 20 63 61 72 64 20 6d 61 79 20 62 65 20 .No card may be
2830: 64 75 70 6c 69 63 61 74 65 64 2e 0a 54 68 65 20 duplicated..The
2840: 63 6c 75 73 74 65 72 20 6d 61 79 20 6e 6f 74 20 cluster may not
2850: 63 6f 6e 74 61 69 6e 20 61 64 64 69 74 69 6f 6e contain addition
2860: 61 6c 20 74 65 78 74 20 6f 72 20 64 61 74 61 20 al text or data
2870: 62 65 79 6f 6e 64 20 0a 77 68 61 74 20 69 73 20 beyond .what is
2880: 64 65 73 63 72 69 62 65 64 20 68 65 72 65 2e 0a described here..
2890: 55 6e 6c 69 6b 65 20 6d 61 6e 69 66 65 73 74 73 Unlike manifests
28a0: 2c 20 63 6c 75 73 74 65 72 73 20 61 72 65 20 6e , clusters are n
28b0: 65 76 65 72 20 50 47 50 20 73 69 67 6e 65 64 2e ever PGP signed.
28c0: 0a 3c 2f 70 3e 0a 0a 3c 70 3e 0a 41 6c 6c 6f 77 .</p>..<p>.Allow
28d0: 65 64 20 63 61 72 64 73 20 69 6e 20 74 68 65 20 ed cards in the
28e0: 63 6c 75 73 74 65 72 20 61 72 65 20 61 73 20 66 cluster are as f
28f0: 6f 6c 6c 6f 77 73 3a 0a 3c 2f 70 3e 0a 0a 3c 62 ollows:.</p>..<b
2900: 6c 6f 63 6b 71 75 6f 74 65 3e 0a 3c 62 3e 4d 3c lockquote>.<b>M<
2910: 2f 62 3e 20 3c 69 3e 61 72 74 69 66 61 63 74 2d /b> <i>artifact-
2920: 69 64 3c 2f 69 3e 3c 62 72 20 2f 3e 0a 3c 62 3e id</i><br />.<b>
2930: 5a 3c 2f 62 3e 20 3c 69 3e 63 68 65 63 6b 73 75 Z</b> <i>checksu
2940: 6d 3c 2f 69 3e 0a 3c 2f 62 6c 6f 63 6b 71 75 6f m</i>.</blockquo
2950: 74 65 3e 0a 0a 3c 70 3e 0a 41 20 63 6c 75 73 74 te>..<p>.A clust
2960: 65 72 20 63 6f 6e 74 61 69 6e 73 20 6f 6e 65 20 er contains one
2970: 6f 72 20 6d 6f 72 65 20 22 4d 22 20 63 61 72 64 or more "M" card
2980: 73 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 61 20 s followed by a
2990: 73 69 6e 67 6c 65 20 22 5a 22 0a 6c 69 6e 65 2e single "Z".line.
29a0: 20 20 45 61 63 68 20 4d 20 63 61 72 64 20 68 61 Each M card ha
29b0: 73 20 61 20 73 69 6e 67 6c 65 20 61 72 67 75 6d s a single argum
29c0: 65 6e 74 20 77 68 69 63 68 20 69 73 20 74 68 65 ent which is the
29d0: 20 61 72 74 69 66 61 63 74 20 49 44 20 6f 66 20 artifact ID of
29e0: 0a 61 6e 6f 74 68 65 72 20 61 72 74 69 66 61 63 .another artifac
29f0: 74 20 69 6e 20 74 68 65 20 72 65 70 6f 73 69 74 t in the reposit
2a00: 6f 72 79 2e 20 20 54 68 65 20 5a 20 63 61 72 64 ory. The Z card
2a10: 20 77 6f 72 6b 20 65 78 61 63 74 6c 79 20 6c 69 work exactly li
2a20: 6b 65 0a 74 68 65 20 5a 20 63 61 72 64 20 6f 66 ke.the Z card of
2a30: 20 61 20 6d 61 6e 69 66 65 73 74 2e 20 20 54 68 a manifest. Th
2a40: 65 20 61 72 67 75 6d 65 6e 74 20 74 6f 20 74 68 e argument to th
2a50: 65 20 5a 20 63 61 72 64 20 69 73 20 74 68 65 0a e Z card is the.
2a60: 6c 6f 77 65 72 2d 63 61 73 65 20 68 65 78 61 64 lower-case hexad
2a70: 65 63 69 6d 61 6c 20 72 65 70 72 65 73 65 6e 74 ecimal represent
2a80: 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 4d 44 35 ation of the MD5
2a90: 20 63 68 65 63 6b 73 75 6d 20 6f 66 20 61 6c 6c checksum of all
2aa0: 0a 70 72 69 6f 72 20 63 61 72 64 73 20 69 6e 20 .prior cards in
2ab0: 74 68 65 20 63 6c 75 73 74 65 72 2e 20 20 4e 6f the cluster. No
2ac0: 74 65 20 74 68 61 74 20 74 68 65 20 5a 20 63 61 te that the Z ca
2ad0: 72 64 20 69 73 20 72 65 71 75 69 72 65 64 0a 6f rd is required.o
2ae0: 6e 20 61 20 63 6c 75 73 74 65 72 2e 0a 3c 2f 70 n a cluster..</p
2af0: 3e 0a 0a 0a 3c 68 32 3e 33 2e 30 20 43 6f 6e 74 >...<h2>3.0 Cont
2b00: 72 6f 6c 20 41 72 74 69 66 61 63 74 73 3c 2f 68 rol Artifacts</h
2b10: 32 3e 0a 0a 3c 70 3e 0a 43 6f 6e 74 72 6f 6c 20 2>..<p>.Control
2b20: 61 72 74 69 66 61 63 74 73 20 61 72 65 20 75 73 artifacts are us
2b30: 65 64 20 74 6f 20 61 73 73 69 67 6e 20 70 72 6f ed to assign pro
2b40: 70 65 72 74 69 65 73 20 74 6f 20 6f 74 68 65 72 perties to other
2b50: 20 61 72 74 69 66 61 63 74 73 0a 77 69 74 68 69 artifacts.withi
2b60: 6e 20 74 68 65 20 72 65 70 6f 73 69 74 6f 72 79 n the repository
2b70: 2e 20 20 54 68 65 20 62 61 73 69 63 20 66 6f 72 . The basic for
2b80: 6d 61 74 20 6f 66 20 61 20 63 6f 6e 74 72 6f 6c mat of a control
2b90: 20 61 72 74 69 66 61 63 74 20 69 73 0a 74 68 65 artifact is.the
2ba0: 20 73 61 6d 65 20 61 73 20 61 20 6d 61 6e 69 66 same as a manif
2bb0: 65 73 74 20 6f 72 20 63 6c 75 73 74 65 72 2e 20 est or cluster.
2bc0: 20 41 20 63 6f 6e 74 72 6f 6c 20 61 72 74 69 66 A control artif
2bd0: 61 63 74 20 69 73 20 61 20 74 65 78 74 0a 66 69 act is a text.fi
2be0: 6c 65 73 20 64 69 76 69 64 65 64 20 69 6e 74 6f les divided into
2bf0: 20 63 61 72 64 73 20 62 79 20 6e 65 77 6c 69 6e cards by newlin
2c00: 65 20 63 68 61 72 61 63 74 65 72 73 2e 20 20 45 e characters. E
2c10: 61 63 68 20 63 61 72 64 20 68 61 73 20 61 0a 73 ach card has a.s
2c20: 69 6e 67 6c 65 2d 63 68 61 72 61 63 74 65 72 20 ingle-character
2c30: 63 61 72 64 20 74 79 70 65 20 66 6f 6c 6c 6f 77 card type follow
2c40: 65 64 20 62 79 20 61 72 67 75 6d 65 6e 74 73 2e ed by arguments.
2c50: 20 20 53 70 61 63 65 73 20 73 65 70 61 72 61 74 Spaces separat
2c60: 65 0a 74 68 65 20 63 61 72 64 20 74 79 70 65 20 e.the card type
2c70: 61 6e 64 20 74 68 65 20 61 72 67 75 6d 65 6e 74 and the argument
2c80: 73 2e 20 20 4e 6f 20 73 75 72 70 6c 75 73 20 77 s. No surplus w
2c90: 68 69 74 65 73 70 61 63 65 20 69 73 20 61 6c 6c hitespace is all
2ca0: 6f 77 65 64 2e 0a 41 6c 6c 20 63 61 72 64 73 20 owed..All cards
2cb0: 6d 75 73 74 20 6f 63 63 75 72 20 69 6e 20 73 74 must occur in st
2cc0: 72 69 63 74 20 6c 65 78 69 67 72 61 70 68 69 63 rict lexigraphic
2cd0: 61 6c 20 6f 72 64 65 72 2e 0a 3c 2f 70 3e 0a 0a al order..</p>..
2ce0: 3c 70 3e 0a 41 6c 6c 6f 77 65 64 20 63 61 72 64 <p>.Allowed card
2cf0: 73 20 69 6e 20 61 20 63 6f 6e 74 72 6f 6c 20 61 s in a control a
2d00: 72 74 69 66 61 63 74 20 61 72 65 20 61 73 20 66 rtifact are as f
2d10: 6f 6c 6c 6f 77 73 3a 0a 3c 2f 70 3e 0a 0a 3c 62 ollows:.</p>..<b
2d20: 6c 6f 63 6b 71 75 6f 74 65 3e 0a 3c 62 3e 44 3c lockquote>.<b>D<
2d30: 2f 62 3e 20 3c 69 3e 74 69 6d 65 2d 61 6e 64 2d /b> <i>time-and-
2d40: 64 61 74 65 2d 73 74 61 6d 70 3c 2f 69 3e 3c 62 date-stamp</i><b
2d50: 72 20 2f 3e 0a 3c 62 3e 54 3c 2f 62 3e 20 28 3c r />.<b>T</b> (<
2d60: 62 3e 2b 3c 2f 62 3e 7c 3c 62 3e 2d 3c 2f 62 3e b>+</b>|<b>-</b>
2d70: 7c 3c 62 3e 2a 3c 2f 62 3e 29 3c 69 3e 74 61 67 |<b>*</b>)<i>tag
2d80: 2d 6e 61 6d 65 20 20 61 72 74 69 66 61 63 74 2d -name artifact-
2d90: 69 64 20 20 3f 76 61 6c 75 65 3f 3c 2f 69 3e 3c id ?value?</i><
2da0: 62 72 20 2f 3e 0a 3c 62 3e 5a 3c 2f 62 3e 20 3c br />.<b>Z</b> <
2db0: 69 3e 63 68 65 63 6b 73 75 6d 3c 2f 69 3e 3c 62 i>checksum</i><b
2dc0: 72 20 2f 3e 0a 3c 2f 62 6c 6f 63 6b 71 75 6f 74 r />.</blockquot
2dd0: 65 3e 0a 0a 3c 70 3e 0a 41 20 63 6f 6e 74 72 6f e>..<p>.A contro
2de0: 6c 20 61 72 74 69 66 61 63 74 20 6d 75 73 74 20 l artifact must
2df0: 68 61 76 65 20 6f 6e 65 20 44 20 63 61 72 64 20 have one D card
2e00: 61 6e 64 20 6f 6e 65 20 5a 20 63 61 72 64 20 61 and one Z card a
2e10: 6e 64 0a 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 6f nd.one or more o
2e20: 72 20 6d 6f 72 65 20 54 20 63 61 72 64 73 2e 20 r more T cards.
2e30: 20 4e 6f 20 6f 74 68 65 72 20 63 61 72 64 73 20 No other cards
2e40: 6f 72 20 6f 74 68 65 72 20 74 65 78 74 20 69 73 or other text is
2e50: 0a 61 6c 6c 6f 77 65 64 20 69 6e 20 61 20 63 6f .allowed in a co
2e60: 6e 74 72 6f 6c 20 61 72 74 69 66 61 63 74 2e 20 ntrol artifact.
2e70: 20 43 6f 6e 74 72 6f 6c 20 61 72 74 69 66 61 63 Control artifac
2e80: 74 73 20 6d 69 67 68 74 20 62 65 20 50 47 50 0a ts might be PGP.
2e90: 63 6c 65 61 72 73 69 67 6e 65 64 2e 3c 2f 70 3e clearsigned.</p>
2ea0: 0a 0a 3c 70 3e 54 68 65 20 44 20 63 61 72 64 20 ..<p>The D card
2eb0: 61 6e 64 20 74 68 65 20 5a 20 63 61 72 64 20 6f and the Z card o
2ec0: 66 20 61 20 63 6f 6e 74 72 6f 6c 20 61 72 74 69 f a control arti
2ed0: 66 61 63 74 20 61 72 65 20 74 68 65 20 73 61 6d fact are the sam
2ee0: 65 0a 61 73 20 69 6e 20 61 20 6d 61 6e 69 66 65 e.as in a manife
2ef0: 73 74 2e 3c 2f 70 3e 0a 0a 3c 70 3e 54 68 65 20 st.</p>..<p>The
2f00: 54 20 63 61 72 64 20 72 65 70 72 65 73 65 6e 74 T card represent
2f10: 73 20 61 20 22 74 61 67 22 20 6f 72 20 70 72 6f s a "tag" or pro
2f20: 70 65 72 74 79 20 74 68 61 74 20 69 73 20 61 70 perty that is ap
2f30: 70 6c 69 65 64 20 74 6f 0a 73 6f 6d 65 20 6f 74 plied to.some ot
2f40: 68 65 72 20 61 72 74 69 66 61 63 74 2e 20 20 54 her artifact. T
2f50: 68 65 20 54 20 63 61 72 64 20 68 61 73 20 74 77 he T card has tw
2f60: 6f 20 6f 72 20 74 68 72 65 65 20 76 61 6c 75 65 o or three value
2f70: 73 2e 20 20 54 68 65 0a 73 65 63 6f 6e 64 20 61 s. The.second a
2f80: 72 67 75 6d 65 6e 74 20 69 73 20 74 68 65 20 34 rgument is the 4
2f90: 30 20 63 68 61 72 61 63 74 65 72 20 6c 6f 77 65 0 character lowe
2fa0: 72 63 61 73 65 20 61 72 74 69 66 61 63 74 20 49 rcase artifact I
2fb0: 44 20 6f 66 20 74 68 65 20 61 72 74 69 66 61 63 D of the artifac
2fc0: 74 0a 74 6f 20 77 68 69 63 68 20 74 68 65 20 74 t.to which the t
2fd0: 61 67 20 69 73 20 74 6f 20 62 65 20 61 70 70 6c ag is to be appl
2fe0: 69 65 64 2e 20 54 68 65 0a 66 69 72 73 74 20 76 ied. The.first v
2ff0: 61 6c 75 65 20 69 73 20 74 68 65 20 74 61 67 20 alue is the tag
3000: 6e 61 6d 65 2e 20 20 54 68 65 20 66 69 72 73 74 name. The first
3010: 20 63 68 61 72 61 63 74 65 72 20 6f 66 20 74 68 character of th
3020: 65 20 74 61 67 0a 69 73 20 65 69 74 68 65 72 20 e tag.is either
3030: 22 2b 22 2c 20 22 2d 22 2c 20 6f 72 20 22 2a 22 "+", "-", or "*"
3040: 2e 20 20 41 20 22 2b 22 20 6d 65 61 6e 73 20 74 . A "+" means t
3050: 68 65 20 74 61 67 20 73 68 6f 75 6c 64 20 62 65 he tag should be
3060: 20 61 64 64 65 64 0a 74 6f 20 74 68 65 20 61 72 added.to the ar
3070: 74 69 66 61 63 74 2e 20 20 54 68 65 20 22 2d 22 tifact. The "-"
3080: 20 6d 65 61 6e 73 20 74 68 65 20 74 61 67 20 73 means the tag s
3090: 68 6f 75 6c 64 20 62 65 20 72 65 6d 6f 76 65 64 hould be removed
30a0: 2e 0a 54 68 65 20 22 2a 22 20 63 68 61 72 61 63 ..The "*" charac
30b0: 74 65 72 20 6d 65 61 6e 73 20 74 68 65 20 74 61 ter means the ta
30c0: 67 20 73 68 6f 75 6c 64 20 62 65 20 61 64 64 65 g should be adde
30d0: 64 20 74 6f 20 74 68 65 20 61 72 74 69 66 61 63 d to the artifac
30e0: 74 0a 61 6e 64 20 61 6c 6c 20 64 69 72 65 63 74 t.and all direct
30f0: 20 64 65 73 63 65 6e 64 61 6e 74 73 20 28 62 75 descendants (bu
3100: 74 20 6e 6f 74 20 62 72 61 6e 63 68 65 73 29 20 t not branches)
3110: 6f 66 20 74 68 65 20 61 72 74 69 66 61 63 74 20 of the artifact
3120: 64 6f 77 6e 0a 74 6f 20 62 75 74 20 6e 6f 74 20 down.to but not
3130: 69 6e 63 6c 75 64 69 6e 67 20 74 68 65 20 66 69 including the fi
3140: 72 73 74 20 64 65 73 63 65 6e 64 61 6e 74 20 74 rst descendant t
3150: 68 61 74 20 63 6f 6e 74 61 69 6e 73 20 61 20 0a hat contains a .
3160: 6d 6f 72 65 20 72 65 63 65 6e 74 20 22 2d 22 20 more recent "-"
3170: 74 61 67 20 77 69 74 68 20 74 68 65 20 73 61 6d tag with the sam
3180: 65 20 6e 61 6d 65 2e 0a 54 68 65 20 6f 70 74 69 e name..The opti
3190: 6f 6e 61 6c 20 74 68 69 72 64 20 61 72 67 75 6d onal third argum
31a0: 65 6e 74 20 69 73 20 74 68 65 20 76 61 6c 75 65 ent is the value
31b0: 20 6f 66 20 74 68 65 20 74 61 67 2e 20 20 41 20 of the tag. A
31c0: 74 61 67 0a 77 69 74 68 6f 75 74 20 61 20 76 61 tag.without a va
31d0: 6c 75 65 20 69 73 20 61 20 62 6f 6f 6c 65 61 6e lue is a boolean
31e0: 2e 3c 2f 70 3e 0a 0a 3c 70 3e 57 68 65 6e 20 74 .</p>..<p>When t
31f0: 77 6f 20 6f 72 20 6d 6f 72 65 20 74 61 67 73 20 wo or more tags
3200: 77 69 74 68 20 74 68 65 20 73 61 6d 65 20 6e 61 with the same na
3210: 6d 65 20 61 72 65 20 61 70 70 6c 69 65 64 20 74 me are applied t
3220: 6f 20 74 68 65 0a 73 61 6d 65 20 61 72 74 69 66 o the.same artif
3230: 61 63 74 2c 20 74 68 65 20 74 61 67 20 77 69 74 act, the tag wit
3240: 68 20 74 68 65 20 6c 61 74 65 73 74 20 28 6d 6f h the latest (mo
3250: 73 74 20 72 65 63 65 6e 74 29 20 64 61 74 65 20 st recent) date
3260: 69 73 0a 75 73 65 64 2e 3c 2f 70 3e 0a 0a 3c 70 is.used.</p>..<p
3270: 3e 53 6f 6d 65 20 74 61 67 73 20 68 61 76 65 20 >Some tags have
3280: 73 70 65 63 69 61 6c 20 6d 65 61 6e 69 6e 67 2e special meaning.
3290: 20 20 54 68 65 20 22 63 6f 6d 6d 65 6e 74 22 20 The "comment"
32a0: 74 61 67 20 77 68 65 6e 20 61 70 70 6c 69 65 64 tag when applied
32b0: 0a 74 6f 20 61 20 63 68 65 63 6b 2d 69 6e 20 77 .to a check-in w
32c0: 69 6c 6c 20 6f 76 65 72 72 69 64 65 20 74 68 65 ill override the
32d0: 20 63 68 65 63 6b 2d 69 6e 20 63 6f 6d 6d 65 6e check-in commen
32e0: 74 20 6f 66 20 74 68 61 74 20 63 68 65 63 6b 2d t of that check-
32f0: 69 6e 0a 66 6f 72 20 64 69 73 70 6c 61 79 20 70 in.for display p
3300: 75 72 70 6f 73 65 73 2e 3c 2f 70 3e 0a 0a 3c 61 urposes.</p>..<a
3310: 20 6e 61 6d 65 3d 22 77 69 6b 69 63 68 6e 67 22 name="wikichng"
3320: 3e 3c 2f 61 3e 0a 3c 68 32 3e 34 2e 30 20 57 69 ></a>.<h2>4.0 Wi
3330: 6b 69 20 50 61 67 65 73 3c 2f 68 32 3e 0a 0a 3c ki Pages</h2>..<
3340: 70 3e 41 20 77 69 6b 69 20 70 61 67 65 20 69 73 p>A wiki page is
3350: 20 61 6e 20 61 72 74 69 66 61 63 74 20 77 69 74 an artifact wit
3360: 68 20 61 20 66 6f 72 6d 61 74 20 73 69 6d 69 6c h a format simil
3370: 61 72 20 74 6f 20 6d 61 6e 69 66 65 73 74 73 2c ar to manifests,
3380: 0a 63 6c 75 73 74 65 72 73 2c 20 61 6e 64 20 63 .clusters, and c
3390: 6f 6e 74 72 6f 6c 20 61 72 74 69 66 61 63 74 73 ontrol artifacts
33a0: 2e 20 20 54 68 65 20 61 72 74 69 66 61 63 74 20 . The artifact
33b0: 69 73 20 64 69 76 69 64 65 64 20 69 6e 74 6f 0a is divided into.
33c0: 63 61 72 64 73 20 62 79 20 6e 65 77 6c 69 6e 65 cards by newline
33d0: 20 63 68 61 72 61 63 74 65 72 73 2e 20 20 54 68 characters. Th
33e0: 65 20 66 6f 72 6d 61 74 20 6f 66 20 65 61 63 68 e format of each
33f0: 20 63 61 72 64 20 69 73 20 61 73 20 69 6e 0a 6d card is as in.m
3400: 61 6e 69 66 65 73 74 73 2c 20 63 6c 75 73 74 65 anifests, cluste
3410: 72 73 2c 20 61 6e 64 20 63 6f 6e 74 72 6f 6c 20 rs, and control
3420: 61 72 74 69 66 61 63 74 73 2e 20 20 57 69 6b 69 artifacts. Wiki
3430: 20 61 72 74 69 66 61 63 74 73 20 61 63 63 65 70 artifacts accep
3440: 74 0a 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 t.the following
3450: 63 61 72 64 20 74 79 70 65 73 3a 3c 2f 70 3e 0a card types:</p>.
3460: 0a 3c 62 6c 6f 63 6b 71 75 6f 74 65 3e 0a 3c 62 .<blockquote>.<b
3470: 3e 44 3c 2f 62 3e 20 3c 69 3e 74 69 6d 65 2d 61 >D</b> <i>time-a
3480: 6e 64 2d 64 61 74 65 2d 73 74 61 6d 70 3c 2f 69 nd-date-stamp</i
3490: 3e 3c 62 72 20 2f 3e 0a 3c 62 3e 4c 3c 2f 62 3e ><br />.<b>L</b>
34a0: 20 3c 69 3e 77 69 6b 69 2d 74 69 74 6c 65 3c 2f <i>wiki-title</
34b0: 69 3e 3c 62 72 20 2f 3e 0a 3c 62 3e 50 3c 2f 62 i><br />.<b>P</b
34c0: 3e 20 3c 69 3e 70 61 72 65 6e 74 2d 61 72 74 69 > <i>parent-arti
34d0: 66 61 63 74 2d 69 64 3c 2f 69 3e 2b 3c 62 72 20 fact-id</i>+<br
34e0: 2f 3e 0a 3c 62 3e 55 3c 2f 62 3e 20 3c 69 3e 75 />.<b>U</b> <i>u
34f0: 73 65 72 2d 6e 61 6d 65 3c 2f 69 3e 3c 62 72 20 ser-name</i><br
3500: 2f 3e 0a 3c 62 3e 57 3c 2f 62 3e 20 3c 69 3e 73 />.<b>W</b> <i>s
3510: 69 7a 65 3c 2f 69 3e 20 3c 62 3e 5c 6e 3c 2f 62 ize</i> <b>\n</b
3520: 3e 20 3c 69 3e 74 65 78 74 3c 2f 69 3e 20 3c 62 > <i>text</i> <b
3530: 3e 5c 6e 3c 2f 62 3e 3c 62 72 20 2f 3e 0a 3c 62 >\n</b><br />.<b
3540: 3e 5a 3c 2f 62 3e 20 3c 69 3e 63 68 65 63 6b 73 >Z</b> <i>checks
3550: 75 6d 3c 2f 69 3e 0a 3c 2f 62 6c 6f 63 6b 71 75 um</i>.</blockqu
3560: 6f 74 65 3e 0a 0a 3c 70 3e 54 68 65 20 44 20 63 ote>..<p>The D c
3570: 61 72 64 20 69 73 20 74 68 65 20 64 61 74 65 20 ard is the date
3580: 61 6e 64 20 74 69 6d 65 20 77 68 65 6e 20 74 68 and time when th
3590: 65 20 77 69 6b 69 20 70 61 67 65 20 77 61 73 20 e wiki page was
35a0: 65 64 69 74 65 64 2e 0a 54 68 65 20 50 20 63 61 edited..The P ca
35b0: 72 64 20 73 70 65 63 69 66 69 65 73 20 74 68 65 rd specifies the
35c0: 20 70 61 72 65 6e 74 20 77 69 6b 69 20 70 61 67 parent wiki pag
35d0: 65 73 2c 20 69 66 20 61 6e 79 2e 20 20 54 68 65 es, if any. The
35e0: 20 4c 20 63 61 72 64 0a 67 69 76 65 73 20 74 68 L card.gives th
35f0: 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 77 69 e name of the wi
3600: 6b 69 20 70 61 67 65 2e 20 20 54 68 65 20 55 20 ki page. The U
3610: 63 61 72 64 20 73 70 65 63 69 66 69 65 73 20 74 card specifies t
3620: 68 65 20 6c 6f 67 69 6e 0a 6f 66 20 74 68 65 20 he login.of the
3630: 75 73 65 72 20 77 68 6f 20 6d 61 64 65 20 74 68 user who made th
3640: 69 73 20 65 64 69 74 20 74 6f 20 74 68 65 20 77 is edit to the w
3650: 69 6b 69 20 70 61 67 65 2e 20 20 54 68 65 20 5a iki page. The Z
3660: 20 63 61 72 64 20 69 73 0a 74 68 65 20 75 73 75 card is.the usu
3670: 61 6c 20 63 68 65 63 6b 73 75 6d 20 6f 76 65 72 al checksum over
3680: 20 74 68 65 20 65 69 74 68 65 72 20 61 72 74 69 the either arti
3690: 66 61 63 74 2e 3c 2f 70 3e 0a 0a 3c 70 3e 54 68 fact.</p>..<p>Th
36a0: 65 20 57 20 63 61 72 64 20 69 73 20 75 73 65 64 e W card is used
36b0: 20 74 6f 20 73 70 65 63 69 66 79 20 74 68 65 20 to specify the
36c0: 74 65 78 74 20 6f 66 20 74 68 65 20 77 69 6b 69 text of the wiki
36d0: 20 70 61 67 65 2e 20 20 54 68 65 0a 61 72 67 75 page. The.argu
36e0: 6d 65 6e 74 20 74 6f 20 74 68 65 20 57 20 63 61 ment to the W ca
36f0: 72 64 20 69 73 20 61 6e 20 69 6e 74 65 67 65 72 rd is an integer
3700: 20 77 68 69 63 68 20 69 73 20 74 68 65 20 6e 75 which is the nu
3710: 6d 62 65 72 20 6f 66 20 62 79 74 65 73 0a 6f 66 mber of bytes.of
3720: 20 74 65 78 74 20 69 6e 20 74 68 65 20 77 69 6b text in the wik
3730: 69 20 70 61 67 65 2e 20 20 54 68 61 74 20 74 65 i page. That te
3740: 78 74 20 66 6f 6c 6c 6f 77 73 20 74 68 65 20 6e xt follows the n
3750: 65 77 6c 69 6e 65 20 63 68 61 72 61 63 74 65 72 ewline character
3760: 0a 74 68 61 74 20 74 65 72 6d 69 6e 61 74 65 73 .that terminates
3770: 20 74 68 65 20 57 20 63 61 72 64 2e 20 20 54 68 the W card. Th
3780: 65 20 77 69 6b 69 20 74 65 78 74 20 69 73 20 61 e wiki text is a
3790: 6c 77 61 79 73 20 66 6f 6c 6c 6f 77 65 64 20 62 lways followed b
37a0: 79 20 6f 6e 65 0a 65 78 74 72 61 20 6e 65 77 6c y one.extra newl
37b0: 69 6e 65 2e 3c 2f 70 3e 0a 0a 3c 61 20 6e 61 6d ine.</p>..<a nam
37c0: 65 3d 22 74 6b 74 63 68 6e 67 22 3e 3c 2f 61 3e e="tktchng"></a>
37d0: 0a 3c 68 32 3e 35 2e 30 20 54 69 63 6b 65 74 20 .<h2>5.0 Ticket
37e0: 43 68 61 6e 67 65 73 3c 2f 68 32 3e 0a 0a 3c 70 Changes</h2>..<p
37f0: 3e 41 20 74 69 63 6b 65 74 2d 63 68 61 6e 67 65 >A ticket-change
3800: 20 61 72 74 69 66 61 63 74 20 72 65 70 72 65 73 artifact repres
3810: 65 6e 74 73 20 61 20 63 68 61 6e 67 65 20 74 6f ents a change to
3820: 20 61 20 74 72 6f 75 62 6c 65 20 74 69 63 6b 65 a trouble ticke
3830: 74 2e 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 t..The following
3840: 20 63 61 72 64 73 20 61 72 65 20 61 6c 6c 6f 77 cards are allow
3850: 65 64 20 6f 6e 20 61 20 74 69 63 6b 65 74 20 63 ed on a ticket c
3860: 68 61 6e 67 65 20 61 72 74 69 66 61 63 74 3a 3c hange artifact:<
3870: 2f 70 3e 0a 0a 3c 62 6c 6f 63 6b 71 75 6f 74 65 /p>..<blockquote
3880: 3e 0a 3c 62 3e 44 3c 2f 62 3e 20 3c 69 3e 74 69 >.<b>D</b> <i>ti
3890: 6d 65 2d 61 6e 64 2d 64 61 74 65 2d 73 74 61 6d me-and-date-stam
38a0: 70 3c 2f 69 3e 3c 62 72 20 2f 3e 0a 3c 62 3e 4a p</i><br />.<b>J
38b0: 3c 2f 62 3e 20 3f 3c 62 3e 2b 3c 2f 62 3e 3f 3c </b> ?<b>+</b>?<
38c0: 69 3e 6e 61 6d 65 3c 2f 69 3e 20 3f 3c 69 3e 76 i>name</i> ?<i>v
38d0: 61 6c 75 65 3c 2f 69 3e 3f 3c 62 72 20 2f 3e 0a alue</i>?<br />.
38e0: 3c 62 3e 4b 3c 2f 62 3e 20 3c 69 3e 74 69 63 6b <b>K</b> <i>tick
38f0: 65 74 2d 69 64 3c 2f 69 3e 3c 62 72 20 2f 3e 0a et-id</i><br />.
3900: 3c 62 3e 55 3c 2f 62 3e 20 3c 69 3e 75 73 65 72 <b>U</b> <i>user
3910: 2d 6e 61 6d 65 3c 2f 69 3e 3c 62 72 20 2f 3e 0a -name</i><br />.
3920: 3c 62 3e 5a 3c 2f 62 3e 20 3c 69 3e 63 68 65 63 <b>Z</b> <i>chec
3930: 6b 73 75 6d 3c 2f 69 3e 0a 3c 2f 62 6c 6f 63 6b ksum</i>.</block
3940: 71 75 6f 74 65 3e 0a 0a 3c 70 3e 0a 54 68 65 20 quote>..<p>.The
3950: 44 20 63 61 72 64 20 69 73 20 74 68 65 20 75 73 D card is the us
3960: 75 61 6c 20 64 61 74 65 20 61 6e 64 20 74 69 6d ual date and tim
3970: 65 20 73 74 61 6d 70 20 61 6e 64 20 72 65 70 72 e stamp and repr
3980: 65 73 65 6e 74 73 20 74 68 65 20 70 6f 69 6e 74 esents the point
3990: 0a 69 6e 20 74 69 6d 65 20 77 68 65 6e 20 74 68 .in time when th
39a0: 65 20 63 68 61 6e 67 65 20 77 61 73 20 65 6e 74 e change was ent
39b0: 65 72 65 64 2e 20 20 54 68 65 20 55 20 63 61 72 ered. The U car
39c0: 64 20 69 73 20 74 68 65 20 6c 6f 67 69 6e 20 6f d is the login o
39d0: 66 20 74 68 65 0a 70 72 6f 67 72 61 6d 6d 65 72 f the.programmer
39e0: 20 77 68 6f 20 65 6e 74 65 72 65 64 20 74 68 69 who entered thi
39f0: 73 20 63 68 61 6e 67 65 2e 20 20 54 68 65 20 5a s change. The Z
3a00: 20 63 61 72 64 20 69 73 20 74 68 65 20 63 68 65 card is the che
3a10: 63 6b 73 75 6d 20 6f 76 65 72 0a 74 68 65 20 65 cksum over.the e
3a20: 6e 74 69 72 65 20 61 72 74 69 66 61 63 74 2e 3c ntire artifact.<
3a30: 2f 70 3e 0a 0a 3c 70 3e 0a 45 76 65 72 79 20 74 /p>..<p>.Every t
3a40: 69 63 6b 65 74 20 68 61 73 20 61 20 75 6e 69 71 icket has a uniq
3a50: 75 65 20 49 44 2e 20 20 54 68 65 20 74 69 63 6b ue ID. The tick
3a60: 65 74 20 74 6f 20 77 68 69 63 68 20 74 68 69 73 et to which this
3a70: 20 63 68 61 6e 67 65 20 69 73 20 61 70 70 6c 69 change is appli
3a80: 65 64 0a 69 73 20 73 70 65 63 69 66 69 65 64 20 ed.is specified
3a90: 62 79 20 74 68 65 20 4b 20 63 61 72 64 2e 20 20 by the K card.
3aa0: 41 20 74 69 63 6b 65 74 20 65 78 69 73 74 73 20 A ticket exists
3ab0: 69 66 20 69 74 20 63 6f 6e 74 61 69 6e 73 20 6f if it contains o
3ac0: 6e 65 20 6f 72 0a 6d 6f 72 65 20 63 68 61 6e 67 ne or.more chang
3ad0: 65 73 2e 20 20 54 68 65 20 66 69 72 73 74 20 22 es. The first "
3ae0: 63 68 61 6e 67 65 22 20 74 6f 20 61 20 74 69 63 change" to a tic
3af0: 6b 65 74 20 69 73 20 77 68 61 74 20 62 72 69 6e ket is what brin
3b00: 67 73 20 74 68 65 0a 74 69 63 6b 65 74 20 69 6e gs the.ticket in
3b10: 74 6f 20 65 78 69 73 74 65 6e 63 65 2e 3c 2f 70 to existence.</p
3b20: 3e 0a 0a 3c 70 3e 0a 4a 20 63 61 72 64 73 20 73 >..<p>.J cards s
3b30: 70 65 63 69 66 79 20 63 68 61 6e 67 65 73 20 74 pecify changes t
3b40: 6f 20 74 68 65 20 22 76 61 6c 75 65 22 20 6f 66 o the "value" of
3b50: 20 22 66 69 65 6c 64 73 22 20 69 6e 20 74 68 65 "fields" in the
3b60: 20 74 69 63 6b 65 74 2e 0a 49 66 20 74 68 65 20 ticket..If the
3b70: 3c 69 3e 76 61 6c 75 65 3c 2f 69 3e 20 70 61 72 <i>value</i> par
3b80: 61 6d 65 74 65 72 20 6f 66 20 74 68 65 20 4a 20 ameter of the J
3b90: 63 61 72 64 20 69 73 20 6f 6d 69 74 74 65 64 2c card is omitted,
3ba0: 20 74 68 65 6e 20 74 68 65 0a 66 69 65 6c 64 20 then the.field
3bb0: 69 73 20 73 65 74 20 74 6f 20 61 6e 20 65 6d 70 is set to an emp
3bc0: 74 79 20 73 74 72 69 6e 67 2e 0a 45 61 63 68 20 ty string..Each
3bd0: 66 6f 73 73 69 6c 20 73 65 72 76 65 72 20 68 61 fossil server ha
3be0: 73 20 61 20 74 69 63 6b 65 74 20 63 6f 6e 66 69 s a ticket confi
3bf0: 67 75 72 61 74 69 6f 6e 20 77 68 69 63 68 20 73 guration which s
3c00: 70 65 63 69 66 69 65 73 20 74 68 65 20 66 69 65 pecifies the fie
3c10: 6c 64 73 20 69 74 73 0a 75 6e 64 65 72 73 74 61 lds its.understa
3c20: 6e 64 73 2e 20 20 54 68 65 20 74 69 63 6b 65 74 nds. The ticket
3c30: 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 69 configuration i
3c40: 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 6c 6f s part of the lo
3c50: 63 61 6c 20 73 74 61 74 65 20 66 6f 72 0a 74 68 cal state for.th
3c60: 65 20 72 65 70 6f 73 69 74 6f 72 79 20 61 6e 64 e repository and
3c70: 20 74 68 75 73 20 63 61 6e 20 76 61 72 79 20 66 thus can vary f
3c80: 72 6f 6d 20 6f 6e 65 20 72 65 70 6f 73 69 74 6f rom one reposito
3c90: 72 79 20 74 6f 20 61 6e 6f 74 68 65 72 2e 0a 48 ry to another..H
3ca0: 65 6e 63 65 20 61 20 4a 20 63 61 72 64 20 6d 69 ence a J card mi
3cb0: 67 68 74 20 73 70 65 63 69 66 79 20 61 20 3c 69 ght specify a <i
3cc0: 3e 66 69 65 6c 64 3c 2f 69 3e 20 74 68 61 74 20 >field</i> that
3cd0: 64 6f 20 6e 6f 74 20 65 78 69 73 74 20 69 6e 20 do not exist in
3ce0: 74 68 65 20 0a 6c 6f 63 61 6c 20 74 69 63 6b 65 the .local ticke
3cf0: 74 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 2e t configuration.
3d00: 20 20 49 66 20 61 20 4a 20 63 61 72 64 20 73 70 If a J card sp
3d10: 65 63 69 66 69 65 73 20 61 20 3c 69 3e 66 69 65 ecifies a <i>fie
3d20: 6c 64 3c 2f 69 3e 20 74 68 61 74 0a 69 73 20 6e ld</i> that.is n
3d30: 6f 74 20 69 6e 20 74 68 65 20 6c 6f 63 61 6c 20 ot in the local
3d40: 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 2c 20 74 configuration, t
3d50: 68 65 6e 20 74 68 61 74 20 4a 20 63 61 72 64 0a hen that J card.
3d60: 69 73 20 73 69 6d 70 6c 79 20 69 67 6e 6f 72 65 is simply ignore
3d70: 64 2e 3c 2f 70 3e 0a 0a 3c 70 3e 0a 54 68 65 20 d.</p>..<p>.The
3d80: 66 69 72 73 74 20 61 72 67 75 6d 65 6e 74 20 6f first argument o
3d90: 66 20 74 68 65 20 4a 20 63 61 72 64 20 69 73 20 f the J card is
3da0: 74 68 65 20 66 69 65 6c 64 20 6e 61 6d 65 2e 20 the field name.
3db0: 20 54 68 65 20 73 65 63 6f 6e 64 0a 76 61 6c 75 The second.valu
3dc0: 65 20 69 73 20 74 68 65 20 66 69 65 6c 64 20 76 e is the field v
3dd0: 61 6c 75 65 2e 20 20 49 66 20 74 68 65 20 66 69 alue. If the fi
3de0: 65 6c 64 20 6e 61 6d 65 20 62 65 67 69 6e 73 20 eld name begins
3df0: 77 69 74 68 20 22 2b 22 20 74 68 65 6e 0a 74 68 with "+" then.th
3e00: 65 20 76 61 6c 75 65 20 69 73 20 61 70 70 65 6e e value is appen
3e10: 64 65 64 20 74 6f 20 74 68 65 20 70 72 69 6f 72 ded to the prior
3e20: 20 76 61 6c 75 65 2e 20 20 4f 74 68 65 72 77 69 value. Otherwi
3e30: 73 65 2c 20 74 68 65 20 76 61 6c 75 65 0a 6f 6e se, the value.on
3e40: 20 74 68 65 20 4a 20 63 61 72 64 20 72 65 70 6c the J card repl
3e50: 61 63 65 73 20 61 6e 79 20 70 72 65 76 69 6f 75 aces any previou
3e60: 73 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 66 s value of the f
3e70: 69 65 6c 64 2e 0a 54 68 65 20 66 69 65 6c 64 20 ield..The field
3e80: 6e 61 6d 65 20 61 6e 64 20 76 61 6c 75 65 20 61 name and value a
3e90: 72 65 20 62 6f 74 68 20 65 6e 63 6f 64 65 64 20 re both encoded
3ea0: 75 73 69 6e 67 20 74 68 65 20 63 68 61 72 61 63 using the charac
3eb0: 74 65 72 0a 65 73 63 61 70 65 73 20 64 65 66 69 ter.escapes defi
3ec0: 6e 65 64 20 66 6f 72 20 74 68 65 20 43 20 63 61 ned for the C ca
3ed0: 72 64 20 6f 66 20 61 20 6d 61 6e 69 66 65 73 74 rd of a manifest
3ee0: 2e 0a 3c 2f 70 3e 0a ..</p>.