Hex Artifact Content
Not logged in

Artifact 7e9e427973c57a5f4460f62e7c9319dbb783b764:

File www/fileformat.html part of check-in [2bc0e2c565] - Work toward adding a tagging system. Code compiles but is incomplete and probably does not work. by drh on 2007-09-21 02:41:53.

0000: 3c 68 74 6d 6c 3e 0a 3c 68 65 61 64 3e 0a 3c 74  <html>.<head>.<t
0010: 69 74 6c 65 3e 46 6f 73 73 69 6c 20 46 69 6c 65  itle>Fossil File
0020: 20 46 6f 72 6d 61 74 3c 2f 74 69 74 6c 65 3e 0a   Format</title>.
0030: 3c 2f 68 65 61 64 3e 0a 3c 62 6f 64 79 20 62 67  </head>.<body bg
0040: 63 6f 6c 6f 72 3d 22 77 68 69 74 65 22 3e 0a 3c  color="white">.<
0050: 70 3e 5b 20 3c 61 20 68 72 65 66 3d 22 69 6e 64  p>[ <a href="ind
0060: 65 78 2e 68 74 6d 6c 22 3e 49 6e 64 65 78 3c 2f  ex.html">Index</
0070: 61 3e 20 5d 3c 2f 70 3e 0a 3c 68 72 3e 0a 3c 68  a> ]</p>.<hr>.<h
0080: 31 20 61 6c 69 67 6e 3d 22 63 65 6e 74 65 72 22  1 align="center"
0090: 3e 0a 46 6f 73 73 69 6c 20 46 69 6c 65 20 46 6f  >.Fossil File Fo
00a0: 72 6d 61 74 73 0a 3c 2f 68 31 3e 0a 0a 3c 70 3e  rmats.</h1>..<p>
00b0: 0a 54 68 65 20 67 6c 6f 62 61 6c 20 73 74 61 74  .The global stat
00c0: 65 20 6f 66 20 61 20 66 6f 73 73 69 6c 20 72 65  e of a fossil re
00d0: 70 6f 73 69 74 6f 72 79 20 69 73 20 64 65 74 65  pository is dete
00e0: 72 6d 69 6e 65 64 20 62 79 20 61 6e 20 75 6e 6f  rmined by an uno
00f0: 72 64 65 72 65 64 0a 73 65 74 20 6f 66 20 66 69  rdered.set of fi
0100: 6c 65 73 2e 20 20 53 6f 6d 65 20 66 69 6c 65 73  les.  Some files
0110: 20 61 72 65 20 75 73 65 64 20 74 6f 20 72 65 70   are used to rep
0120: 72 65 73 65 6e 74 20 77 69 6b 69 20 70 61 67 65  resent wiki page
0130: 73 2c 20 74 72 6f 75 62 6c 65 20 74 69 63 6b 65  s, trouble ticke
0140: 74 73 2c 0a 61 6e 64 20 74 68 65 20 73 70 65 63  ts,.and the spec
0150: 69 61 6c 20 22 6d 61 6e 69 66 65 73 74 22 20 66  ial "manifest" f
0160: 69 6c 65 20 68 61 73 20 61 20 73 70 65 63 69 66  ile has a specif
0170: 69 63 20 61 6e 64 20 77 65 6c 6c 2d 64 65 66 69  ic and well-defi
0180: 6e 65 64 20 66 6f 72 6d 61 74 2e 0a 4f 74 68 65  ned format..Othe
0190: 72 20 66 69 6c 65 73 20 61 72 65 20 6a 75 73 74  r files are just
01a0: 20 64 61 74 61 2e 20 20 46 69 6c 65 73 20 63 61   data.  Files ca
01b0: 6e 20 62 65 20 74 65 78 74 20 6f 72 20 62 69 6e  n be text or bin
01c0: 61 72 79 2e 0a 3c 2f 70 3e 0a 0a 3c 70 3e 0a 45  ary..</p>..<p>.E
01d0: 61 63 68 20 66 69 6c 65 20 69 6e 20 74 68 65 20  ach file in the 
01e0: 72 65 70 6f 73 69 74 6f 72 79 20 69 73 20 6e 61  repository is na
01f0: 6d 65 64 20 62 79 20 69 74 73 20 53 48 41 31 20  med by its SHA1 
0200: 68 61 73 68 2e 0a 4e 6f 20 70 72 65 66 69 78 65  hash..No prefixe
0210: 73 20 6f 72 20 6d 65 74 61 20 69 6e 66 6f 72 6d  s or meta inform
0220: 61 74 69 6f 6e 20 69 73 20 61 64 64 65 64 20 74  ation is added t
0230: 6f 20 61 20 66 69 6c 65 20 62 65 66 6f 72 65 0a  o a file before.
0240: 69 74 73 20 68 61 73 68 20 69 73 20 63 6f 6d 70  its hash is comp
0250: 75 74 65 64 2e 20 20 54 68 65 20 6e 61 6d 65 20  uted.  The name 
0260: 6f 66 20 61 20 66 69 6c 65 20 69 6e 20 74 68 65  of a file in the
0270: 20 72 65 70 6f 73 69 74 6f 72 79 0a 69 73 20 65   repository.is e
0280: 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20  xactly the same 
0290: 53 48 41 31 20 68 61 73 68 20 74 68 61 74 20 69  SHA1 hash that i
02a0: 73 20 63 6f 6d 70 75 74 65 64 20 62 79 20 73 68  s computed by sh
02b0: 61 31 73 75 6d 20 0a 6f 6e 20 74 68 65 20 66 69  a1sum .on the fi
02c0: 6c 65 20 61 73 20 69 74 20 65 78 69 73 74 73 20  le as it exists 
02d0: 69 6e 20 79 6f 75 72 20 73 6f 75 72 63 65 20 74  in your source t
02e0: 72 65 65 2e 3c 2f 70 3e 0a 0a 3c 70 3e 0a 53 6f  ree.</p>..<p>.So
02f0: 6d 65 20 66 69 6c 65 73 20 68 61 76 65 20 61 20  me files have a 
0300: 70 61 72 74 69 63 75 6c 61 72 20 66 6f 72 6d 61  particular forma
0310: 74 20 77 68 69 63 68 20 71 75 61 6c 69 66 69 65  t which qualifie
0320: 73 20 74 68 65 6d 0a 61 73 20 22 6d 61 6e 69 66  s them.as "manif
0330: 65 73 74 73 22 2e 20 20 41 20 6d 61 6e 69 66 65  ests".  A manife
0340: 73 74 20 61 73 73 69 67 6e 73 20 66 69 6c 65 6e  st assigns filen
0350: 61 6d 65 73 20 74 6f 20 61 20 73 75 62 73 65 74  ames to a subset
0360: 0a 6f 66 20 74 68 65 20 66 69 6c 65 73 20 69 6e  .of the files in
0370: 20 74 68 65 20 72 65 70 6f 73 69 74 6f 72 79 2c   the repository,
0380: 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 70 72 6f   in order to pro
0390: 76 69 64 65 20 61 0a 73 6e 61 70 73 68 6f 74 20  vide a.snapshot 
03a0: 6f 66 20 74 68 65 20 73 74 61 74 65 20 6f 66 20  of the state of 
03b0: 74 68 65 20 70 72 6f 6a 65 63 74 20 61 74 20 61  the project at a
03c0: 20 70 6f 69 6e 74 20 69 6e 20 74 69 6d 65 2e 0a   point in time..
03d0: 45 61 63 68 20 6d 61 6e 69 66 65 73 74 20 66 69  Each manifest fi
03e0: 6c 65 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74  le corresponds t
03f0: 6f 20 61 20 76 65 72 73 69 6f 6e 20 6f 72 20 62  o a version or b
0400: 61 73 65 6c 69 6e 65 0a 6f 66 20 74 68 65 20 70  aseline.of the p
0410: 72 6f 6a 65 63 74 2e 0a 3c 2f 70 3e 0a 0a 3c 68  roject..</p>..<h
0420: 32 3e 31 2e 30 20 54 68 65 20 4d 61 6e 69 66 65  2>1.0 The Manife
0430: 73 74 20 46 69 6c 65 3c 2f 68 32 3e 0a 0a 3c 70  st File</h2>..<p
0440: 3e 0a 41 6e 79 20 66 69 6c 65 20 69 6e 20 74 68  >.Any file in th
0450: 65 20 72 65 70 6f 73 69 74 6f 72 79 20 74 68 61  e repository tha
0460: 74 20 66 6f 6c 6c 6f 77 73 20 74 68 65 20 73 79  t follows the sy
0470: 6e 74 61 63 74 69 63 20 72 75 6c 65 73 0a 6f 66  ntactic rules.of
0480: 20 61 20 6d 61 6e 69 66 65 73 74 20 69 73 20 61   a manifest is a
0490: 20 6d 61 6e 69 66 65 73 74 2e 20 20 4e 6f 74 65   manifest.  Note
04a0: 20 74 68 61 74 20 61 20 6d 61 6e 69 66 65 73 74   that a manifest
04b0: 20 63 61 6e 0a 62 65 20 62 6f 74 68 20 61 20 72   can.be both a r
04c0: 65 61 6c 20 6d 61 6e 69 66 65 73 74 20 61 6e 64  eal manifest and
04d0: 20 61 6c 73 6f 20 61 20 63 6f 6e 74 65 6e 74 20   also a content 
04e0: 66 69 6c 65 2c 20 74 68 6f 75 67 68 20 74 68 69  file, though thi
04f0: 73 0a 69 73 20 72 61 72 65 2e 0a 3c 2f 70 3e 0a  s.is rare..</p>.
0500: 0a 3c 70 3e 0a 41 20 6d 61 6e 69 66 65 73 74 20  .<p>.A manifest 
0510: 69 73 20 61 20 6c 69 6e 65 2d 6f 72 69 65 6e 74  is a line-orient
0520: 65 64 20 74 65 78 74 20 66 69 6c 65 2e 20 20 4e  ed text file.  N
0530: 65 77 6c 69 6e 65 20 63 68 61 72 61 63 74 65 72  ewline character
0540: 73 0a 28 41 53 43 49 49 20 30 78 30 61 29 20 73  s.(ASCII 0x0a) s
0550: 65 70 61 72 61 74 65 20 6c 69 6e 65 73 2e 20 20  eparate lines.  
0560: 45 61 63 68 20 6c 69 6e 65 20 62 65 67 69 6e 73  Each line begins
0570: 20 77 69 74 68 20 61 20 73 69 6e 67 6c 65 0a 63   with a single.c
0580: 68 61 72 61 63 74 65 72 20 22 6c 69 6e 65 20 74  haracter "line t
0590: 79 70 65 22 2e 20 20 5a 65 72 6f 20 6f 72 20 6d  ype".  Zero or m
05a0: 6f 72 65 20 61 72 67 75 6d 65 6e 74 73 20 6d 61  ore arguments ma
05b0: 79 20 66 6f 6c 6c 6f 77 0a 74 68 65 20 6c 69 6e  y follow.the lin
05c0: 65 20 74 79 70 65 2e 20 20 41 6c 6c 20 61 72 67  e type.  All arg
05d0: 75 6d 65 6e 74 73 20 61 72 65 20 73 65 70 61 72  uments are separ
05e0: 61 74 65 64 20 66 72 6f 6d 20 65 61 63 68 20 6f  ated from each o
05f0: 74 68 65 72 0a 61 6e 64 20 66 72 6f 6d 20 74 68  ther.and from th
0600: 65 20 6c 69 6e 65 2d 74 79 70 65 20 63 68 61 72  e line-type char
0610: 61 63 74 65 72 20 62 79 20 61 20 73 69 6e 67 6c  acter by a singl
0620: 65 20 73 70 61 63 65 0a 63 68 61 72 61 63 74 65  e space.characte
0630: 72 2e 20 20 54 68 65 72 65 20 69 73 20 6e 6f 20  r.  There is no 
0640: 73 75 72 70 6c 75 73 20 77 68 69 74 65 20 73 70  surplus white sp
0650: 61 63 65 20 62 65 74 77 65 65 6e 20 61 72 67 75  ace between argu
0660: 6d 65 6e 74 73 0a 61 6e 64 20 6e 6f 20 6c 65 61  ments.and no lea
0670: 64 69 6e 67 20 6f 72 20 74 72 61 69 6c 69 6e 67  ding or trailing
0680: 20 77 68 69 74 65 73 70 61 63 65 20 65 78 63 65   whitespace exce
0690: 70 74 20 66 6f 72 20 74 68 65 20 6e 65 77 6c 69  pt for the newli
06a0: 6e 65 20 0a 63 68 61 72 61 63 74 65 72 20 74 68  ne .character th
06b0: 61 74 20 61 63 74 73 20 61 73 20 74 68 65 20 6c  at acts as the l
06c0: 69 6e 65 20 73 65 70 61 72 61 74 6f 72 2e 0a 3c  ine separator..<
06d0: 2f 70 3e 0a 0a 3c 70 3e 0a 41 6c 6c 20 6c 69 6e  /p>..<p>.All lin
06e0: 65 73 20 6f 66 20 74 68 65 20 6d 61 6e 69 66 65  es of the manife
06f0: 73 74 20 6f 63 63 75 72 20 69 6e 20 73 74 72 69  st occur in stri
0700: 63 74 20 73 6f 72 74 65 64 20 6c 65 78 69 63 6f  ct sorted lexico
0710: 67 72 61 70 68 69 63 61 6c 20 6f 72 64 65 72 2e  graphical order.
0720: 0a 4e 6f 20 6c 69 6e 65 20 6d 61 79 20 62 65 20  .No line may be 
0730: 64 75 70 6c 69 63 61 74 65 64 2e 0a 54 68 65 20  duplicated..The 
0740: 65 6e 74 69 72 65 20 6d 61 6e 69 66 65 73 74 20  entire manifest 
0750: 66 69 6c 65 20 6d 61 79 20 62 65 20 50 47 50 20  file may be PGP 
0760: 63 6c 65 61 72 2d 73 69 67 6e 65 64 2c 20 62 75  clear-signed, bu
0770: 74 20 6f 74 68 65 72 77 69 73 65 20 69 74 0a 6d  t otherwise it.m
0780: 61 79 20 63 6f 6e 74 61 69 6e 20 6e 6f 20 61 64  ay contain no ad
0790: 64 69 74 69 6f 6e 61 6c 20 74 65 78 74 20 6f 72  ditional text or
07a0: 20 64 61 74 61 20 62 65 79 6f 6e 64 20 77 68 61   data beyond wha
07b0: 74 20 69 73 20 64 65 73 63 72 69 62 65 64 20 68  t is described h
07c0: 65 72 65 2e 0a 3c 2f 70 3e 0a 0a 3c 70 3e 0a 41  ere..</p>..<p>.A
07d0: 6c 6c 6f 77 65 64 20 6c 69 6e 65 73 20 69 6e 20  llowed lines in 
07e0: 74 68 65 20 6d 61 6e 69 66 65 73 74 20 61 72 65  the manifest are
07f0: 20 61 73 20 66 6f 6c 6c 6f 77 73 3a 0a 3c 2f 70   as follows:.</p
0800: 3e 0a 0a 3c 62 6c 6f 63 6b 71 75 6f 74 65 3e 0a  >..<blockquote>.
0810: 3c 62 3e 43 3c 2f 62 3e 20 3c 69 3e 63 68 65 63  <b>C</b> <i>chec
0820: 6b 69 6e 2d 63 6f 6d 6d 65 6e 74 3c 2f 69 3e 3c  kin-comment</i><
0830: 62 72 3e 0a 3c 62 3e 44 3c 2f 62 3e 20 3c 69 3e  br>.<b>D</b> <i>
0840: 74 69 6d 65 2d 61 6e 64 2d 64 61 74 65 2d 73 74  time-and-date-st
0850: 61 6d 70 3c 2f 69 3e 3c 62 72 3e 0a 3c 62 3e 46  amp</i><br>.<b>F
0860: 3c 2f 62 3e 20 3c 69 3e 66 69 6c 65 6e 61 6d 65  </b> <i>filename
0870: 3c 2f 69 3e 20 3c 69 3e 53 48 41 31 2d 68 61 73  </i> <i>SHA1-has
0880: 68 3c 2f 69 3e 3c 62 72 3e 0a 3c 62 3e 50 3c 2f  h</i><br>.<b>P</
0890: 62 3e 20 3c 69 3e 53 48 41 31 2d 68 61 73 68 3c  b> <i>SHA1-hash<
08a0: 2f 69 3e 2b 3c 62 72 3e 0a 3c 62 3e 52 3c 2f 62  /i>+<br>.<b>R</b
08b0: 3e 20 3c 69 3e 72 65 70 6f 73 69 74 6f 72 79 2d  > <i>repository-
08c0: 63 68 65 63 6b 73 75 6d 3c 2f 69 3e 3c 62 72 3e  checksum</i><br>
08d0: 0a 3c 62 3e 55 3c 2f 62 3e 20 3c 69 3e 75 73 65  .<b>U</b> <i>use
08e0: 72 2d 6c 6f 67 69 6e 3c 2f 69 3e 3c 62 72 3e 0a  r-login</i><br>.
08f0: 3c 62 3e 5a 3c 2f 62 3e 20 3c 69 3e 6d 61 6e 69  <b>Z</b> <i>mani
0900: 66 65 73 74 2d 63 68 65 63 6b 73 75 6d 3c 2f 69  fest-checksum</i
0910: 3e 0a 3c 2f 62 6c 6f 63 6b 71 75 6f 74 65 3e 0a  >.</blockquote>.
0920: 0a 3c 70 3e 0a 41 20 6d 61 6e 69 66 65 73 74 20  .<p>.A manifest 
0930: 6d 75 73 74 20 68 61 76 65 20 65 78 61 63 74 6c  must have exactl
0940: 79 20 6f 6e 65 20 43 2d 6c 69 6e 65 2e 20 20 54  y one C-line.  T
0950: 68 65 20 73 6f 6c 65 20 61 72 67 75 6d 65 6e 74  he sole argument
0960: 20 74 6f 0a 74 68 65 20 43 2d 6c 69 6e 65 20 69   to.the C-line i
0970: 73 20 61 20 63 68 65 63 6b 2d 69 6e 20 63 6f 6d  s a check-in com
0980: 6d 65 6e 74 20 74 68 61 74 20 64 65 73 63 72 69  ment that descri
0990: 62 65 73 20 74 68 65 20 62 61 73 65 6c 69 6e 65  bes the baseline
09a0: 20 74 68 61 74 0a 74 68 65 20 6d 61 6e 69 66 65   that.the manife
09b0: 73 74 20 64 65 66 69 6e 65 73 2e 20 20 54 68 65  st defines.  The
09c0: 20 63 68 65 63 6b 2d 69 6e 20 63 6f 6d 6d 65 6e   check-in commen
09d0: 74 20 69 73 20 74 65 78 74 2e 20 20 54 68 65 20  t is text.  The 
09e0: 66 6f 6c 6c 6f 77 69 6e 67 0a 65 73 63 61 70 65  following.escape
09f0: 20 73 65 71 75 65 6e 63 65 73 20 61 72 65 20 61   sequences are a
0a00: 70 70 6c 69 65 64 20 74 6f 20 74 68 65 20 74 65  pplied to the te
0a10: 78 74 3a 0a 41 20 73 70 61 63 65 20 28 41 53 43  xt:.A space (ASC
0a20: 49 49 20 30 78 32 30 29 20 69 73 20 72 65 70 72  II 0x20) is repr
0a30: 65 73 65 6e 74 65 64 20 61 73 20 22 5c 73 22 20  esented as "\s" 
0a40: 28 41 53 43 49 49 20 30 78 35 43 2c 20 30 78 37  (ASCII 0x5C, 0x7
0a50: 33 29 2e 20 20 41 0a 6e 65 77 6c 69 6e 65 20 28  3).  A.newline (
0a60: 41 53 43 49 49 20 30 78 30 61 29 20 69 73 20 22  ASCII 0x0a) is "
0a70: 5c 6e 22 20 28 41 53 43 49 49 20 30 78 36 43 2c  \n" (ASCII 0x6C,
0a80: 20 78 36 45 29 2e 20 20 41 20 62 61 63 6b 73 6c   x6E).  A backsl
0a90: 61 73 68 20 0a 28 41 53 43 49 49 20 30 78 35 43  ash .(ASCII 0x5C
0aa0: 29 20 69 73 20 72 65 70 72 65 73 65 6e 74 65 64  ) is represented
0ab0: 20 61 73 20 74 77 6f 20 62 61 63 6b 73 6c 61 73   as two backslas
0ac0: 68 65 73 20 22 5c 5c 22 2e 20 20 41 70 61 72 74  hes "\\".  Apart
0ad0: 20 66 72 6f 6d 0a 73 70 61 63 65 20 61 6e 64 20   from.space and 
0ae0: 6e 65 77 6c 69 6e 65 2c 20 6e 6f 20 6f 74 68 65  newline, no othe
0af0: 72 20 77 68 69 74 65 73 70 61 63 65 20 63 68 61  r whitespace cha
0b00: 72 61 63 74 65 72 73 20 61 72 65 20 61 6c 6c 6f  racters are allo
0b10: 77 65 64 20 69 6e 0a 74 68 65 20 63 68 65 63 6b  wed in.the check
0b20: 2d 69 6e 20 63 6f 6d 6d 65 6e 74 2e 20 20 4e 6f  -in comment.  No
0b30: 72 20 61 72 65 20 61 6e 79 20 75 6e 70 72 69 6e  r are any unprin
0b40: 74 61 62 6c 65 20 63 68 61 72 61 63 74 65 72 73  table characters
0b50: 20 61 6c 6c 6f 77 65 64 0a 69 6e 20 74 68 65 20   allowed.in the 
0b60: 63 6f 6d 6d 65 6e 74 2e 0a 3c 2f 70 3e 0a 0a 3c  comment..</p>..<
0b70: 70 3e 0a 41 20 6d 61 6e 69 66 65 73 74 20 6d 75  p>.A manifest mu
0b80: 73 74 20 68 61 76 65 20 65 78 61 63 74 6c 79 20  st have exactly 
0b90: 6f 6e 65 20 44 2d 6c 69 6e 65 2e 20 20 54 68 65  one D-line.  The
0ba0: 20 73 6f 6c 65 20 61 72 67 75 6d 65 6e 74 20 74   sole argument t
0bb0: 6f 0a 74 68 65 20 44 2d 6c 69 6e 65 20 69 73 20  o.the D-line is 
0bc0: 61 20 64 61 74 65 2d 74 69 6d 65 20 73 74 61 6d  a date-time stam
0bd0: 70 20 69 6e 20 74 68 65 20 49 53 4f 38 36 30 31  p in the ISO8601
0be0: 20 66 6f 72 6d 61 74 2e 20 20 54 68 65 0a 64 61   format.  The.da
0bf0: 74 65 20 61 6e 64 20 74 69 6d 65 20 73 68 6f 75  te and time shou
0c00: 6c 64 20 62 65 20 69 6e 20 63 6f 6f 72 64 69 6e  ld be in coordin
0c10: 61 74 65 64 20 75 6e 69 76 65 72 73 61 6c 20 74  ated universal t
0c20: 69 6d 65 20 28 55 54 43 29 2e 0a 54 68 65 20 66  ime (UTC)..The f
0c30: 6f 72 6d 61 74 20 69 73 3a 0a 3c 2f 70 3e 0a 0a  ormat is:.</p>..
0c40: 3c 62 6c 6f 63 6b 71 75 6f 74 65 3e 0a 3c 69 3e  <blockquote>.<i>
0c50: 59 59 59 59 3c 2f 69 3e 3c 62 3e 2d 3c 2f 62 3e  YYYY</i><b>-</b>
0c60: 3c 69 3e 4d 4d 3c 2f 69 3e 3c 62 3e 2d 3c 2f 62  <i>MM</i><b>-</b
0c70: 3e 3c 69 3e 44 44 3c 2f 69 3e 3c 62 3e 54 3c 2f  ><i>DD</i><b>T</
0c80: 62 3e 3c 69 3e 48 48 3c 2f 69 3e 3c 62 3e 3a 3c  b><i>HH</i><b>:<
0c90: 2f 62 3e 3c 69 3e 4d 4d 3c 2f 69 3e 3c 62 3e 3a  /b><i>MM</i><b>:
0ca0: 3c 2f 62 3e 3c 69 3e 53 53 3c 2f 69 3e 0a 3c 2f  </b><i>SS</i>.</
0cb0: 62 6c 6f 63 6b 71 75 6f 74 65 3e 0a 0a 3c 70 3e  blockquote>..<p>
0cc0: 0a 41 20 6d 61 6e 69 66 65 73 74 20 68 61 73 20  .A manifest has 
0cd0: 7a 65 72 6f 20 6f 72 20 6d 6f 72 65 20 46 2d 6c  zero or more F-l
0ce0: 69 6e 65 73 2e 20 20 45 61 63 68 20 46 2d 6c 69  ines.  Each F-li
0cf0: 6e 65 20 64 65 66 69 6e 65 73 20 61 20 66 69 6c  ne defines a fil
0d00: 65 0a 28 6f 74 68 65 72 20 74 68 61 6e 20 74 68  e.(other than th
0d10: 65 20 6d 61 6e 69 66 65 73 74 20 69 74 73 65 6c  e manifest itsel
0d20: 66 29 20 77 68 69 63 68 20 69 73 20 70 61 72 74  f) which is part
0d30: 20 6f 66 20 74 68 65 20 62 61 73 65 6c 69 6e 65   of the baseline
0d40: 20 74 68 61 74 0a 74 68 65 20 6d 61 6e 69 66 65   that.the manife
0d50: 73 74 20 64 65 66 69 6e 65 73 2e 20 20 54 68 65  st defines.  The
0d60: 72 65 20 61 72 65 20 74 77 6f 20 61 72 67 75 6d  re are two argum
0d70: 65 6e 74 73 2e 20 20 54 68 65 20 66 69 72 73 74  ents.  The first
0d80: 20 61 72 67 6d 65 6e 74 0a 69 73 20 74 68 65 20   argment.is the 
0d90: 70 61 74 68 6e 61 6d 65 20 6f 66 20 74 68 65 20  pathname of the 
0da0: 66 69 6c 65 20 69 6e 20 74 68 65 20 62 61 73 65  file in the base
0db0: 6c 69 6e 65 20 72 65 6c 61 74 69 76 65 20 74 6f  line relative to
0dc0: 20 74 68 65 20 72 6f 6f 74 0a 6f 66 20 74 68 65   the root.of the
0dd0: 20 70 72 6f 6a 65 63 74 20 66 69 6c 65 20 68 69   project file hi
0de0: 65 72 61 72 63 68 79 2e 20 20 4e 6f 20 22 2e 2e  erarchy.  No "..
0df0: 22 20 6f 72 20 22 2e 22 20 64 69 72 65 63 74 6f  " or "." directo
0e00: 72 69 65 73 20 61 72 65 20 61 6c 6c 6f 77 65 64  ries are allowed
0e10: 0a 77 69 74 68 69 6e 20 74 68 65 20 66 69 6c 65  .within the file
0e20: 6e 61 6d 65 2e 20 20 53 70 61 63 65 20 63 68 61  name.  Space cha
0e30: 72 61 63 74 65 72 73 20 61 72 65 20 65 73 63 61  racters are esca
0e40: 70 65 64 20 61 73 20 69 6e 20 43 2d 6c 69 6e 65  ped as in C-line
0e50: 0a 63 6f 6d 6d 65 6e 74 20 74 65 78 74 2e 20 20  .comment text.  
0e60: 42 61 63 6b 73 6c 61 73 68 20 63 68 61 72 61 63  Backslash charac
0e70: 74 65 72 73 20 61 6e 64 20 6e 65 77 6c 69 6e 65  ters and newline
0e80: 73 20 61 72 65 20 6e 6f 74 20 61 6c 6c 6f 77 65  s are not allowe
0e90: 64 0a 77 69 74 68 69 6e 20 66 69 6c 65 6e 61 6d  d.within filenam
0ea0: 65 73 2e 20 20 54 68 65 20 64 69 72 65 63 74 6f  es.  The directo
0eb0: 72 79 20 73 65 70 61 72 61 74 6f 72 20 63 68 61  ry separator cha
0ec0: 72 61 63 74 65 72 20 69 73 20 61 20 66 6f 72 77  racter is a forw
0ed0: 61 72 64 0a 73 6c 61 73 68 20 28 41 53 43 49 49  ard.slash (ASCII
0ee0: 20 30 78 32 46 29 2e 20 20 54 68 65 20 73 65 63   0x2F).  The sec
0ef0: 6f 6e 64 20 61 72 67 75 6d 65 6e 74 20 74 6f 20  ond argument to 
0f00: 74 68 65 20 46 2d 6c 69 6e 65 20 69 73 20 74 68  the F-line is th
0f10: 65 0a 66 75 6c 6c 20 34 30 2d 63 68 61 72 61 63  e.full 40-charac
0f20: 74 65 72 20 68 65 78 61 64 65 63 69 6d 61 6c 20  ter hexadecimal 
0f30: 53 48 41 31 20 68 61 73 68 20 6f 66 20 74 68 65  SHA1 hash of the
0f40: 20 66 69 6c 65 20 63 6f 6e 74 65 6e 74 2e 20 20   file content.  
0f50: 0a 55 70 70 65 72 2d 63 61 73 65 20 6c 65 74 74  .Upper-case lett
0f60: 65 72 73 20 41 42 43 44 45 46 20 61 72 65 20 75  ers ABCDEF are u
0f70: 73 65 64 20 66 6f 72 20 74 68 65 20 68 69 67 68  sed for the high
0f80: 65 72 20 64 69 67 69 74 73 20 6f 66 20 74 68 65  er digits of the
0f90: 0a 68 65 78 61 64 65 63 69 6d 61 6c 2e 0a 3c 2f  .hexadecimal..</
0fa0: 70 3e 0a 0a 3c 70 3e 0a 41 20 6d 61 6e 69 66 65  p>..<p>.A manife
0fb0: 73 74 20 68 61 73 20 7a 65 72 6f 20 6f 72 20 6f  st has zero or o
0fc0: 6e 65 20 50 2d 6c 69 6e 65 73 2e 20 20 4d 6f 73  ne P-lines.  Mos
0fd0: 74 20 6d 61 6e 69 66 65 73 74 73 20 68 61 76 65  t manifests have
0fe0: 20 6f 6e 65 20 50 2d 6c 69 6e 65 2e 0a 54 68 65   one P-line..The
0ff0: 20 50 2d 6c 69 6e 65 20 68 61 73 20 61 20 76 61   P-line has a va
1000: 72 79 69 6e 67 20 6e 75 6d 62 65 72 20 6f 66 20  rying number of 
1010: 61 72 67 75 6d 65 6e 74 73 20 74 68 61 74 0a 64  arguments that.d
1020: 65 66 69 6e 65 73 20 6f 74 68 65 72 20 6d 61 6e  efines other man
1030: 69 66 65 73 74 73 20 66 72 6f 6d 20 77 68 69 63  ifests from whic
1040: 68 20 74 68 65 20 63 75 72 72 65 6e 74 20 6d 61  h the current ma
1050: 6e 69 66 65 73 74 0a 69 73 20 64 65 72 69 76 65  nifest.is derive
1060: 64 2e 20 20 45 61 63 68 20 61 72 67 75 6d 65 6e  d.  Each argumen
1070: 74 20 69 73 20 61 6e 20 34 30 2d 63 68 61 72 61  t is an 40-chara
1080: 63 74 65 72 20 6c 6f 77 65 72 63 61 73 65 20 0a  cter lowercase .
1090: 68 65 78 61 64 65 63 69 6d 61 6c 20 53 48 41 31  hexadecimal SHA1
10a0: 20 6f 66 20 74 68 65 20 70 72 65 64 65 63 65 73   of the predeces
10b0: 73 6f 72 20 6d 61 6e 69 66 65 73 74 2e 20 20 41  sor manifest.  A
10c0: 6c 6c 20 61 72 67 75 6d 65 6e 74 73 0a 74 6f 20  ll arguments.to 
10d0: 74 68 65 20 50 2d 6c 69 6e 65 20 6d 75 73 74 20  the P-line must 
10e0: 62 65 20 75 6e 69 71 75 65 20 74 6f 20 74 68 61  be unique to tha
10f0: 74 20 6c 69 6e 65 2e 0a 54 68 65 20 66 69 72 73  t line..The firs
1100: 74 20 70 72 65 64 65 63 65 73 73 6f 72 20 69 73  t predecessor is
1110: 20 74 68 65 20 6d 61 6e 69 66 65 73 74 73 20 64   the manifests d
1120: 69 72 65 63 74 20 61 6e 63 65 73 74 6f 72 2e 0a  irect ancestor..
1130: 4f 74 68 65 72 20 61 72 67 75 6d 65 6e 74 73 20  Other arguments 
1140: 64 65 66 69 6e 65 20 6d 61 6e 69 66 65 73 74 73  define manifests
1150: 20 77 69 74 68 20 77 68 69 63 68 20 74 68 65 20   with which the 
1160: 66 69 72 73 74 20 77 61 73 0a 6d 65 72 67 65 64  first was.merged
1170: 20 74 6f 20 79 69 65 6c 64 20 74 68 65 20 63 75   to yield the cu
1180: 72 72 65 6e 74 20 6d 61 6e 69 66 65 73 74 2e 20  rrent manifest. 
1190: 20 4d 6f 73 74 20 6d 61 6e 69 66 65 73 74 73 20   Most manifests 
11a0: 68 61 76 65 0a 61 20 50 2d 6c 69 6e 65 20 77 69  have.a P-line wi
11b0: 74 68 20 61 20 73 69 6e 67 6c 65 20 61 72 67 75  th a single argu
11c0: 6d 65 6e 74 2e 20 20 54 68 65 20 66 69 72 73 74  ment.  The first
11d0: 20 6d 61 6e 69 66 65 73 74 20 69 6e 20 74 68 65   manifest in the
11e0: 0a 70 72 6f 6a 65 63 74 20 68 61 73 20 6e 6f 20  .project has no 
11f0: 61 6e 63 65 73 74 6f 72 73 20 61 6e 64 20 74 68  ancestors and th
1200: 75 73 20 68 61 73 20 6e 6f 20 50 2d 6c 69 6e 65  us has no P-line
1210: 2e 0a 3c 2f 70 3e 0a 0a 3c 70 3e 0a 41 20 6d 61  ..</p>..<p>.A ma
1220: 6e 69 66 65 73 74 20 6d 61 79 20 6f 70 74 69 6f  nifest may optio
1230: 6e 61 6c 6c 79 20 68 61 76 65 20 61 20 73 69 6e  nally have a sin
1240: 67 6c 65 20 52 2d 6c 69 6e 65 2e 20 20 54 68 65  gle R-line.  The
1250: 20 52 2d 6c 69 6e 65 20 68 61 73 0a 61 20 73 69   R-line has.a si
1260: 6e 67 6c 65 20 61 72 67 75 6d 65 6e 74 20 77 68  ngle argument wh
1270: 69 63 68 20 69 73 20 74 68 65 20 4d 44 35 20 63  ich is the MD5 c
1280: 68 65 63 6b 73 75 6d 20 6f 66 20 61 6c 6c 20 66  hecksum of all f
1290: 69 6c 65 73 20 69 6e 20 0a 74 68 65 20 62 61 73  iles in .the bas
12a0: 65 6c 69 6e 65 20 65 78 63 65 70 74 20 74 68 65  eline except the
12b0: 20 6d 61 6e 69 66 65 73 74 20 69 74 73 65 6c 66   manifest itself
12c0: 2e 20 20 54 68 65 20 63 68 65 63 6b 73 75 6d 20  .  The checksum 
12d0: 69 73 20 65 78 70 72 65 73 73 65 64 0a 61 73 20  is expressed.as 
12e0: 33 32 2d 63 68 61 72 61 63 74 65 72 73 20 6f 66  32-characters of
12f0: 20 6c 6f 77 65 72 63 61 73 65 20 68 65 78 61 64   lowercase hexad
1300: 65 63 69 6d 61 6c 2e 20 20 20 54 68 65 20 63 68  ecimal.   The ch
1310: 65 63 6b 73 75 6d 20 69 73 0a 63 6f 6d 70 75 74  ecksum is.comput
1320: 65 64 20 61 73 20 66 6f 6c 6c 6f 77 73 3a 20 20  ed as follows:  
1330: 46 6f 72 20 65 61 63 68 20 66 69 6c 65 20 69 6e  For each file in
1340: 20 74 68 65 20 62 61 73 65 6c 69 6e 65 20 28 65   the baseline (e
1350: 78 63 65 70 74 20 66 6f 72 0a 74 68 65 20 6d 61  xcept for.the ma
1360: 6e 69 66 65 73 74 20 69 74 73 65 6c 66 29 20 69  nifest itself) i
1370: 6e 20 73 74 72 69 63 74 20 73 6f 72 74 65 64 20  n strict sorted 
1380: 6c 65 78 69 63 6f 67 72 61 70 68 69 63 61 6c 20  lexicographical 
1390: 6f 72 64 65 72 2c 20 0a 74 61 6b 65 20 74 68 65  order, .take the
13a0: 20 70 61 74 68 6e 61 6d 65 20 6f 66 20 74 68 65   pathname of the
13b0: 20 66 69 6c 65 20 72 65 6c 61 74 69 76 65 20 74   file relative t
13c0: 6f 20 74 68 65 20 72 6f 6f 74 20 6f 66 20 74 68  o the root of th
13d0: 65 0a 72 65 70 6f 73 69 74 6f 72 79 2c 20 61 70  e.repository, ap
13e0: 70 65 6e 64 20 61 20 73 69 6e 67 6c 65 20 73 70  pend a single sp
13f0: 61 63 65 20 28 41 53 43 49 49 20 30 78 32 30 29  ace (ASCII 0x20)
1400: 2c 20 74 68 65 0a 73 69 7a 65 20 6f 66 20 74 68  , the.size of th
1410: 65 20 66 69 6c 65 20 69 6e 20 41 53 43 49 49 20  e file in ASCII 
1420: 64 65 63 69 6d 61 6c 2c 20 61 20 73 69 6e 67 6c  decimal, a singl
1430: 65 20 6e 65 77 6c 69 6e 65 0a 63 68 61 72 61 63  e newline.charac
1440: 74 65 72 20 28 41 53 43 49 49 20 30 78 30 41 29  ter (ASCII 0x0A)
1450: 2c 20 61 6e 64 20 74 68 65 20 63 6f 6d 70 6c 65  , and the comple
1460: 74 65 20 74 65 78 74 20 6f 66 20 74 68 65 20 66  te text of the f
1470: 69 6c 65 2e 0a 43 6f 6d 70 75 74 65 20 74 68 65  ile..Compute the
1480: 20 4d 44 35 20 63 68 65 63 6b 73 75 6d 20 6f 66   MD5 checksum of
1490: 20 74 68 65 20 74 68 65 20 72 65 73 75 6c 74 2e   the the result.
14a0: 0a 3c 2f 70 3e 0a 0a 3c 70 3e 0a 45 61 63 68 20  .</p>..<p>.Each 
14b0: 6d 61 6e 69 66 65 73 74 20 68 61 73 20 61 20 73  manifest has a s
14c0: 69 6e 67 6c 65 20 55 2d 6c 69 6e 65 2e 20 20 54  ingle U-line.  T
14d0: 68 65 20 61 72 67 75 6d 65 6e 74 20 74 6f 20 74  he argument to t
14e0: 68 65 20 55 2d 6c 69 6e 65 20 69 73 0a 74 68 65  he U-line is.the
14f0: 20 6c 6f 67 69 6e 20 6f 66 20 74 68 65 20 75 73   login of the us
1500: 65 72 20 77 68 6f 20 63 72 65 61 74 65 64 20 74  er who created t
1510: 68 65 20 6d 61 6e 69 66 65 73 74 2e 20 20 54 68  he manifest.  Th
1520: 65 20 6c 6f 67 69 6e 20 6e 61 6d 65 0a 69 73 20  e login name.is 
1530: 65 6e 63 6f 64 65 64 20 75 73 69 6e 67 20 74 68  encoded using th
1540: 65 20 73 61 6d 65 20 63 68 61 72 61 63 74 65 72  e same character
1550: 20 65 73 63 61 70 65 73 20 61 73 20 69 73 20 75   escapes as is u
1560: 73 65 64 20 66 6f 72 20 74 68 65 0a 63 68 65 63  sed for the.chec
1570: 6b 2d 69 6e 20 63 6f 6d 6d 65 6e 74 20 61 72 67  k-in comment arg
1580: 75 6d 65 6e 74 20 74 6f 20 74 68 65 20 43 2d 6c  ument to the C-l
1590: 69 6e 65 2e 0a 3c 2f 70 3e 0a 0a 3c 70 3e 0a 41  ine..</p>..<p>.A
15a0: 20 6d 61 6e 69 66 65 73 74 20 68 61 73 20 61 6e   manifest has an
15b0: 20 6f 70 74 69 6f 6e 20 5a 2d 6c 69 6e 65 20 61   option Z-line a
15c0: 73 20 69 74 73 20 6c 61 73 74 20 6c 69 6e 65 2e  s its last line.
15d0: 20 20 54 68 65 20 61 72 67 75 6d 65 6e 74 0a 74    The argument.t
15e0: 6f 20 74 68 65 20 5a 2d 6c 69 6e 65 20 69 73 20  o the Z-line is 
15f0: 61 20 33 32 2d 63 68 61 72 61 63 74 65 72 20 6c  a 32-character l
1600: 6f 77 65 72 63 61 73 65 20 68 65 78 61 64 65 63  owercase hexadec
1610: 69 6d 61 6c 20 4d 44 35 20 68 61 73 68 0a 6f 66  imal MD5 hash.of
1620: 20 61 6c 6c 20 70 72 69 6f 72 20 6c 69 6e 65 73   all prior lines
1630: 20 6f 66 20 74 68 65 20 6d 61 6e 69 66 65 73 74   of the manifest
1640: 20 75 70 20 74 6f 20 61 6e 64 20 69 6e 63 6c 75   up to and inclu
1650: 64 69 6e 67 20 74 68 65 20 6e 65 77 6c 69 6e 65  ding the newline
1660: 20 0a 63 68 61 72 61 63 74 65 72 20 74 68 61 74   .character that
1670: 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 70 72 65   immediately pre
1680: 63 65 65 64 73 20 74 68 65 20 22 5a 22 2e 20 20  ceeds the "Z".  
1690: 54 68 65 20 5a 2d 6c 69 6e 65 20 69 73 20 6a 75  The Z-line is ju
16a0: 73 74 0a 61 20 73 61 6e 69 74 79 20 63 68 65 63  st.a sanity chec
16b0: 6b 20 74 6f 20 70 72 6f 76 65 20 74 68 61 74 20  k to prove that 
16c0: 74 68 65 20 6d 61 6e 69 66 65 73 74 20 69 73 20  the manifest is 
16d0: 77 65 6c 6c 2d 66 6f 72 6d 65 64 20 61 6e 64 0a  well-formed and.
16e0: 63 6f 6e 73 69 73 74 65 6e 74 2e 0a 3c 2f 70 3e  consistent..</p>
16f0: 0a 0a 3c 68 32 3e 32 2e 30 20 43 6c 75 73 74 65  ..<h2>2.0 Cluste
1700: 72 73 3c 2f 68 32 3e 0a 0a 3c 70 3e 0a 41 20 63  rs</h2>..<p>.A c
1710: 6c 75 73 74 65 72 20 69 73 20 61 20 66 69 6c 65  luster is a file
1720: 20 74 68 61 74 20 73 74 61 74 65 73 20 74 68 65   that states the
1730: 20 65 78 69 73 74 61 6e 63 65 20 6f 66 20 6f 74   existance of ot
1740: 68 65 72 20 66 69 6c 65 73 2e 0a 43 6c 75 73 74  her files..Clust
1750: 65 72 73 20 61 72 65 20 75 73 65 64 20 64 75 72  ers are used dur
1760: 69 6e 67 20 72 65 70 6f 73 69 74 6f 72 79 20 73  ing repository s
1770: 79 6e 63 68 72 6f 6e 69 7a 61 74 69 6f 6e 20 74  ynchronization t
1780: 6f 20 68 65 6c 70 20 0a 72 65 64 75 63 65 20 6e  o help .reduce n
1790: 65 74 77 6f 72 6b 20 74 72 61 66 66 69 63 2e 0a  etwork traffic..
17a0: 3c 2f 70 3e 0a 0a 3c 70 3e 0a 43 6c 75 73 74 65  </p>..<p>.Cluste
17b0: 72 73 20 66 6f 6c 6c 6f 77 20 61 20 73 79 6e 74  rs follow a synt
17c0: 61 78 20 74 68 61 74 20 69 73 20 76 65 72 79 20  ax that is very 
17d0: 73 69 6d 69 6c 61 72 20 74 6f 20 6d 61 6e 69 66  similar to manif
17e0: 65 73 74 73 2e 0a 41 20 43 6c 75 73 74 65 72 20  ests..A Cluster 
17f0: 69 73 20 61 20 6c 69 6e 65 2d 6f 72 69 65 6e 74  is a line-orient
1800: 65 64 20 74 65 78 74 20 66 69 6c 65 2e 20 20 4e  ed text file.  N
1810: 65 77 6c 69 6e 65 20 63 68 61 72 61 63 74 65 72  ewline character
1820: 73 0a 28 41 53 43 49 49 20 30 78 30 61 29 20 73  s.(ASCII 0x0a) s
1830: 65 70 61 72 61 74 65 20 6c 69 6e 65 73 2e 20 20  eparate lines.  
1840: 45 61 63 68 20 6c 69 6e 65 20 62 65 67 69 6e 73  Each line begins
1850: 20 77 69 74 68 20 61 20 73 69 6e 67 6c 65 0a 63   with a single.c
1860: 68 61 72 61 63 74 65 72 20 22 6c 69 6e 65 20 74  haracter "line t
1870: 79 70 65 22 2e 20 20 5a 65 72 6f 20 6f 72 20 6d  ype".  Zero or m
1880: 6f 72 65 20 61 72 67 75 6d 65 6e 74 73 20 6d 61  ore arguments ma
1890: 79 20 66 6f 6c 6c 6f 77 0a 74 68 65 20 6c 69 6e  y follow.the lin
18a0: 65 20 74 79 70 65 2e 20 20 41 6c 6c 20 61 72 67  e type.  All arg
18b0: 75 6d 65 6e 74 73 20 61 72 65 20 73 65 70 61 72  uments are separ
18c0: 61 74 65 64 20 66 72 6f 6d 20 65 61 63 68 20 6f  ated from each o
18d0: 74 68 65 72 0a 61 6e 64 20 66 72 6f 6d 20 74 68  ther.and from th
18e0: 65 20 6c 69 6e 65 2d 74 79 70 65 20 63 68 61 72  e line-type char
18f0: 61 63 74 65 72 20 62 79 20 61 20 73 69 6e 67 6c  acter by a singl
1900: 65 20 73 70 61 63 65 0a 63 68 61 72 61 63 74 65  e space.characte
1910: 72 2e 20 20 54 68 65 72 65 20 69 73 20 6e 6f 20  r.  There is no 
1920: 73 75 72 70 6c 75 73 20 77 68 69 74 65 20 73 70  surplus white sp
1930: 61 63 65 20 62 65 74 77 65 65 6e 20 61 72 67 75  ace between argu
1940: 6d 65 6e 74 73 0a 61 6e 64 20 6e 6f 20 6c 65 61  ments.and no lea
1950: 64 69 6e 67 20 6f 72 20 74 72 61 69 6c 69 6e 67  ding or trailing
1960: 20 77 68 69 74 65 73 70 61 63 65 20 65 78 63 65   whitespace exce
1970: 70 74 20 66 6f 72 20 74 68 65 20 6e 65 77 6c 69  pt for the newli
1980: 6e 65 20 0a 63 68 61 72 61 63 74 65 72 20 74 68  ne .character th
1990: 61 74 20 61 63 74 73 20 61 73 20 74 68 65 20 6c  at acts as the l
19a0: 69 6e 65 20 73 65 70 61 72 61 74 6f 72 2e 0a 41  ine separator..A
19b0: 6c 6c 20 6c 69 6e 65 73 20 6f 66 20 61 20 63 6c  ll lines of a cl
19c0: 75 74 65 72 20 6f 63 63 75 72 20 69 6e 20 73 74  uter occur in st
19d0: 72 69 63 74 20 73 6f 72 74 65 64 20 6c 65 78 69  rict sorted lexi
19e0: 63 6f 67 72 61 70 68 69 63 61 6c 20 6f 72 64 65  cographical orde
19f0: 72 2e 0a 4e 6f 20 6c 69 6e 65 20 6d 61 79 20 62  r..No line may b
1a00: 65 20 64 75 70 6c 69 63 61 74 65 64 2e 0a 54 68  e duplicated..Th
1a10: 65 20 63 6c 75 73 74 65 72 20 6d 61 79 20 6e 6f  e cluster may no
1a20: 74 20 63 6f 6e 74 61 69 6e 20 61 64 64 69 74 69  t contain additi
1a30: 6f 6e 61 6c 20 74 65 78 74 20 6f 72 20 64 61 74  onal text or dat
1a40: 61 20 62 65 79 6f 6e 64 20 0a 77 68 61 74 20 69  a beyond .what i
1a50: 73 20 64 65 73 63 72 69 62 65 64 20 68 65 72 65  s described here
1a60: 2e 0a 3c 2f 70 3e 0a 0a 3c 70 3e 0a 41 6c 6c 6f  ..</p>..<p>.Allo
1a70: 77 65 64 20 6c 69 6e 65 73 20 69 6e 20 74 68 65  wed lines in the
1a80: 20 63 6c 75 73 74 65 72 20 61 72 65 20 61 73 20   cluster are as 
1a90: 66 6f 6c 6c 6f 77 73 3a 0a 3c 2f 70 3e 0a 0a 3c  follows:.</p>..<
1aa0: 62 6c 6f 63 6b 71 75 6f 74 65 3e 0a 3c 62 3e 4d  blockquote>.<b>M
1ab0: 3c 2f 62 3e 20 3c 69 3e 75 75 69 64 3c 2f 69 3e  </b> <i>uuid</i>
1ac0: 0a 3c 62 3e 5a 3c 2f 62 3e 20 3c 69 3e 6d 61 6e  .<b>Z</b> <i>man
1ad0: 69 66 65 73 74 2d 63 68 65 63 6b 73 75 6d 3c 2f  ifest-checksum</
1ae0: 69 3e 0a 3c 2f 62 6c 6f 63 6b 71 75 6f 74 65 3e  i>.</blockquote>
1af0: 0a 0a 3c 70 3e 0a 41 20 63 6c 75 73 74 65 72 20  ..<p>.A cluster 
1b00: 63 6f 6e 74 61 69 6e 73 20 6f 6e 65 20 6f 72 20  contains one or 
1b10: 6d 6f 72 65 20 22 4d 22 20 6c 69 6e 65 73 20 66  more "M" lines f
1b20: 6f 6c 6c 6f 77 65 64 20 62 79 20 61 20 73 69 6e  ollowed by a sin
1b30: 67 6c 65 20 22 5a 22 0a 6c 69 6e 65 2e 20 20 45  gle "Z".line.  E
1b40: 61 63 68 20 4d 20 6c 69 6e 65 20 68 61 73 20 61  ach M line has a
1b50: 20 73 69 6e 67 6c 65 20 61 72 67 75 6d 65 6e 74   single argument
1b60: 20 77 68 69 63 68 20 69 73 20 74 68 65 20 55 55   which is the UU
1b70: 49 44 20 6f 66 20 0a 61 6e 6f 74 68 65 72 20 72  ID of .another r
1b80: 65 63 6f 72 64 20 69 6e 20 74 68 65 20 72 65 70  ecord in the rep
1b90: 6f 73 69 74 6f 72 79 2e 20 20 54 68 65 20 5a 20  ository.  The Z 
1ba0: 6c 69 6e 65 20 77 6f 72 6b 20 65 78 61 63 74 6c  line work exactl
1bb0: 79 20 6c 69 6b 65 0a 74 68 65 20 5a 20 6c 69 6e  y like.the Z lin
1bc0: 65 20 6f 66 20 61 20 6d 61 6e 69 66 65 73 74 2e  e of a manifest.
1bd0: 20 20 54 68 65 20 61 72 67 75 6d 65 6e 74 20 74    The argument t
1be0: 6f 20 74 68 65 20 5a 20 6c 69 6e 65 20 69 73 20  o the Z line is 
1bf0: 74 68 65 0a 6c 6f 77 65 72 2d 63 61 73 65 20 68  the.lower-case h
1c00: 65 78 61 64 65 63 69 6d 61 6c 20 72 65 70 72 65  exadecimal repre
1c10: 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 74 68 65  sentation of the
1c20: 20 4d 44 35 20 63 68 65 63 6b 73 75 6d 20 6f 66   MD5 checksum of
1c30: 20 61 6c 6c 0a 70 72 69 6f 72 20 6c 69 6e 65 73   all.prior lines
1c40: 20 69 6e 20 74 68 65 20 63 6c 75 73 74 65 72 2e   in the cluster.
1c50: 0a 3c 2f 70 3e 0a 0a 0a 3c 68 32 3e 33 2e 30 20  .</p>...<h2>3.0 
1c60: 54 72 6f 75 62 6c 65 20 54 69 63 6b 65 74 73 3c  Trouble Tickets<
1c70: 2f 68 32 3e 0a 0a 3c 70 3e 0a 45 61 63 68 20 74  /h2>..<p>.Each t
1c80: 72 6f 75 62 6c 65 20 74 69 63 6b 65 74 20 69 73  rouble ticket is
1c90: 20 61 20 66 69 6c 65 20 69 6e 20 74 68 65 20 72   a file in the r
1ca0: 65 70 6f 73 69 74 6f 72 79 20 61 6e 64 20 61 70  epository and ap
1cb0: 70 65 61 72 73 20 69 6e 0a 61 20 6d 61 6e 69 66  pears in.a manif
1cc0: 65 73 74 20 66 6f 72 20 65 76 65 72 79 20 62 61  est for every ba
1cd0: 73 65 6c 69 6e 65 20 69 6e 20 77 68 69 63 68 20  seline in which 
1ce0: 74 68 65 20 74 69 63 6b 65 74 20 65 78 69 73 74  the ticket exist
1cf0: 73 2e 0a 54 72 6f 75 62 6c 65 20 74 69 63 6b 65  s..Trouble ticke
1d00: 74 73 20 6f 63 63 75 72 20 69 6e 20 61 20 73 70  ts occur in a sp
1d10: 65 63 69 66 69 63 20 73 75 62 64 69 72 65 63 74  ecific subdirect
1d20: 6f 72 79 20 6f 66 20 74 68 65 20 66 69 6c 65 0a  ory of the file.
1d30: 68 65 69 72 61 72 63 68 79 2e 20 20 54 68 65 20  heirarchy.  The 
1d40: 6e 61 6d 65 20 6f 66 20 74 68 65 20 73 75 62 64  name of the subd
1d50: 69 72 65 63 74 6f 72 79 20 74 68 61 74 20 63 6f  irectory that co
1d60: 6e 74 61 69 6e 73 20 74 69 63 6b 65 74 73 0a 69  ntains tickets.i
1d70: 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 6c 6f  s part of the lo
1d80: 63 61 6c 20 73 74 61 74 65 20 6f 66 20 65 61 63  cal state of eac
1d90: 68 20 72 65 70 6f 73 69 74 6f 72 79 2e 20 20 54  h repository.  T
1da0: 68 65 20 66 69 6c 65 6e 61 6d 65 0a 6f 66 20 65  he filename.of e
1db0: 61 63 68 20 74 72 6f 75 62 6c 65 20 74 69 63 6b  ach trouble tick
1dc0: 65 74 20 68 61 73 20 61 20 22 2e 74 6b 74 22 20  et has a ".tkt" 
1dd0: 73 75 66 66 69 78 2e 20 20 54 68 65 20 74 72 6f  suffix.  The tro
1de0: 75 62 6c 65 20 74 69 63 6b 65 74 0a 68 61 73 20  uble ticket.has 
1df0: 61 20 70 61 72 74 69 63 75 6c 61 72 20 66 69 6c  a particular fil
1e00: 65 20 66 6f 72 6d 61 74 20 64 65 66 69 6e 65 64  e format defined
1e10: 20 62 65 6c 6f 77 2e 0a 3c 2f 70 3e 0a 0a 3c 69   below..</p>..<i
1e20: 3e 54 6f 20 62 65 20 63 6f 6e 74 69 6e 75 65 64  >To be continued
1e30: 2e 2e 2e 3c 2f 69 3e 0a 0a 3c 68 32 3e 34 2e 30  ...</i>..<h2>4.0
1e40: 20 57 69 6b 69 20 50 61 67 65 73 3c 2f 68 32 3e   Wiki Pages</h2>
1e50: 0a 0a 3c 70 3e 0a 45 61 63 68 20 77 69 6b 69 20  ..<p>.Each wiki 
1e60: 69 73 20 61 20 66 69 6c 65 20 69 6e 20 74 68 65  is a file in the
1e70: 20 72 65 70 6f 73 69 74 6f 72 79 20 61 6e 64 20   repository and 
1e80: 61 70 70 65 61 72 73 20 69 6e 0a 61 20 6d 61 6e  appears in.a man
1e90: 69 66 65 73 74 20 66 6f 72 20 65 76 65 72 79 20  ifest for every 
1ea0: 62 61 73 65 6c 69 6e 65 20 69 6e 20 77 68 69 63  baseline in whic
1eb0: 68 20 74 68 61 74 20 77 69 6b 69 20 70 61 67 65  h that wiki page
1ec0: 20 65 78 69 73 74 73 2e 0a 57 69 6b 69 20 70 61   exists..Wiki pa
1ed0: 67 65 73 20 6f 63 63 75 72 20 69 6e 20 61 20 73  ges occur in a s
1ee0: 70 65 63 69 66 69 63 20 73 75 62 64 69 72 65 63  pecific subdirec
1ef0: 74 6f 72 79 20 6f 66 20 74 68 65 20 66 69 6c 65  tory of the file
1f00: 0a 68 65 69 72 61 72 63 68 79 2e 20 20 54 68 65  .heirarchy.  The
1f10: 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 73 75 62   name of the sub
1f20: 64 69 72 65 63 74 6f 72 79 20 74 68 61 74 20 63  directory that c
1f30: 6f 6e 74 61 69 6e 73 20 77 69 6b 69 20 70 61 67  ontains wiki pag
1f40: 65 73 0a 69 73 20 70 61 72 74 20 6f 66 20 74 68  es.is part of th
1f50: 65 20 6c 6f 63 61 6c 20 73 74 61 74 65 20 6f 66  e local state of
1f60: 20 65 61 63 68 20 72 65 70 6f 73 69 74 6f 72 79   each repository
1f70: 2e 20 20 54 68 65 20 66 69 6c 65 6e 61 6d 65 0a  .  The filename.
1f80: 6f 66 20 65 61 63 68 20 77 69 6b 69 20 70 61 67  of each wiki pag
1f90: 65 20 68 61 73 20 61 20 22 2e 77 69 6b 69 22 20  e has a ".wiki" 
1fa0: 73 75 66 66 69 78 2e 20 20 54 68 65 20 62 61 73  suffix.  The bas
1fb0: 65 20 6e 61 6d 65 20 6f 66 0a 74 68 65 20 66 69  e name of.the fi
1fc0: 6c 65 20 69 73 20 74 68 65 20 6e 61 6d 65 20 6f  le is the name o
1fd0: 66 20 74 68 65 20 77 69 6b 69 20 70 61 67 65 2e  f the wiki page.
1fe0: 20 20 54 68 65 20 77 69 6b 69 20 70 61 67 65 73    The wiki pages
1ff0: 0a 68 61 76 65 20 61 20 70 61 72 74 69 63 75 6c  .have a particul
2000: 61 72 20 66 69 6c 65 20 66 6f 72 6d 61 74 20 64  ar file format d
2010: 65 66 69 6e 65 64 20 62 65 6c 6f 77 2e 0a 3c 2f  efined below..</
2020: 70 3e 0a 0a 3c 69 3e 54 6f 20 62 65 20 63 6f 6e  p>..<i>To be con
2030: 74 69 6e 75 65 64 2e 2e 2e 3c 2f 69 3e 0a        tinued...</i>.