# Fossil

Hex Artifact Content

## Artifact b70fda6395809012103bb39b9828bb825c4ca0af:

Wiki page [Cookbook] by anonymous 2014-06-20 05:52:50.
0000: 44 20 32 30 31 34 2d 30 36 2d 32 30 54 30 35 3a  D 2014-06-20T05:
0010: 35 32 3a 35 30 2e 31 37 33 0a 4c 20 43 6f 6f 6b  52:50.173.L Cook
0020: 62 6f 6f 6b 0a 50 20 36 33 30 38 66 35 66 66 32  book.P 6308f5ff2
0030: 35 64 37 62 39 32 37 32 39 31 33 34 38 39 38 63  5d7b92729134898c
0040: 66 32 64 30 34 64 34 66 61 36 61 38 35 33 33 0a  f2d04d4fa6a8533.
0050: 57 20 37 34 34 39 31 0a 3c 68 31 3e 46 6f 73 73  W 74491.<h1>Foss
0060: 69 6c 20 43 6f 6f 6b 62 6f 6f 6b 3c 2f 68 31 3e  il Cookbook</h1>
0070: 0d 0a 54 68 65 20 3c 63 69 74 65 3e 46 6f 73 73  ..The <cite>Foss
0080: 69 6c 3c 2f 63 69 74 65 3e 20 43 6f 6f 6b 62 6f  il</cite> Cookbo
0090: 6f 6b 20 69 73 20 61 20 63 6f 6c 6c 65 63 74 69  ok is a collecti
00a0: 6f 6e 20 6f 66 20 74 61 73 6b 2d 6f 72 69 65 6e  on of task-orien
00b0: 74 65 64 20 69 6e 73 74 72 75 63 74 69 6f 6e 73  ted instructions
00c0: 20 66 6f 72 20 69 6e 74 65 72 6d 65 64 69 61 74   for intermediat
00d0: 65 20 75 73 65 72 73 20 77 68 6f 20 77 69 73 68  e users who wish
00e0: 20 74 6f 20 64 6f 20 6d 6f 72 65 20 74 68 61 6e   to do more than
00f0: 20 62 61 73 69 63 20 6f 70 65 72 61 74 69 6f 6e   basic operation
0100: 73 20 77 69 74 68 20 74 68 65 69 72 20 3c 63 69  s with their <ci
0110: 74 65 3e 46 6f 73 73 69 6c 3c 2f 63 69 74 65 3e  te>Fossil</cite>
0120: 20 72 65 70 6f 73 69 74 6f 72 69 65 73 2e 20 20   repositories.
0130: 54 68 65 20 5b 54 75 74 6f 72 69 61 6c 7c 74 75  The [Tutorial|tu
0140: 74 6f 72 69 61 6c 5d 20 69 73 20 61 20 6d 6f 72  torial] is a mor
0150: 65 20 73 75 69 74 61 62 6c 65 20 70 6c 61 63 65  e suitable place
0160: 20 66 6f 72 20 6e 65 77 63 6f 6d 65 72 73 20 74   for newcomers t
0170: 72 79 69 6e 67 20 74 6f 20 6c 65 61 72 6e 20 74  rying to learn t
0180: 68 65 20 62 61 73 69 63 20 63 6f 6e 63 65 70 74  he basic concept
0190: 73 20 74 6f 20 67 6f 20 66 69 72 73 74 20 62 65  s to go first be
01a0: 66 6f 72 65 20 74 61 63 6b 6c 69 6e 67 20 74 68  fore tackling th
01b0: 65 73 65 20 72 65 63 69 70 65 73 2e 0d 0a 0d 0a  ese recipes.....
01c0: 3c 68 32 3e 49 6e 64 65 78 3c 2f 68 32 3e 0d 0a  <h2>Index</h2>..
01d0: 3c 75 6c 3e 0d 0a 20 20 3c 6c 69 3e 53 65 72 76  <ul>..  <li>Serv
01e0: 65 72 20 72 65 63 69 70 65 73 3a 0d 0a 20 20 20  er recipes:..
01f0: 20 3c 75 6c 3e 0d 0a 20 20 20 20 20 20 3c 6c 69   <ul>..      <li
0200: 3e 3c 61 20 68 72 65 66 3d 22 23 43 47 49 22 3e  ><a href="#CGI">
0210: 55 73 69 6e 67 20 3c 63 69 74 65 3e 46 6f 73 73  Using <cite>Foss
0220: 69 6c 3c 2f 63 69 74 65 3e 27 73 20 42 75 69 6c  il</cite>'s Buil
0230: 74 2d 49 6e 20 43 47 49 3c 2f 61 3e 0d 0a 20 20  t-In CGI</a>..
0240: 20 20 3c 2f 75 6c 3e 0d 0a 20 20 3c 2f 6c 69 3e    </ul>..  </li>
0250: 0d 0a 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d  ..  <li><a href=
0260: 22 23 65 6e 76 22 3e 55 73 69 6e 67 20 45 6e 76  "#env">Using Env
0270: 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c  ironment variabl
0280: 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0d 0a 20 20 3c  es</a></li>..  <
0290: 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 73 73  li><a href="#css
02a0: 22 3e 45 78 61 6d 70 6c 65 20 43 53 53 3c 2f 61  ">Example CSS</a
02b0: 3e 3c 2f 6c 69 3e 0d 0a 20 20 3c 6c 69 3e 3c 61  ></li>..  <li><a
02c0: 20 68 72 65 66 3d 22 23 73 6f 75 72 63 65 2d 68   href="#source-h
02d0: 69 6c 69 67 68 74 22 3e 53 6f 75 72 63 65 20 68  ilight">Source h
02e0: 69 67 68 6c 69 67 68 74 69 6e 67 3c 2f 61 3e 3c  ighlighting</a><
02f0: 2f 6c 69 3e 0d 0a 20 20 3c 6c 69 3e 5b 73 68 6a  /li>..  <li>[shj
0300: 73 7c 20 48 6f 77 20 74 6f 20 61 64 64 20 53 79  s| How to add Sy
0310: 6e 74 61 78 20 48 69 67 68 6c 69 67 68 74 65 72  ntax Highlighter
0320: 20 69 6e 20 4a 61 76 61 53 63 72 69 70 74 20 28   in JavaScript (
0330: 53 48 4a 53 29 5d 3c 2f 6c 69 3e 0d 0a 20 20 3c  SHJS)]</li>..  <
0340: 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 77 69 6e  li><a href="#win
0350: 33 32 64 65 76 22 3e 46 6f 73 73 69 6c 20 57 69  32dev">Fossil Wi
0360: 6e 33 32 20 44 65 76 65 6c 6f 70 6d 65 6e 74 20  n32 Development
0370: 4d 61 63 68 69 6e 65 20 73 65 74 75 70 3c 2f 61  Machine setup</a
0380: 3e 3c 2f 6c 69 3e 0d 0a 20 20 3c 6c 69 3e 5b 63  ></li>..  <li>[c
0390: 6f 6d 70 69 6c 6c 69 6e 67 4f 6e 57 69 6e 64 6f  ompillingOnWindo
03a0: 77 73 7c 20 48 6f 77 20 74 6f 20 63 6f 6d 70 69  ws| How to compi
03b0: 6c 65 20 6f 6e 20 77 69 6e 64 6f 77 73 5d 3c 2f  le on windows]</
03c0: 6c 69 3e 0d 0a 20 20 3c 6c 69 3e 3c 61 20 68 72  li>..  <li><a hr
03d0: 65 66 3d 22 23 77 79 73 69 77 69 67 22 3e 4a 61  ef="#wysiwig">Ja
03e0: 76 61 73 63 72 69 70 74 20 48 54 4d 4c 20 57 59  vascript HTML WY
03f0: 53 49 57 59 47 20 65 64 69 74 6f 72 20 63 6f 6e  SIWYG editor con
0400: 74 72 6f 6c 3c 2f 61 3e 0d 0a 20 20 20 20 3c 75  trol</a>..    <u
0410: 6c 3e 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 3c 61  l>..      <li><a
0420: 20 68 72 65 66 3d 22 23 74 69 6e 79 6d 63 65 22   href="#tinymce"
0430: 3e 54 69 6e 79 4d 43 45 3c 2f 61 3e 3c 2f 6c 69  >TinyMCE</a></li
0440: 3e 0d 0a 20 20 20 20 20 20 3c 75 6c 3e 3c 6c 69  >..      <ul><li
0450: 3e 3c 61 20 68 72 65 66 3d 27 23 6a 73 5f 6c 6f  ><a href='#js_lo
0460: 63 61 6c 27 3e 4c 6f 63 61 6c 6c 79 20 69 6e 73  cal'>Locally ins
0470: 74 61 6c 6c 65 64 20 6a 61 76 61 73 63 72 69 70  talled javascrip
0480: 74 3c 2f 61 3e 3c 2f 6c 69 3e 3c 2f 75 6c 3e 0d  t</a></li></ul>.
0490: 0a 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72  .      <li><a hr
04a0: 65 66 3d 22 23 6d 61 72 6b 69 74 75 70 22 3e 6d  ef="#markitup">m
04b0: 61 72 6b 69 74 75 70 21 3c 2f 61 3e 3c 2f 6c 69  arkitup!</a></li
04c0: 3e 0d 0a 20 20 20 20 3c 2f 75 6c 3e 0d 0a 20 20  >..    </ul>..
04d0: 3c 2f 6c 69 3e 0d 0a 20 20 3c 6c 69 3e 3c 61 20  </li>..  <li><a
04e0: 68 72 65 66 3d 22 23 74 69 63 6b 65 74 2d 63 68  href="#ticket-ch
04f0: 65 63 6b 69 6e 2d 6c 69 6e 6b 73 22 3e 4c 69 6e  eckin-links">Lin
0500: 6b 20 74 69 63 6b 65 74 73 20 74 6f 20 63 68 65  k tickets to che
0510: 63 6b 69 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0d 0a  ckins</a></li>..
0520: 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23    <li><a href="#
0530: 74 68 31 2d 75 73 61 67 65 22 3e 46 6f 73 73 69  th1-usage">Fossi
0540: 6c 20 61 6e 64 20 54 68 31 3c 2f 61 3e 3c 2f 6c  l and Th1</a></l
0550: 69 3e 0d 0a 20 20 3c 6c 69 3e 3c 61 20 68 72 65  i>..  <li><a hre
0560: 66 3d 22 23 76 65 72 73 69 6f 6e 43 6f 6d 70 72  f="#versionCompr
0570: 65 73 73 65 64 22 3e 56 65 72 73 69 6f 6e 69 6e  essed">Versionin
0580: 67 20 63 6f 6d 70 72 65 73 73 65 64 20 66 69 6c  g compressed fil
0590: 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0d 0a 20 20 3c  es</a></li>..  <
05a0: 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 43 6f 6c  li><a href="#Col
05b0: 6f 72 50 69 63 6b 65 72 22 3e 43 6f 6c 6f 72 20  orPicker">Color
05c0: 73 65 6c 65 63 74 6f 72 20 69 6e 20 63 68 65 63  selector in chec
05d0: 6b 2d 69 6e 20 70 72 6f 70 65 72 74 69 65 73 3c  k-in properties<
05e0: 2f 61 3e 3c 2f 6c 69 3e 0d 0a 20 20 3c 6c 69 3e  /a></li>..  <li>
05f0: 3c 61 20 68 72 65 66 3d 22 23 53 65 61 72 63 68  <a href="#Search
0600: 57 69 6b 69 22 3e 53 65 61 72 63 68 69 6e 67 20  Wiki">Searching
0610: 77 69 6b 69 20 74 65 78 74 3c 2f 61 3e 3c 2f 6c  wiki text</a></l
0620: 69 3e 0d 0a 20 20 3c 6c 69 3e 3c 61 20 68 72 65  i>..  <li><a hre
0630: 66 3d 22 23 48 69 67 68 6c 69 67 68 74 44 69 66  f="#HighlightDif
0640: 66 22 3e 48 69 67 68 6c 69 67 68 74 20 64 69 66  f">Highlight dif
0650: 66 73 3c 2f 61 3e 3c 2f 6c 69 3e 0d 0a 20 20 3c  fs</a></li>..  <
0660: 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 4d 65 72  li><a href="#Mer
0670: 63 75 72 69 61 6c 22 3e 49 6d 70 6f 72 74 69 6e  curial">Importin
0680: 67 20 66 72 6f 6d 20 4d 65 72 63 75 72 69 61 6c  g from Mercurial
0690: 3c 2f 61 3e 3c 2f 6c 69 3e 0d 0a 20 20 3c 6c 69  </a></li>..  <li
06a0: 3e 3c 61 20 68 72 65 66 3d 22 23 53 56 4e 22 3e  ><a href="#SVN">
06b0: 49 6d 70 6f 72 74 69 6e 67 20 66 72 6f 6d 20 53  Importing from S
06c0: 56 4e 3c 2f 61 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75  VN</a></li>..</u
06d0: 6c 3e 0d 0a 0d 0a 3c 68 32 3e 3c 61 20 6e 61 6d  l>....<h2><a nam
06e0: 65 3d 22 43 47 49 22 3e 55 73 69 6e 67 20 3c 63  e="CGI">Using <c
06f0: 69 74 65 3e 46 6f 73 73 69 6c 3c 2f 63 69 74 65  ite>Fossil</cite
0700: 3e 27 73 20 42 75 69 6c 74 2d 49 6e 20 43 47 49  >'s Built-In CGI
0710: 3c 2f 61 3e 3c 2f 68 32 3e 0d 0a 3c 68 33 3e 4d  </a></h2>..<h3>M
0720: 6f 74 69 76 61 74 69 6f 6e 3c 2f 68 33 3e 0d 0a  otivation</h3>..
0730: 20 20 2a 20 20 59 6f 75 20 77 61 6e 74 20 74 6f    *  You want to
0740: 20 73 68 61 72 65 20 61 20 72 65 70 6f 73 69 74   share a reposit
0750: 6f 72 79 20 74 68 72 6f 75 67 68 20 79 6f 75 72  ory through your
0760: 20 65 78 69 73 74 69 6e 67 20 77 65 62 20 69 6e   existing web in
0770: 66 72 61 73 74 72 75 63 74 75 72 65 2e 0d 0a 20  frastructure...
0780: 20 2a 20 20 59 6f 75 20 77 61 6e 74 20 74 6f 20   *  You want to
0790: 73 68 61 72 65 20 6d 6f 72 65 20 74 68 61 6e 20  share more than
07a0: 6f 6e 65 20 72 65 70 6f 73 69 74 6f 72 79 20 61  one repository a
07b0: 74 20 74 68 65 20 73 61 6d 65 20 74 69 6d 65 2e  t the same time.
07c0: 0d 0a 0d 0a 3c 68 33 3e 50 72 6f 62 6c 65 6d 3c  ....<h3>Problem<
07d0: 2f 68 33 3e 0d 0a 55 6e 6c 69 6b 65 20 73 6f 6d  /h3>..Unlike som
07e0: 65 20 6f 74 68 65 72 20 64 69 73 74 72 69 62 75  e other distribu
07f0: 74 65 64 20 53 43 4d 73 2c 20 3c 63 69 74 65 3e  ted SCMs, <cite>
0800: 46 6f 73 73 69 6c 3c 2f 63 69 74 65 3e 20 63 61  Fossil</cite> ca
0810: 6e 20 6f 6e 6c 79 20 63 6c 6f 6e 65 2c 20 70 75  n only clone, pu
0820: 73 68 2c 20 70 75 6c 6c 20 61 6e 64 20 61 6e 64  sh, pull and and
0830: 20 6f 74 68 65 72 77 69 73 65 20 69 6e 74 65 72   otherwise inter
0840: 61 63 74 20 74 68 72 6f 75 67 68 20 72 65 70 6f  act through repo
0850: 73 69 74 6f 72 69 65 73 20 6f 76 65 72 20 48 54  sitories over HT
0860: 54 50 2e 20 20 54 68 69 73 20 63 61 6e 20 62 65  TP.  This can be
0870: 20 73 69 6d 70 6c 79 20 61 6e 64 20 65 61 73 69   simply and easi
0880: 6c 79 20 6d 61 6e 61 67 65 64 20 74 68 72 6f 75  ly managed throu
0890: 67 68 20 75 73 65 20 6f 66 20 74 68 65 20 3c 63  gh use of the <c
08a0: 6f 64 65 3e 66 6f 73 73 69 6c 20 73 65 72 76 65  ode>fossil serve
08b0: 72 3c 2f 63 6f 64 65 3e 20 61 6e 64 2f 6f 72 20  r</code> and/or
08c0: 3c 63 6f 64 65 3e 66 6f 73 73 69 6c 20 75 69 3c  <code>fossil ui<
08d0: 2f 63 6f 64 65 3e 20 63 6f 6d 6d 61 6e 64 73 2c  /code> commands,
08e0: 20 6f 66 20 63 6f 75 72 73 65 2c 20 62 75 74 20   of course, but
08f0: 74 68 69 73 20 69 73 20 72 65 61 6c 6c 79 20 6f  this is really o
0900: 6e 6c 79 20 61 64 65 71 75 61 74 65 20 66 6f 72  nly adequate for
0910: 20 61 64 2d 68 6f 63 20 72 65 70 6f 73 69 74 6f   ad-hoc reposito
0920: 72 79 20 73 68 61 72 69 6e 67 2e 20 20 43 6f 6e  ry sharing.  Con
0930: 73 69 64 65 72 2c 20 66 6f 72 20 65 78 61 6d 70  sider, for examp
0940: 6c 65 2c 20 73 68 61 72 69 6e 67 20 74 65 6e 20  le, sharing ten
0950: 72 65 70 6f 73 69 74 6f 72 69 65 73 2e 20 20 55  repositories.  U
0960: 73 69 6e 67 20 74 68 65 20 62 75 69 6c 74 2d 69  sing the built-i
0970: 6e 20 73 65 72 76 65 72 20 77 6f 75 6c 64 20 72  n server would r
0980: 65 71 75 69 72 65 20 79 6f 75 20 74 6f 20 6f 70  equire you to op
0990: 65 6e 20 74 65 6e 20 70 6f 72 74 73 20 69 6e 20  en ten ports in
09a0: 79 6f 75 72 20 66 69 72 65 77 61 6c 6c 20 74 6f  your firewall to
09b0: 20 70 65 72 6d 69 74 20 61 63 63 65 73 73 2e 20   permit access.
09c0: 20 41 6e 79 20 73 65 72 69 6f 75 73 20 73 68 61   Any serious sha
09d0: 72 69 6e 67 20 77 69 6c 6c 20 72 65 71 75 69 72  ring will requir
09e0: 65 20 73 6f 6d 65 74 68 69 6e 67 20 6d 6f 72 65  e something more
09f0: 20 72 6f 62 75 73 74 20 61 6e 64 20 70 65 72 6d   robust and perm
0a00: 61 6e 65 6e 74 2c 20 61 6e 64 20 73 6f 6c 75 74  anent, and solut
0a10: 69 6f 6e 73 20 66 6f 72 20 64 6f 69 6e 67 20 73  ions for doing s
0a20: 6f 20 61 72 65 20 64 65 73 63 72 69 62 65 64 20  o are described
0a30: 62 65 6c 6f 77 2e 0d 0a 0d 0a 3c 68 33 3e 53 6f  below.....<h3>So
0a40: 6c 75 74 69 6f 6e 3c 2f 68 33 3e 0d 0a 3c 63 69  lution</h3>..<ci
0a50: 74 65 3e 46 6f 73 73 69 6c 3c 2f 63 69 74 65 3e  te>Fossil</cite>
0a60: 20 73 75 70 70 6f 72 74 73 20 74 68 72 65 65 20   supports three
0a70: 64 69 66 66 65 72 65 6e 74 20 77 61 79 73 20 74  different ways t
0a80: 6f 20 73 68 61 72 65 20 72 65 70 6f 73 69 74 6f  o share reposito
0a90: 72 69 65 73 2e 20 20 46 6f 72 20 61 64 2d 68 6f  ries.  For ad-ho
0aa0: 63 20 73 68 61 72 69 6e 67 20 3c 63 6f 64 65 3e  c sharing <code>
0ab0: 66 6f 73 73 69 6c 20 73 65 72 76 65 72 2f 75 69  fossil server/ui
0ac0: 3c 2f 63 6f 64 65 3e 20 69 73 20 6d 6f 72 65 20  </code> is more
0ad0: 74 68 61 6e 20 61 64 65 71 75 61 74 65 2e 20 20  than adequate.
0ae0: 46 6f 72 20 6d 6f 72 65 20 72 6f 62 75 73 74 20  For more robust
0af0: 73 6f 6c 75 74 69 6f 6e 73 2c 20 68 6f 77 65 76  solutions, howev
0b00: 65 72 2c 20 74 68 65 20 75 73 65 20 6f 66 20 3c  er, the use of <
0b10: 63 69 74 65 3e 28 78 29 69 6e 65 74 64 3c 2f 63  cite>(x)inetd</c
0b20: 69 74 65 3e 20 6f 72 20 43 47 49 20 73 75 70 70  ite> or CGI supp
0b30: 6f 72 74 20 69 73 20 69 6e 64 69 63 61 74 65 64  ort is indicated
0b40: 2e 0d 0a 0d 0a 53 65 74 74 69 6e 67 20 75 70 20  .....Setting up
0b50: 66 6f 73 73 69 6c 20 66 6f 72 20 43 47 49 20 73  fossil for CGI s
0b60: 75 70 70 6f 72 74 20 69 73 20 73 69 6d 70 6c 65  upport is simple
0b70: 2e 20 20 28 53 65 74 74 69 6e 67 20 75 70 20 79  .  (Setting up y
0b80: 6f 75 72 20 77 65 62 20 73 65 72 76 65 72 20 66  our web server f
0b90: 6f 72 20 43 47 49 20 73 75 70 70 6f 72 74 20 6d  or CGI support m
0ba0: 61 79 20 6f 72 20 6d 61 79 20 6e 6f 74 20 62 65  ay or may not be
0bb0: 20 73 69 6d 70 6c 65 2c 20 62 75 74 20 69 74 20   simple, but it
0bc0: 69 73 20 6f 75 74 20 6f 66 20 73 63 6f 70 65 20  is out of scope
0bd0: 6f 66 20 74 68 69 73 20 72 65 63 69 70 65 2e 20  of this recipe.
0be0: 20 43 6f 6e 73 75 6c 74 20 79 6f 75 72 20 77 65   Consult your we
0bf0: 62 20 73 65 72 76 65 72 2f 73 65 72 76 69 63 65  b server/service
0c00: 20 70 72 6f 76 69 64 65 72 27 73 20 64 6f 63 75   provider's docu
0c10: 6d 65 6e 74 61 74 69 6f 6e 20 66 6f 72 20 74 68  mentation for th
0c20: 69 73 2e 29 0d 0a 0d 0a 3c 68 34 3e 55 4e 49 58  is.)....<h4>UNIX
0c30: 3c 2f 68 34 3e 0d 0a 20 20 31 2e 20 20 46 69 6e  </h4>..  1.  Fin
0c40: 64 20 79 6f 75 72 20 43 47 49 20 73 63 72 69 70  d your CGI scrip
0c50: 74 73 20 64 69 72 65 63 74 6f 72 79 20 28 69 66  ts directory (if
0c60: 20 61 70 70 6c 69 63 61 62 6c 65 29 2e 20 20 54   applicable).  T
0c70: 68 69 73 20 69 73 20 63 6f 6d 6d 6f 6e 6c 79 20  his is commonly
0c80: 73 6f 6d 65 74 68 69 6e 67 20 6c 69 6b 65 20 3c  something like <
0c90: 62 61 73 65 3e 2f 63 67 69 2d 62 69 6e 2f 2c 20  base>/cgi-bin/,
0ca0: 62 75 74 20 64 6f 65 73 20 6e 6f 74 20 68 61 76  but does not hav
0cb0: 65 20 74 6f 20 62 65 2e 0d 0a 20 20 32 2e 20 20  e to be...  2.
0cc0: 49 6e 73 69 64 65 20 74 68 61 74 20 64 69 72 65  Inside that dire
0cd0: 63 74 6f 72 79 20 62 75 69 6c 64 20 61 20 73 63  ctory build a sc
0ce0: 72 69 70 74 20 66 69 6c 65 20 77 68 69 63 68 20  ript file which
0cf0: 6c 6f 6f 6b 73 20 6c 69 6b 65 20 74 68 69 73 3a  looks like this:
0d00: 3c 62 72 3e 3c 63 6f 64 65 3e 3c 70 72 65 3e 20  <br><code><pre>
0d10: 20 23 21 20 2f 75 73 72 2f 62 69 6e 2f 65 6e 76   #! /usr/bin/env
0d20: 20 66 6f 73 73 69 6c 3c 62 72 3e 20 20 72 65 70   fossil<br>  rep
0d30: 6f 73 69 74 6f 72 79 3a 20 2f 66 75 6c 6c 2f 70  ository: /full/p
0d40: 61 74 68 2f 74 6f 2f 72 65 70 6f 73 69 74 6f 72  ath/to/repositor
0d50: 79 2f 66 69 6c 65 2e 66 73 6c 3c 2f 70 72 65 3e  y/file.fsl</pre>
0d60: 3c 2f 63 6f 64 65 3e 0d 0a 20 20 33 2e 20 20 45  </code>..  3.  E
0d70: 6e 73 75 72 65 20 74 68 61 74 20 74 68 65 20 73  nsure that the s
0d80: 63 72 69 70 74 20 66 69 6c 65 20 73 6f 20 67 65  cript file so ge
0d90: 6e 65 72 61 74 65 64 20 69 73 20 73 65 74 20 65  nerated is set e
0da0: 78 65 63 75 74 61 62 6c 65 20 66 6f 72 20 74 68  xecutable for th
0db0: 65 20 43 47 49 20 75 73 65 72 20 61 63 63 6f 75  e CGI user accou
0dc0: 6e 74 2e 0d 0a 20 20 34 2e 20 20 45 6e 73 75 72  nt...  4.  Ensur
0dd0: 65 20 74 68 61 74 20 65 76 65 72 79 20 64 69 72  e that every dir
0de0: 65 63 74 6f 72 79 20 69 6e 20 74 68 65 20 70 61  ectory in the pa
0df0: 74 68 20 6c 65 61 64 69 6e 67 20 74 6f 20 74 68  th leading to th
0e00: 65 20 72 65 70 6f 73 69 74 6f 72 79 20 69 73 20  e repository is
0e10: 20 62 72 6f 77 73 65 61 62 6c 65 20 28 63 68 6d   browseable (chm
0e20: 6f 64 20 2b 78 29 20 74 6f 20 74 68 65 20 43 47  od +x) to the CG
0e30: 49 20 75 73 65 72 20 61 63 63 6f 75 6e 74 2e 0d  I user account..
0e40: 0a 20 20 35 2e 20 20 45 6e 73 75 72 65 20 74 68  .  5.  Ensure th
0e50: 61 74 20 74 68 65 20 72 65 70 6f 73 69 74 6f 72  at the repositor
0e60: 79 20 66 69 6c 65 20 69 73 20 72 65 61 64 61 62  y file is readab
0e70: 6c 65 20 3c 65 6d 3e 61 6e 64 3c 2f 65 6d 3e 20  le <em>and</em>
0e80: 77 72 69 74 61 62 6c 65 20 74 6f 20 74 68 65 20  writable to the
0e90: 43 47 49 20 75 73 65 72 20 61 63 63 6f 75 6e 74  CGI user account
0ea0: 2e 0d 0a 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77 69  .....The followi
0eb0: 6e 67 20 73 68 65 6c 6c 20 73 63 72 69 70 74 20  ng shell script
0ec0: 63 61 6e 20 62 65 20 72 75 6e 20 66 72 6f 6d 20  can be run from
0ed0: 77 69 74 68 69 6e 20 74 68 65 20 64 69 72 65 63  within the direc
0ee0: 74 6f 72 79 20 63 6f 6e 74 61 69 6e 69 6e 67 20  tory containing
0ef0: 74 68 65 20 3c 63 69 74 65 3e 46 6f 73 73 69 6c  the <cite>Fossil
0f00: 3c 2f 63 69 74 65 3e 20 72 65 70 6f 73 69 74 6f  </cite> reposito
0f10: 72 69 65 73 20 74 6f 20 62 65 20 73 68 61 72 65  ries to be share
0f20: 64 20 28 61 6e 64 2c 20 6f 66 20 63 6f 75 72 73  d (and, of cours
0f30: 65 2c 20 61 6c 74 65 72 65 64 20 66 6f 72 20 79  e, altered for y
0f40: 6f 75 72 20 73 65 74 75 70 29 20 74 6f 20 73 65  our setup) to se
0f50: 74 20 73 6f 6d 65 20 6f 66 20 74 68 65 20 63 6f  t some of the co
0f60: 6e 73 74 72 61 69 6e 74 73 20 61 62 6f 76 65 20  nstraints above
0f70: 75 70 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79  up automatically
0f80: 3a 0d 0a 0d 0a 3c 6e 6f 77 69 6b 69 3e 3c 66 6f  :....<nowiki><fo
0f90: 6e 74 20 66 61 63 65 3d 22 6d 6f 6e 6f 73 70 61  nt face="monospa
0fa0: 63 65 22 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f  ce">..<font colo
0fb0: 72 3d 22 23 61 35 32 61 32 61 22 3e 26 6e 62 73  r="#a52a2a">&nbs
0fc0: 70 3b 31 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74  p;1 </font><font
0fd0: 20 63 6f 6c 6f 72 3d 22 23 30 30 30 30 66 66 22   color="#0000ff"
0fe0: 3e 23 21 20 2f 62 69 6e 2f 73 68 3c 2f 66 6f 6e  >#! /bin/sh</fon
0ff0: 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f  t><br>..<font co
1000: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 26 6e  lor="#a52a2a">&n
1010: 62 73 70 3b 32 20 3c 2f 66 6f 6e 74 3e 3c 66 6f  bsp;2 </font><fo
1020: 6e 74 20 63 6f 6c 6f 72 3d 22 23 30 30 38 62 38  nt color="#008b8
1030: 62 22 3e 43 47 49 5f 52 4f 4f 54 3c 2f 66 6f 6e  b">CGI_ROOT</fon
1040: 74 3e 3d 2f 75 73 72 2f 6c 69 62 2f 66 6f 73 73  t>=/usr/lib/foss
1050: 69 6c 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f  il<br>..<font co
1060: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 26 6e  lor="#a52a2a">&n
1070: 62 73 70 3b 33 20 3c 2f 66 6f 6e 74 3e 3c 66 6f  bsp;3 </font><fo
1080: 6e 74 20 63 6f 6c 6f 72 3d 22 23 30 30 38 62 38  nt color="#008b8
1090: 62 22 3e 52 45 50 4f 53 49 54 4f 52 59 5f 4f 57  b">REPOSITORY_OW
10a0: 4e 45 52 3c 2f 66 6f 6e 74 3e 3d 6d 69 63 68 61  NER</font>=micha
10b0: 65 6c 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f  el<br>..<font co
10c0: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 26 6e  lor="#a52a2a">&n
10d0: 62 73 70 3b 34 20 3c 2f 66 6f 6e 74 3e 3c 66 6f  bsp;4 </font><fo
10e0: 6e 74 20 63 6f 6c 6f 72 3d 22 23 30 30 38 62 38  nt color="#008b8
10f0: 62 22 3e 43 47 49 5f 47 52 4f 55 50 3c 2f 66 6f  b">CGI_GROUP</fo
1100: 6e 74 3e 3d 77 77 77 2d 64 61 74 61 3c 62 72 3e  nt>=www-data<br>
1110: 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  ..<font color="#
1120: 61 35 32 61 32 61 22 3e 26 6e 62 73 70 3b 35 20  a52a2a">&nbsp;5
1130: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
1140: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e  or="#a52a2a"><b>
1150: 69 66 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 26 6e 62  if</b></font>&nb
1160: 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  sp;<font color="
1170: 23 61 35 32 61 32 61 22 3e 3c 62 3e 5b 3c 2f 62  #a52a2a"><b>[</b
1180: 3e 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66  ></font>&nbsp;<f
1190: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 36 61 35 61  ont color="#6a5a
11a0: 63 64 22 3e 22 60 69 64 20 2d 75 6e 60 22 3c 2f  cd">"`id -un`"</
11b0: 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74  font>&nbsp;<font
11c0: 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22   color="#a52a2a"
11d0: 3e 3c 62 3e 3d 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e  ><b>=</b></font>
11e0: 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f  &nbsp;<font colo
11f0: 72 3d 22 23 66 66 30 30 66 66 22 3e 27 72 6f 6f  r="#ff00ff">'roo
1200: 74 27 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c  t'</font>&nbsp;<
1210: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32  font color="#a52
1220: 61 32 61 22 3e 3c 62 3e 5d 3c 2f 62 3e 3c 2f 66  a2a"><b>]</b></f
1230: 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20  ont><br>..<font
1240: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
1250: 26 6e 62 73 70 3b 36 20 3c 2f 66 6f 6e 74 3e 3c  &nbsp;6 </font><
1260: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32  font color="#a52
1270: 61 32 61 22 3e 3c 62 3e 74 68 65 6e 3c 2f 62 3e  a2a"><b>then</b>
1280: 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f  </font><br>..<fo
1290: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
12a0: 61 22 3e 26 6e 62 73 70 3b 37 20 3c 2f 66 6f 6e  a">&nbsp;7 </fon
12b0: 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b 3c 66  t>&nbsp;&nbsp;<f
12c0: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61  ont color="#a52a
12d0: 32 61 22 3e 3c 62 3e 66 6f 72 3c 2f 62 3e 3c 2f  2a"><b>for</b></
12e0: 66 6f 6e 74 3e 26 6e 62 73 70 3b 72 65 70 6f 73  font>&nbsp;repos
12f0: 69 74 6f 72 79 20 3c 66 6f 6e 74 20 63 6f 6c 6f  itory <font colo
1300: 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 69  r="#a52a2a"><b>i
1310: 6e 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 26 6e 62 73  n</b></font>&nbs
1320: 70 3b 2a 2e 66 73 6c 3c 62 72 3e 0d 0a 3c 66 6f  p;*.fsl<br>..<fo
1330: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
1340: 61 22 3e 26 6e 62 73 70 3b 38 20 3c 2f 66 6f 6e  a">&nbsp;8 </fon
1350: 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b 3c 66  t>&nbsp;&nbsp;<f
1360: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61  ont color="#a52a
1370: 32 61 22 3e 3c 62 3e 64 6f 3c 2f 62 3e 3c 2f 66  2a"><b>do</b></f
1380: 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20  ont><br>..<font
1390: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
13a0: 26 6e 62 73 70 3b 39 20 3c 2f 66 6f 6e 74 3e 26  &nbsp;9 </font>&
13b0: 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e 62 73 70  nbsp;&nbsp;&nbsp
13c0: 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c  ;&nbsp;<font col
13d0: 6f 72 3d 22 23 30 30 38 62 38 62 22 3e 53 4f 55  or="#008b8b">SOU
13e0: 52 43 45 3c 2f 66 6f 6e 74 3e 3d 3c 66 6f 6e 74  RCE</font>=<font
13f0: 20 63 6f 6c 6f 72 3d 22 23 36 61 35 61 63 64 22   color="#6a5acd"
1400: 3e 60 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63  >`</font><font c
1410: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c  olor="#a52a2a"><
1420: 62 3e 70 77 64 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e  b>pwd</b></font>
1430: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 36 61  <font color="#6a
1440: 35 61 63 64 22 3e 60 3c 2f 66 6f 6e 74 3e 2f 3c  5acd">`</font>/<
1450: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 30 32  font color="#a02
1460: 30 66 30 22 3e 24 72 65 70 6f 73 69 74 6f 72 79  0f0">\$repository
1470: 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f  </font><br>..<fo
1480: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
1490: 61 22 3e 31 30 20 3c 2f 66 6f 6e 74 3e 26 6e 62  a">10 </font>&nb
14a0: 73 70 3b 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26  sp;&nbsp;&nbsp;&
14b0: 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72  nbsp;<font color
14c0: 3d 22 23 30 30 38 62 38 62 22 3e 44 45 53 54 49  ="#008b8b">DESTI
14d0: 4e 41 54 49 4f 4e 3c 2f 66 6f 6e 74 3e 3d 3c 66  NATION</font>=<f
14e0: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 30 32 30  ont color="#a020
14f0: 66 30 22 3e 24 43 47 49 5f 52 4f 4f 54 3c 2f 66  f0">\$CGI_ROOT</f
1500: 6f 6e 74 3e 2f 3c 66 6f 6e 74 20 63 6f 6c 6f 72  ont>/<font color
1510: 3d 22 23 61 30 32 30 66 30 22 3e 24 7b 3c 2f 66  ="#a020f0">\${</f
1520: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
1530: 22 23 61 30 32 30 66 30 22 3e 72 65 70 6f 73 69  "#a020f0">reposi
1540: 74 6f 72 79 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74  tory</font><font
1550: 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22   color="#a52a2a"
1560: 3e 3c 62 3e 25 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e  ><b>%</b></font>
1570: 2e 66 73 6c 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  .fsl<font color=
1580: 22 23 61 30 32 30 66 30 22 3e 7d 3c 2f 66 6f 6e  "#a020f0">}</fon
1590: 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f  t><br>..<font co
15a0: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 31 31  lor="#a52a2a">11
15b0: 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e   </font>&nbsp;&n
15c0: 62 73 70 3b 26 6e 62 73 70 3b 26 6e 62 73 70 3b  bsp;&nbsp;&nbsp;
15d0: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35  <font color="#a5
15e0: 32 61 32 61 22 3e 3c 62 3e 65 63 68 6f 3c 2f 62  2a2a"><b>echo</b
15f0: 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f  ></font><font co
1600: 6c 6f 72 3d 22 23 66 66 30 30 66 66 22 3e 26 6e  lor="#ff00ff">&n
1610: 62 73 70 3b 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74  bsp;</font><font
1620: 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22   color="#a52a2a"
1630: 3e 3c 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f  ><b>&quot;</b></
1640: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
1650: 3d 22 23 66 66 30 30 66 66 22 3e 23 21 20 2f 75  ="#ff00ff">#! /u
1660: 73 72 2f 62 69 6e 2f 65 6e 76 20 66 6f 73 73 69  sr/bin/env fossi
1670: 6c 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f  l</font><font co
1680: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62  lor="#a52a2a"><b
1690: 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e  >&quot;</b></fon
16a0: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
16b0: 66 66 30 30 66 66 22 3e 26 6e 62 73 70 3b 3c 2f  ff00ff">&nbsp;</
16c0: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
16d0: 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 26 67  ="#a52a2a"><b>&g
16e0: 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 26 6e 62  t;</b></font>&nb
16f0: 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  sp;<font color="
1700: 23 61 30 32 30 66 30 22 3e 24 44 45 53 54 49 4e  #a020f0">\$DESTIN
1710: 41 54 49 4f 4e 3c 2f 66 6f 6e 74 3e 3c 62 72 3e  ATION</font><br>
1720: 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  ..<font color="#
1730: 61 35 32 61 32 61 22 3e 31 32 20 3c 2f 66 6f 6e  a52a2a">12 </fon
1740: 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e  t>&nbsp;&nbsp;&n
1750: 62 73 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74 20  bsp;&nbsp;<font
1760: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
1770: 3c 62 3e 65 63 68 6f 3c 2f 62 3e 3c 2f 66 6f 6e  <b>echo</b></fon
1780: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
1790: 66 66 30 30 66 66 22 3e 26 6e 62 73 70 3b 3c 2f  ff00ff">&nbsp;</
17a0: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
17b0: 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 26 71  ="#a52a2a"><b>&q
17c0: 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c  uot;</b></font><
17d0: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 66 66 30  font color="#ff0
17e0: 30 66 66 22 3e 72 65 70 6f 73 69 74 6f 72 79 3a  0ff">repository:
17f0: 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f   </font><font co
1800: 6c 6f 72 3d 22 23 61 30 32 30 66 30 22 3e 24 53  lor="#a020f0">\$S
1810: 4f 55 52 43 45 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  OURCE</font><fon
1820: 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61  t color="#a52a2a
1830: 22 3e 3c 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c  "><b>&quot;</b><
1840: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
1850: 72 3d 22 23 66 66 30 30 66 66 22 3e 26 6e 62 73  r="#ff00ff">&nbs
1860: 70 3b 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63  p;</font><font c
1870: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c  olor="#a52a2a"><
1880: 62 3e 26 67 74 3b 26 67 74 3b 3c 2f 62 3e 3c 2f  b>&gt;&gt;</b></
1890: 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74  font>&nbsp;<font
18a0: 20 63 6f 6c 6f 72 3d 22 23 61 30 32 30 66 30 22   color="#a020f0"
18b0: 3e 24 44 45 53 54 49 4e 41 54 49 4f 4e 3c 2f 66  >\$DESTINATION</f
18c0: 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20  ont><br>..<font
18d0: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
18e0: 31 33 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b  13 </font>&nbsp;
18f0: 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e 62 73  &nbsp;&nbsp;&nbs
1900: 70 3b 63 68 6f 77 6e 20 3c 66 6f 6e 74 20 63 6f  p;chown <font co
1910: 6c 6f 72 3d 22 23 61 30 32 30 66 30 22 3e 24 52  lor="#a020f0">\$R
1920: 45 50 4f 53 49 54 4f 52 59 5f 4f 57 4e 45 52 3c  EPOSITORY_OWNER<
1930: 2f 66 6f 6e 74 3e 3a 3c 66 6f 6e 74 20 63 6f 6c  /font>:<font col
1940: 6f 72 3d 22 23 61 30 32 30 66 30 22 3e 24 43 47  or="#a020f0">\$CG
1950: 49 5f 47 52 4f 55 50 3c 2f 66 6f 6e 74 3e 26 6e  I_GROUP</font>&n
1960: 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  bsp;<font color=
1970: 22 23 61 30 32 30 66 30 22 3e 24 53 4f 55 52 43  "#a020f0">\$SOURC
1980: 45 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66  E</font><br>..<f
1990: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61  ont color="#a52a
19a0: 32 61 22 3e 31 34 20 3c 2f 66 6f 6e 74 3e 26 6e  2a">14 </font>&n
19b0: 62 73 70 3b 26 6e 62 73 70 3b 26 6e 62 73 70 3b  bsp;&nbsp;&nbsp;
19c0: 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f  &nbsp;<font colo
19d0: 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 63  r="#a52a2a"><b>c
19e0: 68 6d 6f 64 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 26  hmod</b></font>&
19f0: 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72  nbsp;<font color
1a00: 3d 22 23 66 66 30 30 66 66 22 3e 36 36 34 3c 2f  ="#ff00ff">664</
1a10: 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74  font>&nbsp;<font
1a20: 20 63 6f 6c 6f 72 3d 22 23 61 30 32 30 66 30 22   color="#a020f0"
1a30: 3e 24 53 4f 55 52 43 45 3c 2f 66 6f 6e 74 3e 3c  >\$SOURCE</font><
1a40: 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72  br>..<font color
1a50: 3d 22 23 61 35 32 61 32 61 22 3e 31 35 20 3c 2f  ="#a52a2a">15 </
1a60: 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70  font>&nbsp;&nbsp
1a70: 3b 26 6e 62 73 70 3b 26 6e 62 73 70 3b 63 68 6f  ;&nbsp;&nbsp;cho
1a80: 77 6e 20 72 6f 6f 74 3a 72 6f 6f 74 20 3c 66 6f  wn root:root <fo
1a90: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 30 32 30 66  nt color="#a020f
1aa0: 30 22 3e 24 44 45 53 54 49 4e 41 54 49 4f 4e 3c  0">\$DESTINATION<
1ab0: 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e  /font><br>..<fon
1ac0: 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61  t color="#a52a2a
1ad0: 22 3e 31 36 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73  ">16 </font>&nbs
1ae0: 70 3b 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e  p;&nbsp;&nbsp;&n
1af0: 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  bsp;<font color=
1b00: 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 63 68 6d  "#a52a2a"><b>chm
1b10: 6f 64 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 26 6e 62  od</b></font>&nb
1b20: 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  sp;<font color="
1b30: 23 66 66 30 30 66 66 22 3e 37 35 35 3c 2f 66 6f  #ff00ff">755</fo
1b40: 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63  nt>&nbsp;<font c
1b50: 6f 6c 6f 72 3d 22 23 61 30 32 30 66 30 22 3e 24  olor="#a020f0">\$
1b60: 44 45 53 54 49 4e 41 54 49 4f 4e 3c 2f 66 6f 6e  DESTINATION</fon
1b70: 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f  t><br>..<font co
1b80: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 31 37  lor="#a52a2a">17
1b90: 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e   </font>&nbsp;&n
1ba0: 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  bsp;<font color=
1bb0: 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 64 6f 6e  "#a52a2a"><b>don
1bc0: 65 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 62 72 3e  e</b></font><br>
1bd0: 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  ..<font color="#
1be0: 61 35 32 61 32 61 22 3e 31 38 20 3c 2f 66 6f 6e  a52a2a">18 </fon
1bf0: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
1c00: 61 35 32 61 32 61 22 3e 3c 62 3e 65 6c 73 65 3c  a52a2a"><b>else<
1c10: 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a  /b></font><br>..
1c20: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35  <font color="#a5
1c30: 32 61 32 61 22 3e 31 39 20 3c 2f 66 6f 6e 74 3e  2a2a">19 </font>
1c40: 26 6e 62 73 70 3b 26 6e 62 73 70 3b 73 75 64 6f  &nbsp;&nbsp;sudo
1c50: 20 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61   <font color="#a
1c60: 30 32 30 66 30 22 3e 24 30 3c 2f 66 6f 6e 74 3e  020f0">\$0</font>
1c70: 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f  &nbsp;<font colo
1c80: 72 3d 22 23 61 30 32 30 66 30 22 3e 24 2a 3c 2f  r="#a020f0">\$*</
1c90: 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74  font><br>..<font
1ca0: 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22   color="#a52a2a"
1cb0: 3e 32 30 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74  >20 </font><font
1cc0: 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22   color="#a52a2a"
1cd0: 3e 3c 62 3e 66 69 3c 2f 62 3e 3c 2f 66 6f 6e 74  ><b>fi</b></font
1ce0: 3e 3c 62 72 3e 0d 0a 3c 2f 66 6f 6e 74 3e 3c 2f  ><br>..</font></
1cf0: 6e 6f 77 69 6b 69 3e 0d 0a 0d 0a 48 65 72 65 20  nowiki>....Here
1d00: 69 73 20 61 20 6c 69 74 74 6c 65 20 70 65 72 6c  is a little perl
1d10: 20 73 63 72 69 70 74 20 74 6f 20 70 75 74 20 69   script to put i
1d20: 6e 20 79 6f 75 72 20 63 67 69 2d 62 69 6e 20 74  n your cgi-bin t
1d30: 6f 20 6c 69 73 74 20 61 6c 6c 20 74 68 65 20 66  o list all the f
1d40: 6f 73 73 69 6c 73 20 79 6f 75 20 61 72 65 20 70  ossils you are p
1d50: 75 62 6c 69 73 68 69 6e 67 3a 0d 0a 0d 0a 3c 6e  ublishing:....<n
1d60: 6f 77 69 6b 69 3e 0d 0a 3c 70 72 65 3e 0d 0a 3c  owiki>..<pre>..<
1d70: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32  font color="#a52
1d80: 61 32 61 22 3e 26 6e 62 73 70 3b 31 20 3c 2f 66  a2a">&nbsp;1 </f
1d90: 6f 6e 74 3e 20 23 21 2f 75 73 72 2f 62 69 6e 2f  ont> #!/usr/bin/
1da0: 70 65 72 6c 20 2d 77 0d 0a 3c 66 6f 6e 74 20 63  perl -w..<font c
1db0: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 26  olor="#a52a2a">&
1dc0: 6e 62 73 70 3b 32 20 3c 2f 66 6f 6e 74 3e 20 3c  nbsp;2 </font> <
1dd0: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 42 30  font color="#8B0
1de0: 30 38 42 22 3e 3c 62 3e 6d 79 3c 2f 62 3e 3c 2f  08B"><b>my</b></
1df0: 66 6f 6e 74 3e 20 3c 66 6f 6e 74 20 63 6f 6c 6f  font> <font colo
1e00: 72 3d 22 23 30 30 36 38 38 42 22 3e 24 43 47 49  r="#00688B">\$CGI
1e10: 5f 42 49 4e 3c 2f 66 6f 6e 74 3e 20 3d 20 3c 66  _BIN</font> = <f
1e20: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 43 44 35 35  ont color="#CD55
1e30: 35 35 22 3e 26 23 33 39 3b 2f 4c 69 62 72 61 72  55">&#39;/Librar
1e40: 79 2f 57 65 62 53 65 72 76 65 72 2f 43 47 49 2d  y/WebServer/CGI-
1e50: 45 78 65 63 75 74 61 62 6c 65 73 26 23 33 39 3b  Executables&#39;
1e60: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
1e70: 6f 72 3d 22 23 30 30 30 30 30 30 22 3e 3b 3c 2f  or="#000000">;</
1e80: 66 6f 6e 74 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c  font>..<font col
1e90: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 26 6e 62  or="#a52a2a">&nb
1ea0: 73 70 3b 33 20 3c 2f 66 6f 6e 74 3e 20 3c 66 6f  sp;3 </font> <fo
1eb0: 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 42 30 30 38  nt color="#8B008
1ec0: 42 22 3e 3c 62 3e 6d 79 3c 2f 62 3e 3c 2f 66 6f  B"><b>my</b></fo
1ed0: 6e 74 3e 20 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  nt> <font color=
1ee0: 22 23 30 30 36 38 38 42 22 3e 40 66 69 6c 65 73  "#00688B">@files
1ef0: 3c 2f 66 6f 6e 74 3e 20 3d 20 3c 66 6f 6e 74 20  </font> = <font
1f00: 63 6f 6c 6f 72 3d 22 23 43 44 35 35 35 35 22 3e  color="#CD5555">
1f10: 60 67 72 65 70 20 2d 6c 20 72 65 70 6f 73 69 74  `grep -l reposit
1f20: 6f 72 79 3a 20 20 24 43 47 49 5f 42 49 4e 2f 2a  ory:  \$CGI_BIN/*
1f30: 20 60 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63   `</font><font c
1f40: 6f 6c 6f 72 3d 22 23 30 30 30 30 30 30 22 3e 3b  olor="#000000">;
1f50: 3c 2f 66 6f 6e 74 3e 0d 0a 3c 66 6f 6e 74 20 63  </font>..<font c
1f60: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 26  olor="#a52a2a">&
1f70: 6e 62 73 70 3b 34 20 3c 2f 66 6f 6e 74 3e 20 3c  nbsp;4 </font> <
1f80: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 42 30  font color="#8B0
1f90: 30 38 42 22 3e 3c 62 3e 70 72 69 6e 74 3c 2f 62  08B"><b>print</b
1fa0: 3e 3c 2f 66 6f 6e 74 3e 20 3c 66 6f 6e 74 20 63  ></font> <font c
1fb0: 6f 6c 6f 72 3d 22 23 43 44 35 35 35 35 22 3e 3c  olor="#CD5555"><
1fc0: 62 3e 26 6c 74 3b 26 6c 74 3b 45 4f 4d 3c 2f 62  b>&lt;&lt;EOM</b
1fd0: 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f  ></font><font co
1fe0: 6c 6f 72 3d 22 23 30 30 30 30 30 30 22 3e 3b 3c  lor="#000000">;<
1ff0: 2f 66 6f 6e 74 3e 0d 0a 3c 66 6f 6e 74 20 63 6f  /font>..<font co
2000: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 26 6e  lor="#a52a2a">&n
2010: 62 73 70 3b 35 20 3c 2f 66 6f 6e 74 3e 20 3c 66  bsp;5 </font> <f
2020: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 43 44 35 35  ont color="#CD55
2030: 35 35 22 3e 3c 69 3e 43 6f 6e 74 65 6e 74 2d 54  55"><i>Content-T
2040: 79 70 65 3a 20 74 65 78 74 2f 68 74 6d 6c 3c 2f  ype: text/html</
2050: 69 3e 3c 2f 66 6f 6e 74 3e 0d 0a 3c 66 6f 6e 74  i></font>..<font
2060: 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22   color="#a52a2a"
2070: 3e 26 6e 62 73 70 3b 36 20 3c 2f 66 6f 6e 74 3e  >&nbsp;6 </font>
2080: 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  ..<font color="#
2090: 61 35 32 61 32 61 22 3e 26 6e 62 73 70 3b 37 20  a52a2a">&nbsp;7
20a0: 3c 2f 66 6f 6e 74 3e 20 3c 66 6f 6e 74 20 63 6f  </font> <font co
20b0: 6c 6f 72 3d 22 23 43 44 35 35 35 35 22 3e 3c 69  lor="#CD5555"><i
20c0: 3e 46 6f 73 73 69 6c 73 20 66 6f 72 20 74 68 69  >Fossils for thi
20d0: 73 20 73 65 72 76 65 72 3c 2f 69 3e 3c 2f 66 6f  s server</i></fo
20e0: 6e 74 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72  nt>..<font color
20f0: 3d 22 23 61 35 32 61 32 61 22 3e 26 6e 62 73 70  ="#a52a2a">&nbsp
2100: 3b 38 20 3c 2f 66 6f 6e 74 3e 20 3c 66 6f 6e 74  ;8 </font> <font
2110: 20 63 6f 6c 6f 72 3d 22 23 43 44 35 35 35 35 22   color="#CD5555"
2120: 3e 3c 69 3e 26 6c 74 3b 75 6c 26 67 74 3b 3c 2f  ><i>&lt;ul&gt;</
2130: 69 3e 3c 2f 66 6f 6e 74 3e 0d 0a 3c 66 6f 6e 74  i></font>..<font
2140: 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22   color="#a52a2a"
2150: 3e 26 6e 62 73 70 3b 39 20 3c 2f 66 6f 6e 74 3e  >&nbsp;9 </font>
2160: 20 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 43   <font color="#C
2170: 44 35 35 35 35 22 3e 3c 62 3e 45 4f 4d 3c 2f 62  D5555"><b>EOM</b
2180: 3e 3c 2f 66 6f 6e 74 3e 0d 0a 3c 66 6f 6e 74 20  ></font>..<font
2190: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
21a0: 26 6e 62 73 70 3b 31 30 20 3c 2f 66 6f 6e 74 3e  &nbsp;10 </font>
21b0: 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  ..<font color="#
21c0: 61 35 32 61 32 61 22 3e 26 6e 62 73 70 3b 31 31  a52a2a">&nbsp;11
21d0: 20 3c 2f 66 6f 6e 74 3e 20 3c 66 6f 6e 74 20 63   </font> <font c
21e0: 6f 6c 6f 72 3d 22 23 38 42 30 30 38 42 22 3e 3c  olor="#8B008B"><
21f0: 62 3e 66 6f 72 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e  b>for</b></font>
2200: 20 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 30   <font color="#0
2210: 30 30 30 30 30 22 3e 28 3c 2f 66 6f 6e 74 3e 3c  00000">(</font><
2220: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 30 30 36  font color="#006
2230: 38 38 42 22 3e 40 66 69 6c 65 73 3c 2f 66 6f 6e  88B">@files</fon
2240: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
2250: 30 30 30 30 30 30 22 3e 29 3c 2f 66 6f 6e 74 3e  000000">)</font>
2260: 20 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 30   <font color="#0
2270: 30 30 30 30 30 22 3e 7b 3c 2f 66 6f 6e 74 3e 0d  00000">{</font>.
2280: 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61  .<font color="#a
2290: 35 32 61 32 61 22 3e 26 6e 62 73 70 3b 31 32 20  52a2a">&nbsp;12
22a0: 3c 2f 66 6f 6e 74 3e 20 20 20 3c 66 6f 6e 74 20  </font>   <font
22b0: 63 6f 6c 6f 72 3d 22 23 43 44 35 35 35 35 22 3e  color="#CD5555">
22c0: 73 7b 2e 2a 2f 7d 7b 7d 3c 2f 66 6f 6e 74 3e 3c  s{.*/}{}</font><
22d0: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 30 30 30  font color="#000
22e0: 30 30 30 22 3e 3b 3c 2f 66 6f 6e 74 3e 0d 0a 3c  000">;</font>..<
22f0: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32  font color="#a52
2300: 61 32 61 22 3e 26 6e 62 73 70 3b 31 33 20 3c 2f  a2a">&nbsp;13 </
2310: 66 6f 6e 74 3e 20 20 20 3c 66 6f 6e 74 20 63 6f  font>   <font co
2320: 6c 6f 72 3d 22 23 38 42 30 30 38 42 22 3e 3c 62  lor="#8B008B"><b
2330: 3e 6e 65 78 74 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e  >next</b></font>
2340: 20 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38   <font color="#8
2350: 42 30 30 38 42 22 3e 3c 62 3e 69 66 3c 2f 62 3e  B008B"><b>if</b>
2360: 3c 2f 66 6f 6e 74 3e 20 3c 66 6f 6e 74 20 63 6f  </font> <font co
2370: 6c 6f 72 3d 22 23 43 44 35 35 35 35 22 3e 2f 7e  lor="#CD5555">/~
2380: 24 2f 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63  \$/</font><font c
2390: 6f 6c 6f 72 3d 22 23 30 30 30 30 30 30 22 3e 3b  olor="#000000">;
23a0: 3c 2f 66 6f 6e 74 3e 0d 0a 3c 66 6f 6e 74 20 63  </font>..<font c
23b0: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 26  olor="#a52a2a">&
23c0: 6e 62 73 70 3b 31 34 20 3c 2f 66 6f 6e 74 3e 20  nbsp;14 </font>
23d0: 20 20 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23    <font color="#
23e0: 38 42 30 30 38 42 22 3e 3c 62 3e 70 72 69 6e 74  8B008B"><b>print
23f0: 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 20 3c 66 6f 6e  </b></font> <fon
2400: 74 20 63 6f 6c 6f 72 3d 22 23 43 44 35 35 35 35  t color="#CD5555
2410: 22 3e 26 71 75 6f 74 3b 26 6c 74 3b 6c 69 26 67  ">&quot;&lt;li&g
2420: 74 3b 26 6c 74 3b 61 20 68 72 65 66 3d 26 23 33  t;&lt;a href=&#3
2430: 39 3b 24 5f 26 23 33 39 3b 26 67 74 3b 24 5f 26  9;\$_&#39;&gt;\$_&
2440: 6c 74 3b 2f 61 26 67 74 3b 26 6c 74 3b 2f 6c 69  lt;/a&gt;&lt;/li
2450: 26 67 74 3b 5c 6e 26 71 75 6f 74 3b 3c 2f 66 6f  &gt;\n&quot;</fo
2460: 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  nt><font color="
2470: 23 30 30 30 30 30 30 22 3e 3b 3c 2f 66 6f 6e 74  #000000">;</font
2480: 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  >..<font color="
2490: 23 61 35 32 61 32 61 22 3e 26 6e 62 73 70 3b 31  #a52a2a">&nbsp;1
24a0: 35 20 3c 2f 66 6f 6e 74 3e 20 3c 66 6f 6e 74 20  5 </font> <font
24b0: 63 6f 6c 6f 72 3d 22 23 30 30 30 30 30 30 22 3e  color="#000000">
24c0: 7d 3c 2f 66 6f 6e 74 3e 0d 0a 3c 66 6f 6e 74 20  }</font>..<font
24d0: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
24e0: 26 6e 62 73 70 3b 31 36 20 3c 2f 66 6f 6e 74 3e  &nbsp;16 </font>
24f0: 20 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38   <font color="#8
2500: 42 30 30 38 42 22 3e 3c 62 3e 70 72 69 6e 74 3c  B008B"><b>print<
2510: 2f 62 3e 3c 2f 66 6f 6e 74 3e 20 3c 66 6f 6e 74  /b></font> <font
2520: 20 63 6f 6c 6f 72 3d 22 23 43 44 35 35 35 35 22   color="#CD5555"
2530: 3e 26 71 75 6f 74 3b 26 6c 74 3b 2f 75 6c 26 67  >&quot;&lt;/ul&g
2540: 74 3b 5c 6e 26 71 75 6f 74 3b 3c 2f 66 6f 6e 74  t;\n&quot;</font
2550: 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 30  ><font color="#0
2560: 30 30 30 30 30 22 3e 3b 3c 2f 66 6f 6e 74 3e 0d  00000">;</font>.
2570: 0a 3c 2f 70 72 65 3e 0d 0a 3c 2f 6e 6f 77 69 6b  .</pre>..</nowik
2580: 69 3e 0d 0a 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77  i>....The follow
2590: 69 6e 67 20 3c 63 69 74 65 3e 61 70 61 63 68 65  ing <cite>apache
25a0: 32 3c 2f 63 69 74 65 3e 20 63 6f 6e 66 69 67 75  2</cite> configu
25b0: 72 61 74 69 6f 6e 20 63 61 6e 20 62 65 20 75 73  ration can be us
25c0: 65 64 20 74 6f 20 72 75 6e 20 74 68 65 20 72 6f  ed to run the ro
25d0: 6f 74 20 6f 66 20 61 20 77 65 62 20 73 69 74 65  ot of a web site
25e0: 20 77 69 74 68 20 66 6f 73 73 69 6c 2c 20 62 75   with fossil, bu
25f0: 74 20 73 74 69 6c 6c 20 61 6c 6c 6f 77 20 6f 74  t still allow ot
2600: 68 65 72 20 73 65 72 76 69 63 65 73 20 2f 20 64  her services / d
2610: 6f 63 75 6d 65 6e 74 73 20 74 6f 20 62 65 20 72  ocuments to be r
2620: 65 61 63 68 65 64 20 76 69 61 20 73 70 65 63 69  eached via speci
2630: 66 69 63 20 55 52 4c 73 2e 20 52 65 70 6c 61 63  fic URLs. Replac
2640: 65 20 22 63 6f 64 65 2e 61 75 74 6f 6e 6f 6d 6f  e "code.autonomo
2650: 2e 75 73 22 20 77 69 74 68 20 79 6f 75 72 20 73  .us" with your s
2660: 69 74 65 27 73 20 6e 61 6d 65 20 61 6e 64 20 22  ite's name and "
2670: 64 63 6c 61 72 6b 40 70 6f 62 6f 78 2e 63 6f 6d  dclark@pobox.com
2680: 22 20 77 69 74 68 20 79 6f 75 72 20 65 6d 61 69  " with your emai
2690: 6c 2e 0d 0a 0d 0a 3c 76 65 72 62 61 74 69 6d 3e  l.....<verbatim>
26a0: 0d 0a 4e 61 6d 65 56 69 72 74 75 61 6c 48 6f 73  ..NameVirtualHos
26b0: 74 20 2a 3a 38 30 0d 0a 3c 56 69 72 74 75 61 6c  t *:80..<Virtual
26c0: 48 6f 73 74 20 2a 3a 38 30 3e 0d 0a 20 20 20 20  Host *:80>..
26d0: 53 65 72 76 65 72 4e 61 6d 65 20 63 6f 64 65 2e  ServerName code.
26e0: 61 75 74 6f 6e 6f 6d 6f 2e 75 73 0d 0a 20 20 20  autonomo.us..
26f0: 20 53 65 72 76 65 72 41 64 6d 69 6e 20 64 63 6c   ServerAdmin dcl
2700: 61 72 6b 40 70 6f 62 6f 78 2e 63 6f 6d 0d 0a 20  ark@pobox.com..
2710: 20 20 20 45 72 72 6f 72 4c 6f 67 20 2f 76 61 72     ErrorLog /var
2720: 2f 6c 6f 67 2f 61 70 61 63 68 65 32 2f 63 6f 64  /log/apache2/cod
2730: 65 2e 61 75 74 6f 6e 6f 6d 6f 2e 75 73 2d 65 72  e.autonomo.us-er
2740: 72 6f 72 2e 6c 6f 67 0d 0a 20 20 20 20 4c 6f 67  ror.log..    Log
2750: 4c 65 76 65 6c 20 77 61 72 6e 0d 0a 20 20 20 20  Level warn..
2760: 43 75 73 74 6f 6d 4c 6f 67 20 2f 76 61 72 2f 6c  CustomLog /var/l
2770: 6f 67 2f 61 70 61 63 68 65 32 2f 63 6f 64 65 2e  og/apache2/code.
2780: 61 75 74 6f 6e 6f 6d 6f 2e 75 73 2d 61 63 63 65  autonomo.us-acce
2790: 73 73 2e 6c 6f 67 20 63 6f 6d 62 69 6e 65 64 0d  ss.log combined.
27a0: 0a 20 20 20 20 53 65 72 76 65 72 53 69 67 6e 61  .    ServerSigna
27b0: 74 75 72 65 20 4f 6e 0d 0a 0d 0a 20 20 20 20 44  ture On....    D
27c0: 6f 63 75 6d 65 6e 74 52 6f 6f 74 20 2f 76 61 72  ocumentRoot /var
27d0: 2f 77 77 77 2f 0d 0a 0d 0a 20 20 20 20 53 63 72  /www/....    Scr
27e0: 69 70 74 41 6c 69 61 73 20 2f 63 67 69 2d 62 69  iptAlias /cgi-bi
27f0: 6e 2f 20 2f 75 73 72 2f 6c 69 62 2f 63 67 69 2d  n/ /usr/lib/cgi-
2800: 62 69 6e 2f 0d 0a 20 20 20 20 3c 44 69 72 65 63  bin/..    <Direc
2810: 74 6f 72 79 20 22 2f 75 73 72 2f 6c 69 62 2f 63  tory "/usr/lib/c
2820: 67 69 2d 62 69 6e 22 3e 0d 0a 20 20 20 20 20 20  gi-bin">..
2830: 20 20 41 6c 6c 6f 77 4f 76 65 72 72 69 64 65 20    AllowOverride
2840: 4e 6f 6e 65 0d 0a 20 20 20 20 20 20 20 20 4f 70  None..        Op
2850: 74 69 6f 6e 73 20 2b 45 78 65 63 43 47 49 20 2d  tions +ExecCGI -
2860: 4d 75 6c 74 69 56 69 65 77 73 20 2b 53 79 6d 4c  MultiViews +SymL
2870: 69 6e 6b 73 49 66 4f 77 6e 65 72 4d 61 74 63 68  inksIfOwnerMatch
2880: 0d 0a 20 20 20 20 20 20 20 20 4f 72 64 65 72 20  ..        Order
2890: 61 6c 6c 6f 77 2c 64 65 6e 79 0d 0a 20 20 20 20  allow,deny..
28a0: 20 20 20 20 41 6c 6c 6f 77 20 66 72 6f 6d 20 61      Allow from a
28b0: 6c 6c 0d 0a 20 20 20 20 3c 2f 44 69 72 65 63 74  ll..    </Direct
28c0: 6f 72 79 3e 0d 0a 0d 0a 20 20 20 20 23 20 46 6f  ory>....    # Fo
28d0: 73 73 69 6c 20 53 43 4d 20 61 74 20 72 6f 6f 74  ssil SCM at root
28e0: 20 6f 66 20 77 65 62 20 73 69 74 65 20 28 68 74   of web site (ht
28f0: 74 70 3a 2f 2f 65 78 61 6d 70 6c 65 2e 63 6f 6d  tp://example.com
2900: 29 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 2e  ) configuration.
2910: 2e 2e 0d 0a 20 20 20 20 52 65 77 72 69 74 65 45  ....    RewriteE
2920: 6e 67 69 6e 65 20 4f 6e 0d 0a 20 20 20 20 23 20  ngine On..    #
2930: 52 65 77 72 69 74 65 43 6f 6e 64 20 2d 20 4f 6e  RewriteCond - On
2940: 65 20 66 6f 72 20 65 76 65 72 79 20 55 52 4c 20  e for every URL
2950: 77 65 20 64 6f 6e 27 74 20 77 61 6e 74 20 46 6f  we don't want Fo
2960: 73 73 69 6c 20 53 43 4d 20 74 6f 20 73 65 72 76  ssil SCM to serv
2970: 65 2e 20 49 6e 20 74 68 65 0d 0a 20 20 20 20 23  e. In the..    #
2980: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65                 e
2990: 78 61 6d 70 6c 65 2c 20 72 65 71 75 65 73 74 73  xample, requests
29a0: 20 74 68 61 74 20 67 6f 20 74 6f 20 74 68 65 20   that go to the
29b0: 2f 76 61 72 2f 77 77 77 2f 74 6d 70 20 64 69 72  /var/www/tmp dir
29c0: 65 63 74 6f 72 79 20 61 6e 64 20 0d 0a 20 20 20  ectory and ..
29d0: 20 23 20 20 20 20 20 20 20 20 20 20 20 20 20 20   #
29e0: 20 74 68 65 20 2f 75 73 72 2f 6c 69 62 2f 63 67   the /usr/lib/cg
29f0: 69 2d 62 69 6e 20 64 69 72 65 63 74 6f 74 79 20  i-bin directoty
2a00: 61 72 65 20 69 67 6e 6f 72 65 64 20 62 79 20 46  are ignored by F
2a10: 6f 73 73 69 6c 20 53 43 4d 2e 0d 0a 20 20 20 20  ossil SCM...
2a20: 52 65 77 72 69 74 65 43 6f 6e 64 20 25 7b 52 45  RewriteCond %{RE
2a30: 51 55 45 53 54 5f 55 52 49 7d 20 21 5e 2f 74 6d  QUEST_URI} !^/tm
2a40: 70 2f 2e 2a 24 0d 0a 20 20 20 20 52 65 77 72 69  p/.*\$..    Rewri
2a50: 74 65 43 6f 6e 64 20 25 7b 52 45 51 55 45 53 54  teCond %{REQUEST
2a60: 5f 55 52 49 7d 20 21 5e 2f 63 67 69 2d 62 69 6e  _URI} !^/cgi-bin
2a70: 2f 2e 2a 24 0d 0a 20 20 20 20 52 65 77 72 69 74  /.*\$..    Rewrit
2a80: 65 52 75 6c 65 20 5e 28 2e 2a 29 24 20 2f 75 73  eRule ^(.*)\$ /us
2a90: 72 2f 6c 69 62 2f 63 67 69 2d 62 69 6e 2f 63 6f  r/lib/cgi-bin/co
2aa0: 64 65 2e 61 75 74 6f 6e 6f 6d 6f 2e 75 73 2f 24  de.autonomo.us/\$
2ab0: 31 20 5b 54 3d 61 70 70 6c 69 63 61 74 69 6f 6e  1 [T=application
2ac0: 2f 78 2d 68 74 74 70 64 2d 63 67 69 5d 0d 0a 3c  /x-httpd-cgi]..<
2ad0: 2f 56 69 72 74 75 61 6c 48 6f 73 74 3e 0d 0a 3c  /VirtualHost>..<
2ae0: 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 0d 0a 2f 75  /verbatim>..../u
2af0: 73 72 2f 6c 69 62 2f 63 67 69 2d 62 69 6e 2f 63  sr/lib/cgi-bin/c
2b00: 6f 64 65 2e 61 75 74 6f 6e 6f 6d 6f 2e 75 73 20  ode.autonomo.us
2b10: 69 73 20 6a 75 73 74 20 61 20 73 74 61 6e 64 61  is just a standa
2b20: 72 64 20 66 6f 73 73 69 6c 20 43 47 49 20 66 69  rd fossil CGI fi
2b30: 6c 65 3b 20 69 74 20 6c 6f 6f 6b 73 20 6c 69 6b  le; it looks lik
2b40: 65 20 74 68 69 73 3a 0d 0a 0d 0a 3c 76 65 72 62  e this:....<verb
2b50: 61 74 69 6d 3e 0d 0a 23 21 2f 75 73 72 2f 62 69  atim>..#!/usr/bi
2b60: 6e 2f 66 6f 73 73 69 6c 0d 0a 72 65 70 6f 73 69  n/fossil..reposi
2b70: 74 6f 72 79 3a 20 2f 73 72 76 2f 66 6f 73 73 69  tory: /srv/fossi
2b80: 6c 2d 73 63 6d 2f 63 6f 64 65 2e 61 75 74 6f 6e  l-scm/code.auton
2b90: 6f 6d 6f 2e 75 73 2e 66 6f 73 73 69 6c 2d 73 63  omo.us.fossil-sc
2ba0: 6d 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a  m..</verbatim>..
2bb0: 0d 0a 3c 68 33 3e 41 6e 6f 74 68 65 72 20 73 6f  ..<h3>Another so
2bc0: 6c 75 74 69 6f 6e 20 74 6f 20 3c 69 3e 61 75 74  lution to <i>aut
2bd0: 6f 6d 61 74 69 63 61 6c 6c 79 3c 2f 69 3e 20 73  omatically</i> s
2be0: 65 72 76 65 20 6d 75 6c 74 69 70 6c 65 20 72 65  erve multiple re
2bf0: 70 6f 73 69 74 6f 72 69 65 73 3c 2f 68 33 3e 0d  positories</h3>.
2c00: 0a 0d 0a 57 69 74 68 20 74 68 65 20 66 6f 6c 6c  ...With the foll
2c10: 6f 77 69 6e 67 20 43 47 49 20 73 63 72 69 70 74  owing CGI script
2c20: 20 28 49 20 68 61 76 65 20 6e 61 6d 65 64 20 69   (I have named i
2c30: 74 20 3c 73 61 6d 70 3e 70 3c 2f 73 61 6d 70 3e  t <samp>p</samp>
2c40: 20 73 69 6d 70 6c 79 29 20 69 74 20 69 73 20 70   simply) it is p
2c50: 6f 73 73 69 62 6c 65 20 74 6f 20 64 65 66 69 6e  ossible to defin
2c60: 65 20 61 20 6c 6f 63 61 74 69 6f 6e 20 77 68 65  e a location whe
2c70: 72 65 20 61 6c 6c 20 74 68 65 20 79 6f 75 72 20  re all the your
2c80: 72 65 70 6f 73 69 74 6f 72 69 65 73 20 73 68 6f  repositories sho
2c90: 75 6c 64 20 62 65 20 6c 6f 63 61 74 65 64 20 28  uld be located (
2ca0: 69 6e 20 74 68 69 73 20 65 78 61 6d 70 6c 65 3a  in this example:
2cb0: 20 3c 73 61 6d 70 3e 2f 68 6f 6d 65 2f 72 65 70   <samp>/home/rep
2cc0: 6f 73 2f 66 6f 73 73 69 6c 3c 2f 73 61 6d 70 3e  os/fossil</samp>
2cd0: 29 2e 20 41 6c 6c 20 74 68 65 20 72 65 70 6f 73  ). All the repos
2ce0: 69 74 6f 72 69 65 73 20 61 72 65 20 6e 61 6d 65  itories are name
2cf0: 64 20 61 63 63 6f 72 64 69 6e 67 20 74 68 65 20  d according the
2d00: 73 63 68 65 6d 65 20 3c 73 61 6d 70 3e 3c 70 72  scheme <samp><pr
2d10: 6f 6a 65 63 74 20 6e 61 6d 65 3e 2e 66 73 6c 3c  oject name>.fsl<
2d20: 2f 73 61 6d 70 3e 20 66 6f 72 20 73 61 6b 65 20  /samp> for sake
2d30: 6f 66 20 74 68 69 73 20 65 78 61 6d 70 6c 65 2e  of this example.
2d40: 0d 0a 0d 0a 49 66 20 74 68 69 73 20 73 63 72 69  ....If this scri
2d50: 70 74 20 69 73 20 63 61 6c 6c 65 64 20 61 6c 6f  pt is called alo
2d60: 6e 65 20 28 6c 69 6b 65 20 65 2e 67 2e 3a 20 3c  ne (like e.g.: <
2d70: 73 61 6d 70 3e 68 74 74 70 3a 2f 2f 79 6f 75 72  samp>http://your
2d80: 2e 73 65 72 76 65 72 2e 68 65 72 65 2f 63 67 69  .server.here/cgi
2d90: 2d 62 69 6e 2f 70 3c 2f 73 61 6d 70 3e 29 2c 20  -bin/p</samp>),
2da0: 69 74 20 77 69 6c 6c 20 6c 69 73 74 20 61 6c 6c  it will list all
2db0: 20 72 65 70 6f 73 69 74 6f 72 69 65 73 20 6c 6f   repositories lo
2dc0: 63 61 74 65 64 20 75 6e 64 65 72 20 3c 73 61 6d  cated under <sam
2dd0: 70 3e 24 52 45 50 4f 53 52 4f 4f 54 3c 2f 73 61  p>\$REPOSROOT</sa
2de0: 6d 70 3e 2c 20 3c 62 3e 69 66 3c 2f 62 3e 20 74  mp>, <b>if</b> t
2df0: 68 65 72 65 20 3c 62 3e 64 6f 65 73 20 6e 6f 74  here <b>does not
2e00: 3c 2f 62 3e 20 65 78 69 73 74 20 61 20 63 6f 72  </b> exist a cor
2e10: 72 65 73 70 6f 6e 64 69 6e 67 20 66 69 6c 65 20  responding file
2e20: 3c 73 61 6d 70 3e 2e 3c 70 72 6f 6a 65 63 74 20  <samp>.<project
2e30: 6e 61 6d 65 3e 3c 2f 73 61 6d 70 3e 20 28 74 68  name></samp> (th
2e40: 61 74 20 6d 65 63 68 61 6e 69 73 6d 20 69 73 20  at mechanism is
2e50: 75 73 65 64 20 74 6f 20 3c 69 3e 68 69 64 65 3c  used to <i>hide<
2e60: 2f 69 3e 20 73 6f 6d 65 20 72 65 70 6f 73 69 74  /i> some reposit
2e70: 6f 72 79 20 69 6e 20 74 68 65 20 6c 69 73 74 69  ory in the listi
2e80: 6e 67 29 2e 0d 0a 0d 0a 49 66 20 74 68 65 20 73  ng).....If the s
2e90: 63 72 69 70 74 20 69 73 20 63 61 6c 6c 65 64 20  cript is called
2ea0: 6c 69 6b 65 20 65 2e 67 2e 20 3c 73 61 6d 70 3e  like e.g. <samp>
2eb0: 68 74 74 70 3a 2f 2f 79 6f 75 72 2e 73 65 72 76  http://your.serv
2ec0: 65 72 2e 68 65 72 65 2f 63 67 69 2d 62 69 6e 2f  er.here/cgi-bin/
2ed0: 70 2f 3c 70 72 6f 6a 65 63 74 20 6e 61 6d 65 3e  p/<project name>
2ee0: 3c 2f 73 61 6d 70 3e 2c 20 74 68 65 6e 20 74 68  </samp>, then th
2ef0: 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20  e corresponding
2f00: 72 65 70 6f 73 69 74 6f 72 79 20 77 69 6c 6c 20  repository will
2f10: 62 65 20 73 65 6c 65 63 74 65 64 20 74 6f 20 77  be selected to w
2f20: 6f 72 6b 20 77 69 74 68 2e 0d 0a 0d 0a 54 68 65  ork with.....The
2f30: 20 6c 69 6e 65 73 20 35 20 2d 20 38 20 69 6e 20   lines 5 - 8 in
2f40: 74 68 65 20 73 63 72 69 70 74 20 62 65 6c 6f 77  the script below
2f50: 20 61 6c 6c 6f 77 20 63 6f 6e 66 69 67 75 72 61   allow configura
2f60: 74 69 6f 6e 20 66 6f 72 20 79 6f 75 72 20 6e 65  tion for your ne
2f70: 65 64 73 2e 20 59 6f 75 20 6d 75 73 74 20 63 6f  eds. You must co
2f80: 6e 66 69 67 75 72 65 20 69 74 20 66 6f 72 3a 20  nfigure it for:
2f90: 20 74 68 65 20 66 6f 73 73 69 6c 20 62 69 6e 61   the fossil bina
2fa0: 72 79 20 74 6f 20 75 73 65 2c 20 74 68 65 20 6c  ry to use, the l
2fb0: 6f 63 61 74 69 6f 6e 20 6f 66 20 79 6f 75 72 20  ocation of your
2fc0: 64 61 74 61 62 61 73 65 73 2c 20 61 6e 64 20 74  databases, and t
2fd0: 68 65 20 65 78 74 65 6e 73 69 6f 6e 20 79 6f 75  he extension you
2fe0: 72 20 72 65 70 6f 73 69 74 6f 72 79 20 64 61 74  r repository dat
2ff0: 61 62 61 73 65 73 20 68 61 76 65 2e 0d 0a 0d 0a  abases have.....
3000: 3c 6e 6f 77 69 6b 69 3e 0d 0a 3c 66 6f 6e 74 20  <nowiki>..<font
3010: 66 61 63 65 3d 22 6d 6f 6e 6f 73 70 61 63 65 22  face="monospace"
3020: 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  >..<font color="
3030: 23 61 35 32 61 32 61 22 3e 26 6e 62 73 70 3b 31  #a52a2a">&nbsp;1
3040: 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f   </font><font co
3050: 6c 6f 72 3d 22 23 30 30 30 30 66 66 22 3e 23 21  lor="#0000ff">#!
3060: 2f 62 69 6e 2f 73 68 3c 2f 66 6f 6e 74 3e 3c 62  /bin/sh</font><b
3070: 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  r>..<font color=
3080: 22 23 61 35 32 61 32 61 22 3e 26 6e 62 73 70 3b  "#a52a2a">&nbsp;
3090: 32 20 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c  2 </font><br>..<
30a0: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32  font color="#a52
30b0: 61 32 61 22 3e 26 6e 62 73 70 3b 33 20 3c 2f 66  a2a">&nbsp;3 </f
30c0: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
30d0: 22 23 30 30 30 30 66 66 22 3e 23 23 23 20 43 6f  "#0000ff">### Co
30e0: 6e 66 69 67 75 72 61 74 69 6f 6e 20 73 65 63 74  nfiguration sect
30f0: 69 6f 6e 20 23 23 23 3c 2f 66 6f 6e 74 3e 3c 62  ion ###</font><b
3100: 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  r>..<font color=
3110: 22 23 61 35 32 61 32 61 22 3e 26 6e 62 73 70 3b  "#a52a2a">&nbsp;
3120: 34 20 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c  4 </font><br>..<
3130: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32  font color="#a52
3140: 61 32 61 22 3e 26 6e 62 73 70 3b 35 20 3c 2f 66  a2a">&nbsp;5 </f
3150: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
3160: 22 23 30 30 38 62 38 62 22 3e 54 49 54 4c 45 3c  "#008b8b">TITLE<
3170: 2f 66 6f 6e 74 3e 3d 3c 66 6f 6e 74 20 63 6f 6c  /font>=<font col
3180: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e  or="#a52a2a"><b>
3190: 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74  &quot;</b></font
31a0: 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 66  ><font color="#f
31b0: 66 30 30 66 66 22 3e 26 6c 74 3b 68 32 26 67 74  f00ff">&lt;h2&gt
31c0: 3b 46 6f 73 73 69 6c 20 72 65 70 6f 73 69 74 6f  ;Fossil reposito
31d0: 72 69 65 73 26 6c 74 3b 2f 68 32 26 67 74 3b 3c  ries&lt;/h2&gt;<
31e0: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
31f0: 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 26  r="#a52a2a"><b>&
3200: 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e  quot;</b></font>
3210: 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f  <br>..<font colo
3220: 72 3d 22 23 61 35 32 61 32 61 22 3e 26 6e 62 73  r="#a52a2a">&nbs
3230: 70 3b 36 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74  p;6 </font><font
3240: 20 63 6f 6c 6f 72 3d 22 23 30 30 38 62 38 62 22   color="#008b8b"
3250: 3e 46 4f 53 53 49 4c 3c 2f 66 6f 6e 74 3e 3d 2f  >FOSSIL</font>=/
3260: 75 73 72 2f 6c 6f 63 61 6c 2f 62 69 6e 2f 66 6f  usr/local/bin/fo
3270: 73 73 69 6c 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20  ssil<br>..<font
3280: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
3290: 26 6e 62 73 70 3b 37 20 3c 2f 66 6f 6e 74 3e 3c  &nbsp;7 </font><
32a0: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 30 30 38  font color="#008
32b0: 62 38 62 22 3e 52 45 50 4f 53 52 4f 4f 54 3c 2f  b8b">REPOSROOT</
32c0: 66 6f 6e 74 3e 3d 2f 68 6f 6d 65 2f 72 65 70 6f  font>=/home/repo
32d0: 73 2f 66 6f 73 73 69 6c 3c 62 72 3e 0d 0a 3c 66  s/fossil<br>..<f
32e0: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61  ont color="#a52a
32f0: 32 61 22 3e 26 6e 62 73 70 3b 38 20 3c 2f 66 6f  2a">&nbsp;8 </fo
3300: 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  nt><font color="
3310: 23 30 30 38 62 38 62 22 3e 52 45 50 4f 53 45 58  #008b8b">REPOSEX
3320: 54 3c 2f 66 6f 6e 74 3e 3d 3c 66 6f 6e 74 20 63  T</font>=<font c
3330: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c  olor="#a52a2a"><
3340: 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f  b>&quot;</b></fo
3350: 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  nt><font color="
3360: 23 66 66 30 30 66 66 22 3e 2e 66 73 6c 3c 2f 66  #ff00ff">.fsl</f
3370: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
3380: 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 26 71 75  "#a52a2a"><b>&qu
3390: 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 62  ot;</b></font><b
33a0: 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  r>..<font color=
33b0: 22 23 61 35 32 61 32 61 22 3e 26 6e 62 73 70 3b  "#a52a2a">&nbsp;
33c0: 39 20 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c  9 </font><br>..<
33d0: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32  font color="#a52
33e0: 61 32 61 22 3e 31 30 20 3c 2f 66 6f 6e 74 3e 3c  a2a">10 </font><
33f0: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 30 30 30  font color="#000
3400: 30 66 66 22 3e 23 23 23 20 50 72 6f 63 65 73 73  0ff">### Process
3410: 69 6e 67 20 73 65 63 74 69 6f 6e 20 2d 2d 20 6e  ing section -- n
3420: 6f 74 68 69 6e 67 20 74 6f 20 63 6f 6e 66 69 67  othing to config
3430: 75 72 65 20 68 65 72 65 21 20 23 23 23 3c 2f 66  ure here! ###</f
3440: 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20  ont><br>..<font
3450: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
3460: 31 31 20 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a  11 </font><br>..
3470: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35  <font color="#a5
3480: 32 61 32 61 22 3e 31 32 20 3c 2f 66 6f 6e 74 3e  2a2a">12 </font>
3490: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35  <font color="#a5
34a0: 32 61 32 61 22 3e 3c 62 3e 73 65 74 3c 2f 62 3e  2a2a"><b>set</b>
34b0: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
34c0: 6f 72 3d 22 23 30 30 38 62 38 62 22 3e 26 6e 62  or="#008b8b">&nb
34d0: 73 70 3b 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  sp;</font><font
34e0: 63 6f 6c 6f 72 3d 22 23 36 61 35 61 63 64 22 3e  color="#6a5acd">
34f0: 2d 66 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63  -f</font><font c
3500: 6f 6c 6f 72 3d 22 23 30 30 38 62 38 62 22 3e 26  olor="#008b8b">&
3510: 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e 62 73 70  nbsp;&nbsp;&nbsp
3520: 3b 26 6e 62 73 70 3b 3c 2f 66 6f 6e 74 3e 3b 20  ;&nbsp;</font>;
3530: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 30 30  <font color="#00
3540: 30 30 66 66 22 3e 23 20 64 69 73 61 62 6c 65 20  00ff"># disable
3550: 66 69 6c 65 6e 61 6d 65 20 67 6c 6f 62 62 69 6e  filename globbin
3560: 67 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66  g</font><br>..<f
3570: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61  ont color="#a52a
3580: 32 61 22 3e 31 33 20 3c 2f 66 6f 6e 74 3e 3c 62  2a">13 </font><b
3590: 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  r>..<font color=
35a0: 22 23 61 35 32 61 32 61 22 3e 31 34 20 3c 2f 66  "#a52a2a">14 </f
35b0: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
35c0: 22 23 30 30 30 30 66 66 22 3e 23 23 20 53 6f 6d  "#0000ff">## Som
35d0: 65 20 68 65 6c 70 65 72 20 66 75 6e 63 74 69 6f  e helper functio
35e0: 6e 73 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c  ns</font><br>..<
35f0: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32  font color="#a52
3600: 61 32 61 22 3e 31 35 20 3c 2f 66 6f 6e 74 3e 3c  a2a">15 </font><
3610: 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72  br>..<font color
3620: 3d 22 23 61 35 32 61 32 61 22 3e 31 36 20 3c 2f  ="#a52a2a">16 </
3630: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
3640: 3d 22 23 30 30 38 62 38 62 22 3e 48 65 61 64 65  ="#008b8b">Heade
3650: 72 54 65 78 74 20 28 29 20 7b 3c 2f 66 6f 6e 74  rText () {</font
3660: 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c  ><br>..<font col
3670: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 31 37 20  or="#a52a2a">17
3680: 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62  </font>&nbsp;&nb
3690: 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  sp;<font color="
36a0: 23 61 35 32 61 32 61 22 3e 3c 62 3e 69 66 20 3c  #a52a2a"><b>if <
36b0: 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  /b></font><font
36c0: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
36d0: 3c 62 3e 5b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 26  <b>[</b></font>&
36e0: 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72  nbsp;<font color
36f0: 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 2d 7a  ="#a52a2a"><b>-z
3700: 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70  </b></font>&nbsp
3710: 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61  ;<font color="#a
3720: 35 32 61 32 61 22 3e 3c 62 3e 26 71 75 6f 74 3b  52a2a"><b>&quot;
3730: 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74  </b></font><font
3740: 20 63 6f 6c 6f 72 3d 22 23 61 30 32 30 66 30 22   color="#a020f0"
3750: 3e 24 68 65 61 64 65 72 57 72 69 74 74 65 6e 3c  >\$headerWritten<
3760: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
3770: 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 26  r="#a52a2a"><b>&
3780: 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e  quot;</b></font>
3790: 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f  &nbsp;<font colo
37a0: 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 5d  r="#a52a2a"><b>]
37b0: 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74  </b></font><font
37c0: 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22   color="#a52a2a"
37d0: 3e 3c 62 3e 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e  ><b>;</b></font>
37e0: 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f  &nbsp;<font colo
37f0: 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 74  r="#a52a2a"><b>t
3800: 68 65 6e 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 62  hen</b></font><b
3810: 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  r>..<font color=
3820: 22 23 61 35 32 61 32 61 22 3e 31 38 20 3c 2f 66  "#a52a2a">18 </f
3830: 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b  ont>&nbsp;&nbsp;
3840: 26 6e 62 73 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e  &nbsp;&nbsp;<fon
3850: 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61  t color="#a52a2a
3860: 22 3e 3c 62 3e 65 63 68 6f 3c 2f 62 3e 3c 2f 66  "><b>echo</b></f
3870: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
3880: 22 23 66 66 30 30 66 66 22 3e 26 6e 62 73 70 3b  "#ff00ff">&nbsp;
3890: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
38a0: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e  or="#a52a2a"><b>
38b0: 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74  &quot;</b></font
38c0: 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 66  ><font color="#f
38d0: 66 30 30 66 66 22 3e 43 6f 6e 74 65 6e 74 2d 74  f00ff">Content-t
38e0: 79 70 65 3a 20 74 65 78 74 2f 70 6c 61 69 6e 3b  ype: text/plain;
38f0: 20 63 68 61 72 73 65 74 3d 69 73 6f 2d 38 38 35   charset=iso-885
3900: 39 2d 31 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  9-1</font><font
3910: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
3920: 3c 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66  <b>&quot;</b></f
3930: 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20  ont><br>..<font
3940: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
3950: 31 39 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b  19 </font>&nbsp;
3960: 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e 62 73  &nbsp;&nbsp;&nbs
3970: 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  p;<font color="#
3980: 61 35 32 61 32 61 22 3e 3c 62 3e 65 63 68 6f 3c  a52a2a"><b>echo<
3990: 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a  /b></font><br>..
39a0: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35  <font color="#a5
39b0: 32 61 32 61 22 3e 32 30 20 3c 2f 66 6f 6e 74 3e  2a2a">20 </font>
39c0: 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e 62 73  &nbsp;&nbsp;&nbs
39d0: 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f  p;&nbsp;<font co
39e0: 6c 6f 72 3d 22 23 30 30 38 62 38 62 22 3e 68 65  lor="#008b8b">he
39f0: 61 64 65 72 57 72 69 74 74 65 6e 3c 2f 66 6f 6e  aderWritten</fon
3a00: 74 3e 3d 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  t>=<font color="
3a10: 23 66 66 30 30 66 66 22 3e 31 3c 2f 66 6f 6e 74  #ff00ff">1</font
3a20: 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c  ><br>..<font col
3a30: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 32 31 20  or="#a52a2a">21
3a40: 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62  </font>&nbsp;&nb
3a50: 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  sp;<font color="
3a60: 23 61 35 32 61 32 61 22 3e 3c 62 3e 66 69 3c 2f  #a52a2a"><b>fi</
3a70: 62 3e 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c  b></font><br>..<
3a80: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32  font color="#a52
3a90: 61 32 61 22 3e 32 32 20 3c 2f 66 6f 6e 74 3e 3c  a2a">22 </font><
3aa0: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 30 30 38  font color="#008
3ab0: 62 38 62 22 3e 7d 3c 2f 66 6f 6e 74 3e 3c 62 72  b8b">}</font><br
3ac0: 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  >..<font color="
3ad0: 23 61 35 32 61 32 61 22 3e 32 33 20 3c 2f 66 6f  #a52a2a">23 </fo
3ae0: 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63  nt><br>..<font c
3af0: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 32  olor="#a52a2a">2
3b00: 34 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63  4 </font><font c
3b10: 6f 6c 6f 72 3d 22 23 30 30 38 62 38 62 22 3e 48  olor="#008b8b">H
3b20: 65 61 64 65 72 48 54 4d 4c 20 28 29 20 7b 3c 2f  eaderHTML () {</
3b30: 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74  font><br>..<font
3b40: 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22   color="#a52a2a"
3b50: 3e 32 35 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70  >25 </font>&nbsp
3b60: 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c  ;&nbsp;<font col
3b70: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e  or="#a52a2a"><b>
3b80: 69 66 20 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66  if </b></font><f
3b90: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61  ont color="#a52a
3ba0: 32 61 22 3e 3c 62 3e 5b 3c 2f 62 3e 3c 2f 66 6f  2a"><b>[</b></fo
3bb0: 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63  nt>&nbsp;<font c
3bc0: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c  olor="#a52a2a"><
3bd0: 62 3e 2d 7a 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 26  b>-z</b></font>&
3be0: 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72  nbsp;<font color
3bf0: 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 26 71  ="#a52a2a"><b>&q
3c00: 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c  uot;</b></font><
3c10: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 30 32  font color="#a02
3c20: 30 66 30 22 3e 24 68 65 61 64 65 72 57 72 69 74  0f0">\$headerWrit
3c30: 74 65 6e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  ten</font><font
3c40: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
3c50: 3c 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66  <b>&quot;</b></f
3c60: 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20  ont>&nbsp;<font
3c70: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
3c80: 3c 62 3e 5d 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c  <b>]</b></font><
3c90: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32  font color="#a52
3ca0: 61 32 61 22 3e 3c 62 3e 3b 3c 2f 62 3e 3c 2f 66  a2a"><b>;</b></f
3cb0: 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20  ont>&nbsp;<font
3cc0: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
3cd0: 3c 62 3e 74 68 65 6e 3c 2f 62 3e 3c 2f 66 6f 6e  <b>then</b></fon
3ce0: 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f  t><br>..<font co
3cf0: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 32 36  lor="#a52a2a">26
3d00: 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e   </font>&nbsp;&n
3d10: 62 73 70 3b 26 6e 62 73 70 3b 26 6e 62 73 70 3b  bsp;&nbsp;&nbsp;
3d20: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35  <font color="#a5
3d30: 32 61 32 61 22 3e 3c 62 3e 65 63 68 6f 3c 2f 62  2a2a"><b>echo</b
3d40: 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f  ></font><font co
3d50: 6c 6f 72 3d 22 23 66 66 30 30 66 66 22 3e 26 6e  lor="#ff00ff">&n
3d60: 62 73 70 3b 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74  bsp;</font><font
3d70: 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22   color="#a52a2a"
3d80: 3e 3c 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f  ><b>&quot;</b></
3d90: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
3da0: 3d 22 23 66 66 30 30 66 66 22 3e 43 6f 6e 74 65  ="#ff00ff">Conte
3db0: 6e 74 2d 74 79 70 65 3a 20 74 65 78 74 2f 68 74  nt-type: text/ht
3dc0: 6d 6c 3b 20 63 68 61 72 73 65 74 3d 69 73 6f 2d  ml; charset=iso-
3dd0: 38 38 35 39 2d 31 3c 2f 66 6f 6e 74 3e 3c 66 6f  8859-1</font><fo
3de0: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
3df0: 61 22 3e 3c 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e  a"><b>&quot;</b>
3e00: 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f  </font><br>..<fo
3e10: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
3e20: 61 22 3e 32 37 20 3c 2f 66 6f 6e 74 3e 26 6e 62  a">27 </font>&nb
3e30: 73 70 3b 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26  sp;&nbsp;&nbsp;&
3e40: 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72  nbsp;<font color
3e50: 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 65 63  ="#a52a2a"><b>ec
3e60: 68 6f 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 62 72  ho</b></font><br
3e70: 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  >..<font color="
3e80: 23 61 35 32 61 32 61 22 3e 32 38 20 3c 2f 66 6f  #a52a2a">28 </fo
3e90: 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26  nt>&nbsp;&nbsp;&
3ea0: 6e 62 73 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74  nbsp;&nbsp;<font
3eb0: 20 63 6f 6c 6f 72 3d 22 23 30 30 38 62 38 62 22   color="#008b8b"
3ec0: 3e 68 65 61 64 65 72 57 72 69 74 74 65 6e 3c 2f  >headerWritten</
3ed0: 66 6f 6e 74 3e 3d 3c 66 6f 6e 74 20 63 6f 6c 6f  font>=<font colo
3ee0: 72 3d 22 23 66 66 30 30 66 66 22 3e 31 3c 2f 66  r="#ff00ff">1</f
3ef0: 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20  ont><br>..<font
3f00: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
3f10: 32 39 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b  29 </font>&nbsp;
3f20: 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f  &nbsp;<font colo
3f30: 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 66  r="#a52a2a"><b>f
3f40: 69 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 62 72 3e  i</b></font><br>
3f50: 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  ..<font color="#
3f60: 61 35 32 61 32 61 22 3e 33 30 20 3c 2f 66 6f 6e  a52a2a">30 </fon
3f70: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
3f80: 30 30 38 62 38 62 22 3e 7d 3c 2f 66 6f 6e 74 3e  008b8b">}</font>
3f90: 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f  <br>..<font colo
3fa0: 72 3d 22 23 61 35 32 61 32 61 22 3e 33 31 20 3c  r="#a52a2a">31 <
3fb0: 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e  /font><br>..<fon
3fc0: 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61  t color="#a52a2a
3fd0: 22 3e 33 32 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  ">32 </font><fon
3fe0: 74 20 63 6f 6c 6f 72 3d 22 23 30 30 38 62 38 62  t color="#008b8b
3ff0: 22 3e 45 72 72 6f 72 20 28 29 20 7b 3c 2f 66 6f  ">Error () {</fo
4000: 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63  nt><br>..<font c
4010: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 33  olor="#a52a2a">3
4020: 33 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26  3 </font>&nbsp;&
4030: 6e 62 73 70 3b 48 65 61 64 65 72 48 54 4d 4c 3c  nbsp;HeaderHTML<
4040: 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72  br>..<font color
4050: 3d 22 23 61 35 32 61 32 61 22 3e 33 34 20 3c 2f  ="#a52a2a">34 </
4060: 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70  font>&nbsp;&nbsp
4070: 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61  ;<font color="#a
4080: 35 32 61 32 61 22 3e 3c 62 3e 65 63 68 6f 3c 2f  52a2a"><b>echo</
4090: 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63  b></font><font c
40a0: 6f 6c 6f 72 3d 22 23 66 66 30 30 66 66 22 3e 26  olor="#ff00ff">&
40b0: 6e 62 73 70 3b 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  nbsp;</font><fon
40c0: 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61  t color="#a52a2a
40d0: 22 3e 3c 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c  "><b>&quot;</b><
40e0: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
40f0: 72 3d 22 23 66 66 30 30 66 66 22 3e 26 6c 74 3b  r="#ff00ff">&lt;
4100: 70 26 67 74 3b 26 6c 74 3b 66 6f 6e 74 20 63 6f  p&gt;&lt;font co
4110: 6c 6f 72 3d 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74  lor=</font><font
4120: 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22   color="#a52a2a"
4130: 3e 3c 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f  ><b>&quot;</b></
4140: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
4150: 3d 22 23 66 66 30 30 66 66 22 3e 72 65 64 3c 2f  ="#ff00ff">red</
4160: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
4170: 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 26 71  ="#a52a2a"><b>&q
4180: 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c  uot;</b></font><
4190: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 66 66 30  font color="#ff0
41a0: 30 66 66 22 3e 26 67 74 3b 45 52 52 4f 52 3a 20  0ff">&gt;ERROR:
41b0: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
41c0: 6f 72 3d 22 23 61 30 32 30 66 30 22 3e 24 31 3c  or="#a020f0">\$1<
41d0: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
41e0: 72 3d 22 23 66 66 30 30 66 66 22 3e 26 6c 74 3b  r="#ff00ff">&lt;
41f0: 2f 66 6f 6e 74 26 67 74 3b 26 6c 74 3b 2f 70 26  /font&gt;&lt;/p&
4200: 67 74 3b 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  gt;</font><font
4210: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
4220: 3c 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66  <b>&quot;</b></f
4230: 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20  ont><br>..<font
4240: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
4250: 33 35 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b  35 </font>&nbsp;
4260: 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f  &nbsp;<font colo
4270: 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 65  r="#a52a2a"><b>e
4280: 78 69 74 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 26 6e  xit</b></font>&n
4290: 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  bsp;<font color=
42a0: 22 23 66 66 30 30 66 66 22 3e 31 3c 2f 66 6f 6e  "#ff00ff">1</fon
42b0: 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f  t><br>..<font co
42c0: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 33 36  lor="#a52a2a">36
42d0: 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f   </font><font co
42e0: 6c 6f 72 3d 22 23 30 30 38 62 38 62 22 3e 7d 3c  lor="#008b8b">}<
42f0: 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e  /font><br>..<fon
4300: 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61  t color="#a52a2a
4310: 22 3e 33 37 20 3c 2f 66 6f 6e 74 3e 3c 62 72 3e  ">37 </font><br>
4320: 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  ..<font color="#
4330: 61 35 32 61 32 61 22 3e 33 38 20 3c 2f 66 6f 6e  a52a2a">38 </fon
4340: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
4350: 30 30 38 62 38 62 22 3e 50 20 28 29 20 7b 3c 2f  008b8b">P () {</
4360: 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74  font><br>..<font
4370: 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22   color="#a52a2a"
4380: 3e 33 39 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70  >39 </font>&nbsp
4390: 3b 26 6e 62 73 70 3b 48 65 61 64 65 72 54 65 78  ;&nbsp;HeaderTex
43a0: 74 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c  t<br>..<font col
43b0: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 34 30 20  or="#a52a2a">40
43c0: 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62  </font>&nbsp;&nb
43d0: 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  sp;<font color="
43e0: 23 61 35 32 61 32 61 22 3e 3c 62 3e 66 6f 72 20  #a52a2a"><b>for
43f0: 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 76 61 72 20 3c  </b></font>var <
4400: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32  font color="#a52
4410: 61 32 61 22 3e 3c 62 3e 69 6e 3c 2f 62 3e 3c 2f  a2a"><b>in</b></
4420: 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74  font>&nbsp;<font
4430: 20 63 6f 6c 6f 72 3d 22 23 61 30 32 30 66 30 22   color="#a020f0"
4440: 3e 24 2a 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  >\$*</font><font
4450: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
4460: 3c 62 3e 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 26  <b>;</b></font>&
4470: 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72  nbsp;<font color
4480: 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 64 6f  ="#a52a2a"><b>do
4490: 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d  </b></font><br>.
44a0: 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61  .<font color="#a
44b0: 35 32 61 32 61 22 3e 34 31 20 3c 2f 66 6f 6e 74  52a2a">41 </font
44c0: 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e 62  >&nbsp;&nbsp;&nb
44d0: 73 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63  sp;&nbsp;<font c
44e0: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c  olor="#a52a2a"><
44f0: 62 3e 65 76 61 6c 3c 2f 62 3e 3c 2f 66 6f 6e 74  b>eval</b></font
4500: 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c  >&nbsp;<font col
4510: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e  or="#a52a2a"><b>
4520: 65 63 68 6f 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c  echo</b></font><
4530: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 66 66 30  font color="#ff0
4540: 30 66 66 22 3e 26 6e 62 73 70 3b 3c 2f 66 6f 6e  0ff">&nbsp;</fon
4550: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
4560: 61 30 32 30 66 30 22 3e 24 76 61 72 3c 2f 66 6f  a020f0">\$var</fo
4570: 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  nt><font color="
4580: 23 66 66 30 30 66 66 22 3e 26 6e 62 73 70 3b 3d  #ff00ff">&nbsp;=
4590: 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f   </font><font co
45a0: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62  lor="#a52a2a"><b
45b0: 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e  >&quot;</b></fon
45c0: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
45d0: 36 61 35 61 63 64 22 3e 5c 24 3c 2f 66 6f 6e 74  6a5acd">\\$</font
45e0: 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61  ><font color="#a
45f0: 30 32 30 66 30 22 3e 24 76 61 72 3c 2f 66 6f 6e  020f0">\$var</fon
4600: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
4610: 61 35 32 61 32 61 22 3e 3c 62 3e 26 71 75 6f 74  a52a2a"><b>&quot
4620: 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 62 72 3e  ;</b></font><br>
4630: 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  ..<font color="#
4640: 61 35 32 61 32 61 22 3e 34 32 20 3c 2f 66 6f 6e  a52a2a">42 </fon
4650: 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b 3c 66  t>&nbsp;&nbsp;<f
4660: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61  ont color="#a52a
4670: 32 61 22 3e 3c 62 3e 64 6f 6e 65 3c 2f 62 3e 3c  2a"><b>done</b><
4680: 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e  /font><br>..<fon
4690: 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61  t color="#a52a2a
46a0: 22 3e 34 33 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  ">43 </font><fon
46b0: 74 20 63 6f 6c 6f 72 3d 22 23 30 30 38 62 38 62  t color="#008b8b
46c0: 22 3e 7d 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a  ">}</font><br>..
46d0: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35  <font color="#a5
46e0: 32 61 32 61 22 3e 34 34 20 3c 2f 66 6f 6e 74 3e  2a2a">44 </font>
46f0: 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f  <br>..<font colo
4700: 72 3d 22 23 61 35 32 61 32 61 22 3e 34 35 20 3c  r="#a52a2a">45 <
4710: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
4720: 72 3d 22 23 30 30 30 30 66 66 22 3e 23 23 20 44  r="#0000ff">## D
4730: 6f 20 74 68 65 20 72 65 61 6c 20 77 6f 72 6b 20  o the real work
4740: 68 65 72 65 20 2e 2e 2e 3c 2f 66 6f 6e 74 3e 3c  here ...</font><
4750: 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72  br>..<font color
4760: 3d 22 23 61 35 32 61 32 61 22 3e 34 36 20 3c 2f  ="#a52a2a">46 </
4770: 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74  font><br>..<font
4780: 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22   color="#a52a2a"
4790: 3e 34 37 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74  >47 </font><font
47a0: 20 63 6f 6c 6f 72 3d 22 23 30 30 38 62 38 62 22   color="#008b8b"
47b0: 3e 70 72 6f 6a 65 63 74 3c 2f 66 6f 6e 74 3e 3d  >project</font>=
47c0: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 36 61  <font color="#6a
47d0: 35 61 63 64 22 3e 60 65 63 68 6f 20 3c 2f 66 6f  5acd">`echo </fo
47e0: 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  nt><font color="
47f0: 23 61 30 32 30 66 30 22 3e 24 50 41 54 48 5f 49  #a020f0">\$PATH_I
4800: 4e 46 4f 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  NFO</font><font
4810: 63 6f 6c 6f 72 3d 22 23 36 61 35 61 63 64 22 3e  color="#6a5acd">
4820: 26 6e 62 73 70 3b 3c 2f 66 6f 6e 74 3e 3c 66 6f  &nbsp;</font><fo
4830: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
4840: 61 22 3e 3c 62 3e 7c 3c 2f 62 3e 3c 2f 66 6f 6e  a"><b>|</b></fon
4850: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
4860: 36 61 35 61 63 64 22 3e 26 6e 62 73 70 3b 73 65  6a5acd">&nbsp;se
4870: 64 20 2d 65 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  d -e </font><fon
4880: 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61  t color="#a52a2a
4890: 22 3e 3c 62 3e 27 3c 2f 62 3e 3c 2f 66 6f 6e 74  "><b>'</b></font
48a0: 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 66  ><font color="#f
48b0: 66 30 30 66 66 22 3e 73 21 2f 3c 2f 66 6f 6e 74  f00ff">s!/</font
48c0: 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 36  ><font color="#6
48d0: 61 35 61 63 64 22 3e 5c 28 3c 2f 66 6f 6e 74 3e  a5acd">\(</font>
48e0: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 66 66  <font color="#ff
48f0: 30 30 66 66 22 3e 5b 5e 2f 5d 2a 3c 2f 66 6f 6e  00ff">[^/]*</fon
4900: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
4910: 36 61 35 61 63 64 22 3e 5c 29 3c 2f 66 6f 6e 74  6a5acd">\)</font
4920: 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 66  ><font color="#f
4930: 66 30 30 66 66 22 3e 2e 2a 21 5c 31 21 3c 2f 66  f00ff">.*!\1!</f
4940: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
4950: 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 27 7c 3c  "#a52a2a"><b>'|<
4960: 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  /b></font><font
4970: 63 6f 6c 6f 72 3d 22 23 36 61 35 61 63 64 22 3e  color="#6a5acd">
4980: 26 6e 62 73 70 3b 74 72 20 3c 2f 66 6f 6e 74 3e  &nbsp;tr </font>
4990: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35  <font color="#a5
49a0: 32 61 32 61 22 3e 3c 62 3e 26 71 75 6f 74 3b 3c  2a2a"><b>&quot;<
49b0: 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  /b></font><font
49c0: 63 6f 6c 6f 72 3d 22 23 66 66 30 30 66 66 22 3e  color="#ff00ff">
49d0: 5b 41 2d 5a 5d 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  [A-Z]</font><fon
49e0: 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61  t color="#a52a2a
49f0: 22 3e 3c 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c  "><b>&quot;</b><
4a00: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
4a10: 72 3d 22 23 36 61 35 61 63 64 22 3e 26 6e 62 73  r="#6a5acd">&nbs
4a20: 70 3b 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63  p;</font><font c
4a30: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c  olor="#a52a2a"><
4a40: 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f  b>&quot;</b></fo
4a50: 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  nt><font color="
4a60: 23 66 66 30 30 66 66 22 3e 5b 61 2d 7a 5d 3c 2f  #ff00ff">[a-z]</
4a70: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
4a80: 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 26 71  ="#a52a2a"><b>&q
4a90: 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c  uot;</b></font><
4aa0: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 36 61 35  font color="#6a5
4ab0: 61 63 64 22 3e 60 3c 2f 66 6f 6e 74 3e 3c 62 72  acd">`</font><br
4ac0: 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  >..<font color="
4ad0: 23 61 35 32 61 32 61 22 3e 34 38 20 3c 2f 66 6f  #a52a2a">48 </fo
4ae0: 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  nt><font color="
4af0: 23 30 30 38 62 38 62 22 3e 72 65 70 6f 73 3c 2f  #008b8b">repos</
4b00: 66 6f 6e 74 3e 3d 3c 66 6f 6e 74 20 63 6f 6c 6f  font>=<font colo
4b10: 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 26  r="#a52a2a"><b>&
4b20: 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e  quot;</b></font>
4b30: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 30  <font color="#a0
4b40: 32 30 66 30 22 3e 24 52 45 50 4f 53 52 4f 4f 54  20f0">\$REPOSROOT
4b50: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
4b60: 6f 72 3d 22 23 66 66 30 30 66 66 22 3e 2f 3c 2f  or="#ff00ff">/</
4b70: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
4b80: 3d 22 23 61 30 32 30 66 30 22 3e 24 70 72 6f 6a  ="#a020f0">\$proj
4b90: 65 63 74 24 52 45 50 4f 53 45 58 54 3c 2f 66 6f  ect\$REPOSEXT</fo
4ba0: 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  nt><font color="
4bb0: 23 61 35 32 61 32 61 22 3e 3c 62 3e 26 71 75 6f  #a52a2a"><b>&quo
4bc0: 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 62 72  t;</b></font><br
4bd0: 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  >..<font color="
4be0: 23 61 35 32 61 32 61 22 3e 34 39 20 3c 2f 66 6f  #a52a2a">49 </fo
4bf0: 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63  nt><br>..<font c
4c00: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 35  olor="#a52a2a">5
4c10: 30 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63  0 </font><font c
4c20: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c  olor="#a52a2a"><
4c30: 62 3e 69 66 20 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e  b>if </b></font>
4c40: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35  <font color="#a5
4c50: 32 61 32 61 22 3e 3c 62 3e 5b 3c 2f 62 3e 3c 2f  2a2a"><b>[</b></
4c60: 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74  font>&nbsp;<font
4c70: 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22   color="#a52a2a"
4c80: 3e 3c 62 3e 2d 72 3c 2f 62 3e 3c 2f 66 6f 6e 74  ><b>-r</b></font
4c90: 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c  >&nbsp;<font col
4ca0: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e  or="#a52a2a"><b>
4cb0: 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74  &quot;</b></font
4cc0: 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61  ><font color="#a
4cd0: 30 32 30 66 30 22 3e 24 72 65 70 6f 73 3c 2f 66  020f0">\$repos</f
4ce0: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
4cf0: 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 26 71 75  "#a52a2a"><b>&qu
4d00: 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 26 6e  ot;</b></font>&n
4d10: 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  bsp;<font color=
4d20: 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 5d 3c 2f  "#a52a2a"><b>]</
4d30: 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63  b></font><font c
4d40: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c  olor="#a52a2a"><
4d50: 62 3e 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 26 6e  b>;</b></font>&n
4d60: 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  bsp;<font color=
4d70: 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 74 68 65  "#a52a2a"><b>the
4d80: 6e 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 62 72 3e  n</b></font><br>
4d90: 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  ..<font color="#
4da0: 61 35 32 61 32 61 22 3e 35 31 20 3c 2f 66 6f 6e  a52a2a">51 </fon
4db0: 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b 3c 66  t>&nbsp;&nbsp;<f
4dc0: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 30 30 38 62  ont color="#008b
4dd0: 38 62 22 3e 50 41 54 48 5f 49 4e 46 4f 3c 2f 66  8b">PATH_INFO</f
4de0: 6f 6e 74 3e 3d 3c 66 6f 6e 74 20 63 6f 6c 6f 72  ont>=<font color
4df0: 3d 22 23 36 61 35 61 63 64 22 3e 60 65 63 68 6f  ="#6a5acd">`echo
4e00: 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f   </font><font co
4e10: 6c 6f 72 3d 22 23 61 30 32 30 66 30 22 3e 24 52  lor="#a020f0">\$R
4e20: 45 51 55 45 53 54 5f 55 52 49 3c 2f 66 6f 6e 74  EQUEST_URI</font
4e30: 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 36  ><font color="#6
4e40: 61 35 61 63 64 22 3e 26 6e 62 73 70 3b 3c 2f 66  a5acd">&nbsp;</f
4e50: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
4e60: 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 7c 3c 2f  "#a52a2a"><b>|</
4e70: 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63  b></font><font c
4e80: 6f 6c 6f 72 3d 22 23 36 61 35 61 63 64 22 3e 26  olor="#6a5acd">&
4e90: 6e 62 73 70 3b 73 65 64 20 2d 65 20 3c 2f 66 6f  nbsp;sed -e </fo
4ea0: 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  nt><font color="
4eb0: 23 61 35 32 61 32 61 22 3e 3c 62 3e 26 71 75 6f  #a52a2a"><b>&quo
4ec0: 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f  t;</b></font><fo
4ed0: 6e 74 20 63 6f 6c 6f 72 3d 22 23 66 66 30 30 66  nt color="#ff00f
4ee0: 66 22 3e 73 21 5e 3c 2f 66 6f 6e 74 3e 3c 66 6f  f">s!^</font><fo
4ef0: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 30 32 30 66  nt color="#a020f
4f00: 30 22 3e 24 53 43 52 49 50 54 5f 4e 41 4d 45 3c  0">\$SCRIPT_NAME<
4f10: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
4f20: 72 3d 22 23 66 66 30 30 66 66 22 3e 2f 3c 2f 66  r="#ff00ff">/</f
4f30: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
4f40: 22 23 61 30 32 30 66 30 22 3e 24 70 72 6f 6a 65  "#a020f0">\$proje
4f50: 63 74 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63  ct</font><font c
4f60: 6f 6c 6f 72 3d 22 23 36 61 35 61 63 64 22 3e 5c  olor="#6a5acd">\
4f70: 5c 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f  \</font><font co
4f80: 6c 6f 72 3d 22 23 66 66 30 30 66 66 22 3e 28 5b  lor="#ff00ff">([
4f90: 5e 3f 5d 2a 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74  ^?]*</font><font
4fa0: 20 63 6f 6c 6f 72 3d 22 23 36 61 35 61 63 64 22   color="#6a5acd"
4fb0: 3e 5c 5c 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  >\\</font><font
4fc0: 63 6f 6c 6f 72 3d 22 23 66 66 30 30 66 66 22 3e  color="#ff00ff">
4fd0: 29 2e 2a 21 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74  ).*!</font><font
4fe0: 20 63 6f 6c 6f 72 3d 22 23 36 61 35 61 63 64 22   color="#6a5acd"
4ff0: 3e 5c 5c 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  >\\</font><font
5000: 63 6f 6c 6f 72 3d 22 23 66 66 30 30 66 66 22 3e  color="#ff00ff">
5010: 31 21 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63  1!</font><font c
5020: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c  olor="#a52a2a"><
5030: 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f  b>&quot;</b></fo
5040: 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  nt><font color="
5050: 23 36 61 35 61 63 64 22 3e 60 3c 2f 66 6f 6e 74  #6a5acd">`</font
5060: 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c  ><br>..<font col
5070: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 35 32 20  or="#a52a2a">52
5080: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
5090: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e  or="#a52a2a"><b>
50a0: 26 6e 62 73 70 3b 26 6e 62 73 70 3b 3a 3c 2f 62  &nbsp;&nbsp;:</b
50b0: 3e 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66  ></font>&nbsp;<f
50c0: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 30 32 30  ont color="#a020
50d0: 66 30 22 3e 24 7b 3c 2f 66 6f 6e 74 3e 3c 66 6f  f0">\${</font><fo
50e0: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 30 32 30 66  nt color="#a020f
50f0: 30 22 3e 50 41 54 48 5f 49 4e 46 4f 3c 2f 66 6f  0">PATH_INFO</fo
5100: 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  nt><font color="
5110: 23 61 35 32 61 32 61 22 3e 3c 62 3e 3a 3d 3c 2f  #a52a2a"><b>:=</
5120: 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63  b></font><font c
5130: 6f 6c 6f 72 3d 22 23 66 66 30 30 66 66 22 3e 2f  olor="#ff00ff">/
5140: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
5150: 6f 72 3d 22 23 61 30 32 30 66 30 22 3e 7d 3c 2f  or="#a020f0">}</
5160: 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74  font><br>..<font
5170: 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22   color="#a52a2a"
5180: 3e 35 33 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70  >53 </font>&nbsp
5190: 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c  ;&nbsp;<font col
51a0: 6f 72 3d 22 23 30 30 38 62 38 62 22 3e 53 43 52  or="#008b8b">SCR
51b0: 49 50 54 5f 4e 41 4d 45 3c 2f 66 6f 6e 74 3e 3d  IPT_NAME</font>=
51c0: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 30  <font color="#a0
51d0: 32 30 66 30 22 3e 24 53 43 52 49 50 54 5f 4e 41  20f0">\$SCRIPT_NA
51e0: 4d 45 3c 2f 66 6f 6e 74 3e 2f 3c 66 6f 6e 74 20  ME</font>/<font
51f0: 63 6f 6c 6f 72 3d 22 23 61 30 32 30 66 30 22 3e  color="#a020f0">
5200: 24 70 72 6f 6a 65 63 74 3c 2f 66 6f 6e 74 3e 3c  \$project</font><
5210: 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72  br>..<font color
5220: 3d 22 23 61 35 32 61 32 61 22 3e 35 34 20 3c 2f  ="#a52a2a">54 </
5230: 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70  font>&nbsp;&nbsp
5240: 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 30  ;<font color="#0
5250: 30 38 62 38 62 22 3e 54 45 4d 50 46 49 4c 45 3c  08b8b">TEMPFILE<
5260: 2f 66 6f 6e 74 3e 3d 3c 66 6f 6e 74 20 63 6f 6c  /font>=<font col
5270: 6f 72 3d 22 23 36 61 35 61 63 64 22 3e 60 6d 6b  or="#6a5acd">`mk
5280: 74 65 6d 70 20 2f 74 6d 70 2f 66 6f 73 73 69 6c  temp /tmp/fossil
5290: 2d 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f  -</font><font co
52a0: 6c 6f 72 3d 22 23 61 30 32 30 66 30 22 3e 24 70  lor="#a020f0">\$p
52b0: 72 6f 6a 65 63 74 3c 2f 66 6f 6e 74 3e 3c 66 6f  roject</font><fo
52c0: 6e 74 20 63 6f 6c 6f 72 3d 22 23 36 61 35 61 63  nt color="#6a5ac
52d0: 64 22 3e 2e 58 58 58 58 58 58 60 3c 2f 66 6f 6e  d">.XXXXXX`</fon
52e0: 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f  t>&nbsp;<font co
52f0: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62  lor="#a52a2a"><b
5300: 3e 7c 7c 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 26 6e  >||</b></font>&n
5310: 62 73 70 3b 45 72 72 6f 72 20 3c 66 6f 6e 74 20  bsp;Error <font
5320: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
5330: 3c 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66  <b>&quot;</b></f
5340: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
5350: 22 23 66 66 30 30 66 66 22 3e 43 6f 75 6c 64 6e  "#ff00ff">Couldn
5360: 27 74 20 63 72 65 61 74 65 20 74 65 6d 70 66 69  't create tempfi
5370: 6c 65 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63  le</font><font c
5380: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c  olor="#a52a2a"><
5390: 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f  b>&quot;</b></fo
53a0: 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63  nt><br>..<font c
53b0: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 35  olor="#a52a2a">5
53c0: 35 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26  5 </font>&nbsp;&
53d0: 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72  nbsp;<font color
53e0: 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 74 72  ="#a52a2a"><b>tr
53f0: 61 70 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 26 6e 62  ap</b></font>&nb
5400: 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  sp;<font color="
5410: 23 61 35 32 61 32 61 22 3e 3c 62 3e 26 71 75 6f  #a52a2a"><b>&quo
5420: 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f  t;</b></font><fo
5430: 6e 74 20 63 6f 6c 6f 72 3d 22 23 66 66 30 30 66  nt color="#ff00f
5440: 66 22 3e 72 6d 20 2d 66 20 3c 2f 66 6f 6e 74 3e  f">rm -f </font>
5450: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 30  <font color="#a0
5460: 32 30 66 30 22 3e 24 54 45 4d 50 46 49 4c 45 3c  20f0">\$TEMPFILE<
5470: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
5480: 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 26  r="#a52a2a"><b>&
5490: 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e  quot;</b></font>
54a0: 26 6e 62 73 70 3b 45 58 49 54 20 51 55 49 54 20  &nbsp;EXIT QUIT
54b0: 49 4e 54 20 54 45 52 4d 3c 62 72 3e 0d 0a 3c 66  INT TERM<br>..<f
54c0: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61  ont color="#a52a
54d0: 32 61 22 3e 35 36 20 3c 2f 66 6f 6e 74 3e 26 6e  2a">56 </font>&n
54e0: 62 73 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74 20  bsp;&nbsp;<font
54f0: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
5500: 3c 62 3e 65 63 68 6f 3c 2f 62 3e 3c 2f 66 6f 6e  <b>echo</b></fon
5510: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
5520: 66 66 30 30 66 66 22 3e 26 6e 62 73 70 3b 72 65  ff00ff">&nbsp;re
5530: 70 6f 73 69 74 6f 72 79 3a 20 3c 2f 66 6f 6e 74  pository: </font
5540: 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61  ><font color="#a
5550: 30 32 30 66 30 22 3e 24 72 65 70 6f 73 3c 2f 66  020f0">\$repos</f
5560: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
5570: 22 23 66 66 30 30 66 66 22 3e 26 6e 62 73 70 3b  "#ff00ff">&nbsp;
5580: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
5590: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e  or="#a52a2a"><b>
55a0: 26 67 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 26  &gt;</b></font>&
55b0: 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72  nbsp;<font color
55c0: 3d 22 23 61 30 32 30 66 30 22 3e 24 54 45 4d 50  ="#a020f0">\$TEMP
55d0: 46 49 4c 45 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d  FILE</font><br>.
55e0: 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61  .<font color="#a
55f0: 35 32 61 32 61 22 3e 35 37 20 3c 2f 66 6f 6e 74  52a2a">57 </font
5600: 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b 3c 66 6f  >&nbsp;&nbsp;<fo
5610: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 30 32 30 66  nt color="#a020f
5620: 30 22 3e 24 46 4f 53 53 49 4c 3c 2f 66 6f 6e 74  0">\$FOSSIL</font
5630: 3e 26 6e 62 73 70 3b 63 67 69 20 3c 66 6f 6e 74  >&nbsp;cgi <font
5640: 20 63 6f 6c 6f 72 3d 22 23 61 30 32 30 66 30 22   color="#a020f0"
5650: 3e 24 54 45 4d 50 46 49 4c 45 3c 2f 66 6f 6e 74  >\$TEMPFILE</font
5660: 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c  ><br>..<font col
5670: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 35 38 20  or="#a52a2a">58
5680: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
5690: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e  or="#a52a2a"><b>
56a0: 65 6c 69 66 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 26  elif</b></font>&
56b0: 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72  nbsp;<font color
56c0: 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 5b 3c  ="#a52a2a"><b>[<
56d0: 2f 62 3e 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b  /b></font>&nbsp;
56e0: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35  <font color="#a5
56f0: 32 61 32 61 22 3e 3c 62 3e 2d 7a 3c 2f 62 3e 3c  2a2a"><b>-z</b><
5700: 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e  /font>&nbsp;<fon
5710: 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61  t color="#a52a2a
5720: 22 3e 3c 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c  "><b>&quot;</b><
5730: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
5740: 72 3d 22 23 61 30 32 30 66 30 22 3e 24 70 72 6f  r="#a020f0">\$pro
5750: 6a 65 63 74 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74  ject</font><font
5760: 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22   color="#a52a2a"
5770: 3e 3c 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f  ><b>&quot;</b></
5780: 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74  font>&nbsp;<font
5790: 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22   color="#a52a2a"
57a0: 3e 3c 62 3e 5d 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e  ><b>]</b></font>
57b0: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35  <font color="#a5
57c0: 32 61 32 61 22 3e 3c 62 3e 3b 3c 2f 62 3e 3c 2f  2a2a"><b>;</b></
57d0: 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74  font>&nbsp;<font
57e0: 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22   color="#a52a2a"
57f0: 3e 3c 62 3e 74 68 65 6e 3c 2f 62 3e 3c 2f 66 6f  ><b>then</b></fo
5800: 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63  nt><br>..<font c
5810: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 35  olor="#a52a2a">5
5820: 39 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26  9 </font>&nbsp;&
5830: 6e 62 73 70 3b 48 65 61 64 65 72 48 54 4d 4c 3c  nbsp;HeaderHTML<
5840: 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72  br>..<font color
5850: 3d 22 23 61 35 32 61 32 61 22 3e 36 30 20 3c 2f  ="#a52a2a">60 </
5860: 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70  font>&nbsp;&nbsp
5870: 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61  ;<font color="#a
5880: 35 32 61 32 61 22 3e 3c 62 3e 65 63 68 6f 3c 2f  52a2a"><b>echo</
5890: 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63  b></font><font c
58a0: 6f 6c 6f 72 3d 22 23 66 66 30 30 66 66 22 3e 26  olor="#ff00ff">&
58b0: 6e 62 73 70 3b 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  nbsp;</font><fon
58c0: 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61  t color="#a52a2a
58d0: 22 3e 3c 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c  "><b>&quot;</b><
58e0: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
58f0: 72 3d 22 23 61 30 32 30 66 30 22 3e 24 54 49 54  r="#a020f0">\$TIT
5900: 4c 45 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63  LE</font><font c
5910: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c  olor="#a52a2a"><
5920: 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f  b>&quot;</b></fo
5930: 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63  nt><br>..<font c
5940: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 36  olor="#a52a2a">6
5950: 31 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26  1 </font>&nbsp;&
5960: 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72  nbsp;<font color
5970: 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 65 63  ="#a52a2a"><b>ec
5980: 68 6f 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f  ho</b></font><fo
5990: 6e 74 20 63 6f 6c 6f 72 3d 22 23 66 66 30 30 66  nt color="#ff00f
59a0: 66 22 3e 26 6e 62 73 70 3b 3c 2f 66 6f 6e 74 3e  f">&nbsp;</font>
59b0: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35  <font color="#a5
59c0: 32 61 32 61 22 3e 3c 62 3e 26 71 75 6f 74 3b 3c  2a2a"><b>&quot;<
59d0: 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  /b></font><font
59e0: 63 6f 6c 6f 72 3d 22 23 66 66 30 30 66 66 22 3e  color="#ff00ff">
59f0: 26 6c 74 3b 75 6c 26 67 74 3b 3c 2f 66 6f 6e 74  &lt;ul&gt;</font
5a00: 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61  ><font color="#a
5a10: 35 32 61 32 61 22 3e 3c 62 3e 26 71 75 6f 74 3b  52a2a"><b>&quot;
5a20: 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d  </b></font><br>.
5a30: 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61  .<font color="#a
5a40: 35 32 61 32 61 22 3e 36 32 20 3c 2f 66 6f 6e 74  52a2a">62 </font
5a50: 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b 66 69 6e  >&nbsp;&nbsp;fin
5a60: 64 20 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  d <font color="#
5a70: 61 30 32 30 66 30 22 3e 24 52 45 50 4f 53 52 4f  a020f0">\$REPOSRO
5a80: 4f 54 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 2d  OT</font>&nbsp;-
5a90: 6e 61 6d 65 20 3c 66 6f 6e 74 20 63 6f 6c 6f 72  name <font color
5aa0: 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 26 71  ="#a52a2a"><b>&q
5ab0: 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c  uot;</b></font><
5ac0: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 66 66 30  font color="#ff0
5ad0: 30 66 66 22 3e 2a 3c 2f 66 6f 6e 74 3e 3c 66 6f  0ff">*</font><fo
5ae0: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 30 32 30 66  nt color="#a020f
5af0: 30 22 3e 24 52 45 50 4f 53 45 58 54 3c 2f 66 6f  0">\$REPOSEXT</fo
5b00: 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  nt><font color="
5b10: 23 61 35 32 61 32 61 22 3e 3c 62 3e 26 71 75 6f  #a52a2a"><b>&quo
5b20: 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 26 6e 62  t;</b></font>&nb
5b30: 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  sp;<font color="
5b40: 23 61 35 32 61 32 61 22 3e 3c 62 3e 7c 3c 2f 62  #a52a2a"><b>|</b
5b50: 3e 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 5c 3c  ></font>&nbsp;\<
5b60: 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72  br>..<font color
5b70: 3d 22 23 61 35 32 61 32 61 22 3e 36 33 20 3c 2f  ="#a52a2a">63 </
5b80: 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70  font>&nbsp;&nbsp
5b90: 3b 77 68 69 6c 65 20 3c 66 6f 6e 74 20 63 6f 6c  ;while <font col
5ba0: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e  or="#a52a2a"><b>
5bb0: 72 65 61 64 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 26  read</b></font>&
5bc0: 6e 62 73 70 3b 72 65 70 6f 73 3c 66 6f 6e 74 20  nbsp;repos<font
5bd0: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
5be0: 3c 62 3e 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 26  <b>;</b></font>&
5bf0: 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72  nbsp;<font color
5c00: 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 64 6f  ="#a52a2a"><b>do
5c10: 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d  </b></font><br>.
5c20: 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61  .<font color="#a
5c30: 35 32 61 32 61 22 3e 36 34 20 3c 2f 66 6f 6e 74  52a2a">64 </font
5c40: 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e 62  >&nbsp;&nbsp;&nb
5c50: 73 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63  sp;&nbsp;<font c
5c60: 6f 6c 6f 72 3d 22 23 30 30 38 62 38 62 22 3e 70  olor="#008b8b">p
5c70: 72 6f 6a 65 63 74 3c 2f 66 6f 6e 74 3e 3d 3c 66  roject</font>=<f
5c80: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 36 61 35 61  ont color="#6a5a
5c90: 63 64 22 3e 60 62 61 73 65 6e 61 6d 65 20 3c 2f  cd">`basename </
5ca0: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
5cb0: 3d 22 23 61 30 32 30 66 30 22 3e 24 72 65 70 6f  ="#a020f0">\$repo
5cc0: 73 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f  s</font><font co
5cd0: 6c 6f 72 3d 22 23 36 61 35 61 63 64 22 3e 26 6e  lor="#6a5acd">&n
5ce0: 62 73 70 3b 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74  bsp;</font><font
5cf0: 20 63 6f 6c 6f 72 3d 22 23 61 30 32 30 66 30 22   color="#a020f0"
5d00: 3e 24 52 45 50 4f 53 45 58 54 3c 2f 66 6f 6e 74  >\$REPOSEXT</font
5d10: 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 36  ><font color="#6
5d20: 61 35 61 63 64 22 3e 60 3c 2f 66 6f 6e 74 3e 3c  a5acd">`</font><
5d30: 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72  br>..<font color
5d40: 3d 22 23 61 35 32 61 32 61 22 3e 36 35 20 3c 2f  ="#a52a2a">65 </
5d50: 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70  font>&nbsp;&nbsp
5d60: 3b 26 6e 62 73 70 3b 26 6e 62 73 70 3b 3c 66 6f  ;&nbsp;&nbsp;<fo
5d70: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
5d80: 61 22 3e 3c 62 3e 69 66 20 3c 2f 62 3e 3c 2f 66  a"><b>if </b></f
5d90: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
5da0: 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 5b 3c 2f  "#a52a2a"><b>[</
5db0: 62 3e 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c  b></font>&nbsp;<
5dc0: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32  font color="#a52
5dd0: 61 32 61 22 3e 3c 62 3e 2d 66 3c 2f 62 3e 3c 2f  a2a"><b>-f</b></
5de0: 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74  font>&nbsp;<font
5df0: 20 63 6f 6c 6f 72 3d 22 23 61 30 32 30 66 30 22   color="#a020f0"
5e00: 3e 24 72 65 70 6f 73 3c 2f 66 6f 6e 74 3e 26 6e  >\$repos</font>&n
5e10: 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  bsp;<font color=
5e20: 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 2d 61 3c  "#a52a2a"><b>-a<
5e30: 2f 62 3e 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b  /b></font>&nbsp;
5e40: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35  <font color="#a5
5e50: 32 61 32 61 22 3e 3c 62 3e 21 3c 2f 62 3e 3c 2f  2a2a"><b>!</b></
5e60: 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74  font>&nbsp;<font
5e70: 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22   color="#a52a2a"
5e80: 3e 3c 62 3e 2d 65 3c 2f 62 3e 3c 2f 66 6f 6e 74  ><b>-e</b></font
5e90: 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c  >&nbsp;<font col
5ea0: 6f 72 3d 22 23 61 30 32 30 66 30 22 3e 24 52 45  or="#a020f0">\$RE
5eb0: 50 4f 53 52 4f 4f 54 3c 2f 66 6f 6e 74 3e 2f 2e  POSROOT</font>/.
5ec0: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 30  <font color="#a0
5ed0: 32 30 66 30 22 3e 24 70 72 6f 6a 65 63 74 3c 2f  20f0">\$project</
5ee0: 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74  font>&nbsp;<font
5ef0: 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22   color="#a52a2a"
5f00: 3e 3c 62 3e 5d 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e  ><b>]</b></font>
5f10: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35  <font color="#a5
5f20: 32 61 32 61 22 3e 3c 62 3e 3b 3c 2f 62 3e 3c 2f  2a2a"><b>;</b></
5f30: 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74  font>&nbsp;<font
5f40: 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22   color="#a52a2a"
5f50: 3e 3c 62 3e 74 68 65 6e 3c 2f 62 3e 3c 2f 66 6f  ><b>then</b></fo
5f60: 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63  nt><br>..<font c
5f70: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 36  olor="#a52a2a">6
5f80: 36 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26  6 </font>&nbsp;&
5f90: 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e 62 73 70  nbsp;&nbsp;&nbsp
5fa0: 3b 26 6e 62 73 70 3b 26 6e 62 73 70 3b 3c 66 6f  ;&nbsp;&nbsp;<fo
5fb0: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
5fc0: 61 22 3e 3c 62 3e 65 63 68 6f 3c 2f 62 3e 3c 2f  a"><b>echo</b></
5fd0: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
5fe0: 3d 22 23 66 66 30 30 66 66 22 3e 26 6e 62 73 70  ="#ff00ff">&nbsp
5ff0: 3b 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f  ;</font><font co
6000: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62  lor="#a52a2a"><b
6010: 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e  >&quot;</b></fon
6020: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
6030: 66 66 30 30 66 66 22 3e 26 6c 74 3b 6c 69 26 67  ff00ff">&lt;li&g
6040: 74 3b 26 6c 74 3b 61 20 68 72 65 66 3d 27 3c 2f  t;&lt;a href='</
6050: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
6060: 3d 22 23 61 30 32 30 66 30 22 3e 24 7b 3c 2f 66  ="#a020f0">\${</f
6070: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
6080: 22 23 61 30 32 30 66 30 22 3e 52 45 51 55 45 53  "#a020f0">REQUES
6090: 54 5f 55 52 49 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  T_URI</font><fon
60a0: 74 20 63 6f 6c 6f 72 3d 22 23 61 30 32 30 66 30  t color="#a020f0
60b0: 22 3e 7d 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  ">}</font><font
60c0: 63 6f 6c 6f 72 3d 22 23 66 66 30 30 66 66 22 3e  color="#ff00ff">
60d0: 2f 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f  /</font><font co
60e0: 6c 6f 72 3d 22 23 61 30 32 30 66 30 22 3e 24 70  lor="#a020f0">\$p
60f0: 72 6f 6a 65 63 74 3c 2f 66 6f 6e 74 3e 3c 66 6f  roject</font><fo
6100: 6e 74 20 63 6f 6c 6f 72 3d 22 23 66 66 30 30 66  nt color="#ff00f
6110: 66 22 3e 27 26 67 74 3b 3c 2f 66 6f 6e 74 3e 3c  f">'&gt;</font><
6120: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 30 32  font color="#a02
6130: 30 66 30 22 3e 24 70 72 6f 6a 65 63 74 3c 2f 66  0f0">\$project</f
6140: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
6150: 22 23 66 66 30 30 66 66 22 3e 26 6c 74 3b 2f 61  "#ff00ff">&lt;/a
6160: 26 67 74 3b 26 6c 74 3b 2f 6c 69 26 67 74 3b 3c  &gt;&lt;/li&gt;<
6170: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
6180: 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 26  r="#a52a2a"><b>&
6190: 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e  quot;</b></font>
61a0: 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f  <br>..<font colo
61b0: 72 3d 22 23 61 35 32 61 32 61 22 3e 36 37 20 3c  r="#a52a2a">67 <
61c0: 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73  /font>&nbsp;&nbs
61d0: 70 3b 26 6e 62 73 70 3b 26 6e 62 73 70 3b 3c 66  p;&nbsp;&nbsp;<f
61e0: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61  ont color="#a52a
61f0: 32 61 22 3e 3c 62 3e 66 69 3c 2f 62 3e 3c 2f 66  2a"><b>fi</b></f
6200: 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20  ont><br>..<font
6210: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
6220: 36 38 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b  68 </font>&nbsp;
6230: 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f  &nbsp;<font colo
6240: 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 64  r="#a52a2a"><b>d
6250: 6f 6e 65 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 62  one</b></font><b
6260: 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  r>..<font color=
6270: 22 23 61 35 32 61 32 61 22 3e 36 39 20 3c 2f 66  "#a52a2a">69 </f
6280: 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b  ont>&nbsp;&nbsp;
6290: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35  <font color="#a5
62a0: 32 61 32 61 22 3e 3c 62 3e 65 63 68 6f 3c 2f 62  2a2a"><b>echo</b
62b0: 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f  ></font><font co
62c0: 6c 6f 72 3d 22 23 66 66 30 30 66 66 22 3e 26 6e  lor="#ff00ff">&n
62d0: 62 73 70 3b 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74  bsp;</font><font
62e0: 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22   color="#a52a2a"
62f0: 3e 3c 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f  ><b>&quot;</b></
6300: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
6310: 3d 22 23 66 66 30 30 66 66 22 3e 26 6c 74 3b 2f  ="#ff00ff">&lt;/
6320: 75 6c 26 67 74 3b 3c 2f 66 6f 6e 74 3e 3c 66 6f  ul&gt;</font><fo
6330: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
6340: 61 22 3e 3c 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e  a"><b>&quot;</b>
6350: 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f  </font><br>..<fo
6360: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
6370: 61 22 3e 37 30 20 3c 2f 66 6f 6e 74 3e 3c 66 6f  a">70 </font><fo
6380: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
6390: 61 22 3e 3c 62 3e 65 6c 73 65 3c 2f 62 3e 3c 2f  a"><b>else</b></
63a0: 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74  font><br>..<font
63b0: 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22   color="#a52a2a"
63c0: 3e 37 31 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70  >71 </font>&nbsp
63d0: 3b 26 6e 62 73 70 3b 45 72 72 6f 72 20 3c 66 6f  ;&nbsp;Error <fo
63e0: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
63f0: 61 22 3e 3c 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e  a"><b>&quot;</b>
6400: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
6410: 6f 72 3d 22 23 66 66 30 30 66 66 22 3e 4e 6f 20  or="#ff00ff">No
6420: 73 75 63 68 20 70 72 6f 6a 65 63 74 3a 20 3c 2f  such project: </
6430: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
6440: 3d 22 23 61 30 32 30 66 30 22 3e 24 70 72 6f 6a  ="#a020f0">\$proj
6450: 65 63 74 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  ect</font><font
6460: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
6470: 3c 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66  <b>&quot;</b></f
6480: 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20  ont><br>..<font
6490: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
64a0: 37 32 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  72 </font><font
64b0: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
64c0: 3c 62 3e 66 69 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e  <b>fi</b></font>
64d0: 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f  <br>..<font colo
64e0: 72 3d 22 23 61 35 32 61 32 61 22 3e 37 33 20 3c  r="#a52a2a">73 <
64f0: 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e  /font><br>..<fon
6500: 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61  t color="#a52a2a
6510: 22 3e 37 34 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  ">74 </font><fon
6520: 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61  t color="#a52a2a
6530: 22 3e 3c 62 3e 65 78 69 74 3c 2f 62 3e 3c 2f 66  "><b>exit</b></f
6540: 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20  ont>&nbsp;<font
6550: 63 6f 6c 6f 72 3d 22 23 66 66 30 30 66 66 22 3e  color="#ff00ff">
6560: 30 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 2f  0</font><br>..</
6570: 66 6f 6e 74 3e 0d 0a 3c 2f 6e 6f 77 69 6b 69 3e  font>..</nowiki>
6580: 0d 0a 0d 0a 3c 68 34 3e 57 69 6e 64 6f 77 73 3c  ....<h4>Windows<
6590: 2f 68 34 3e 0d 0a 3c 70 3e 57 68 69 6c 65 20 69  /h4>..<p>While i
65a0: 74 20 69 73 20 66 61 72 20 66 72 6f 6d 20 61 20  t is far from a
65b0: 70 65 72 66 65 63 74 20 73 65 74 20 6f 66 20 69  perfect set of i
65c0: 6e 73 74 72 75 63 74 69 6f 6e 73 2c 20 68 65 72  nstructions, her
65d0: 65 20 61 72 65 20 73 6f 6d 65 20 71 75 69 63 6b  e are some quick
65e0: 20 6e 6f 74 65 73 20 74 68 61 74 20 73 68 6f 75   notes that shou
65f0: 6c 64 20 68 65 6c 70 20 77 69 6e 64 6f 77 73 20  ld help windows
6600: 75 73 65 72 73 20 61 6c 6f 6e 67 20 74 68 65 20  users along the
6610: 77 61 79 2e 3c 2f 70 3e 0d 0a 3c 75 6c 3e 0d 0a  way.</p>..<ul>..
6620: 3c 6c 69 3e 79 6f 75 20 6e 65 65 64 20 66 6f 73  <li>you need fos
6630: 73 69 6c 2e 65 78 65 20 61 63 63 65 73 73 69 62  sil.exe accessib
6640: 6c 65 20 62 79 20 79 6f 75 72 20 77 65 62 20 73  le by your web s
6650: 65 72 76 65 72 20 6f 72 20 6f 6e 20 79 6f 75 72  erver or on your
6660: 20 70 61 74 68 20 2d 2d 20 65 61 73 69 65 73 74   path -- easiest
6670: 20 69 73 20 74 6f 20 6a 75 73 74 20 63 68 75 63   is to just chuc
6680: 6b 20 69 74 20 69 6e 20 5c 25 53 59 53 54 45 4d  k it in \%SYSTEM
6690: 5f 52 4f 4f 54 25 5c 20 28 75 73 75 61 6c 6c 79  _ROOT%\ (usually
66a0: 20 63 3a 5c 77 69 6e 64 6f 77 73 5c 29 2e 20 3c   c:\windows\). <
66b0: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 61 73 73 75 6d 69  /li>..<li>assumi
66c0: 6e 67 20 79 6f 75 20 61 72 65 20 72 75 6e 6e 69  ng you are runni
66d0: 6e 67 20 61 70 61 63 68 65 2c 20 79 6f 75 20 6e  ng apache, you n
66e0: 65 65 64 20 74 6f 20 65 69 74 68 65 72 20 61 64  eed to either ad
66f0: 64 20 74 68 65 20 45 78 65 63 43 47 49 20 74 6f  d the ExecCGI to
6700: 20 74 68 65 20 6f 70 74 69 6f 6e 73 20 6f 6e 20   the options on
6710: 79 6f 75 72 20 44 6f 63 75 6d 65 6e 74 52 6f 6f  your DocumentRoo
6720: 74 2c 20 6f 72 20 6d 61 6b 65 20 73 75 72 65 20  t, or make sure
6730: 74 68 65 20 53 63 72 69 70 74 41 6c 69 61 73 20  the ScriptAlias
6740: 64 69 72 65 63 74 69 76 65 20 69 73 20 73 65 74  directive is set
6750: 20 61 6e 64 20 70 75 74 20 79 6f 75 72 20 2e 63   and put your .c
6760: 67 69 20 66 69 6c 65 73 20 69 6e 20 74 68 61 74  gi files in that
6770: 20 66 6f 6c 64 65 72 2e 3c 2f 6c 69 3e 0d 0a 3c   folder.</li>..<
6780: 6c 69 3e 74 68 65 20 63 6f 6e 74 65 6e 74 73 20  li>the contents
6790: 6f 66 20 79 6f 75 72 20 63 67 69 20 66 69 6c 65  of your cgi file
67a0: 20 6e 65 65 64 20 74 6f 20 62 65 20 65 73 73 65   need to be esse
67b0: 6e 74 69 61 6c 6c 79 20 74 68 65 20 73 61 6d 65  ntially the same
67c0: 20 61 73 20 61 62 6f 76 65 2c 20 74 68 6f 75 67   as above, thoug
67d0: 68 20 70 61 74 68 73 20 6e 65 65 64 20 74 6f 20  h paths need to
67e0: 62 65 20 77 69 6e 64 6f 77 73 2d 66 72 69 65 6e  be windows-frien
67f0: 64 6c 79 2e 20 49 20 68 61 76 65 20 6d 61 64 65  dly. I have made
6800: 20 73 75 72 65 20 74 68 61 74 20 61 6c 6c 20 66   sure that all f
6810: 6f 6c 64 65 72 73 20 6f 6e 20 6d 79 20 74 65 73  olders on my tes
6820: 74 20 62 6f 78 20 61 72 65 20 66 72 65 65 20 6f  t box are free o
6830: 66 20 73 70 61 63 65 73 2c 20 61 6e 64 20 61 73  f spaces, and as
6840: 20 73 75 63 68 20 74 68 69 73 20 66 69 6c 65 20   such this file
6850: 77 6f 72 6b 73 20 66 6f 72 20 6d 65 20 28 6f 62  works for me (ob
6860: 76 69 6f 75 73 6c 79 20 79 6f 75 72 20 70 61 74  viously your pat
6870: 68 73 20 6d 61 79 20 64 69 66 66 65 72 29 2e 0d  hs may differ)..
6880: 0a 3c 70 72 65 3e 0d 0a 23 21 20 66 6f 73 73 69  .<pre>..#! fossi
6890: 6c 2e 65 78 65 0d 0a 72 65 70 6f 73 69 74 6f 72  l.exe..repositor
68a0: 79 3a 20 63 3a 2f 77 61 6d 70 2f 77 77 77 2f 64  y: c:/wamp/www/d
68b0: 65 76 2f 61 63 63 6f 75 6e 74 73 2e 66 6f 73 73  ev/accounts.foss
68c0: 69 6c 0d 0a 3c 2f 70 72 65 3e 0d 0a 49 20 73 75  il..</pre>..I su
68d0: 70 70 6f 73 65 20 79 6f 75 20 63 6f 75 6c 64 20  ppose you could
68e0: 70 75 74 20 66 6f 73 73 69 6c 2e 65 78 65 20 73  put fossil.exe s
68f0: 6f 6d 65 77 68 65 72 65 20 6d 6f 72 65 20 73 70  omewhere more sp
6900: 65 63 69 66 69 63 20 61 6e 64 20 73 65 74 20 74  ecific and set t
6910: 68 65 20 70 61 74 68 20 74 6f 20 69 74 20 61 73  he path to it as
6920: 20 77 65 6c 6c 2c 20 62 75 74 20 73 69 6e 63 65   well, but since
6930: 20 79 6f 75 20 61 72 65 20 70 72 6f 62 61 62 6c   you are probabl
6940: 79 20 75 73 69 6e 67 20 74 68 65 20 73 61 6d 65  y using the same
6950: 20 65 78 65 63 75 74 61 62 6c 65 20 66 6f 72 20   executable for
6960: 63 6d 64 6c 69 6e 65 20 61 6e 64 20 63 67 69 20  cmdline and cgi
6970: 69 74 20 6b 69 6e 64 20 6f 66 20 6a 75 73 74 20  it kind of just
6980: 6d 61 6b 65 73 20 73 65 6e 73 65 20 74 6f 20 70  makes sense to p
6990: 75 74 20 69 74 20 73 6f 6d 65 77 68 65 72 65 20  ut it somewhere
69a0: 6d 6f 72 65 20 61 63 63 65 73 73 69 62 6c 65 2e  more accessible.
69b0: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 41 73 20 77 69  </li>..<li>As wi
69c0: 74 68 20 6d 6f 73 74 20 57 69 6e 64 6f 77 73 20  th most Windows
69d0: 62 61 73 65 64 20 77 65 62 20 69 6e 73 74 72 75  based web instru
69e0: 63 74 69 6f 6e 73 2c 20 70 65 72 6d 69 73 73 69  ctions, permissi
69f0: 6f 6e 73 20 61 72 65 20 6e 6f 74 20 61 73 20 69  ons are not as i
6a00: 6d 70 6f 72 74 61 6e 74 2c 20 68 6f 77 65 76 65  mportant, howeve
6a10: 72 20 61 74 20 74 68 65 20 6c 65 61 73 74 2c 20  r at the least,
6a20: 79 6f 75 20 6e 65 65 64 20 74 6f 20 6d 61 6b 65  you need to make
6a30: 20 73 75 72 65 20 74 68 61 74 20 79 6f 75 72 20   sure that your
6a40: 72 65 70 6f 73 69 74 6f 72 79 20 69 73 20 6e 6f  repository is no
6a50: 74 20 66 6c 61 67 67 65 64 20 72 65 61 64 2d 6f  t flagged read-o
6a60: 6e 6c 79 2c 20 61 73 20 79 6f 75 20 77 69 6c 6c  nly, as you will
6a70: 20 65 6e 63 6f 75 6e 74 65 72 20 64 61 74 61 62   encounter datab
6a80: 61 73 65 20 65 72 72 6f 72 73 20 69 66 20 69 74  ase errors if it
6a90: 20 69 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e   is.</li>..</ul>
6aa0: 0d 0a 0d 0a 3c 68 33 3e 44 69 73 63 75 73 73 69  ....<h3>Discussi
6ab0: 6f 6e 3c 2f 68 33 3e 0d 0a 55 73 69 6e 67 20 74  on</h3>..Using t
6ac0: 68 65 20 43 47 49 20 73 65 72 76 65 72 20 69 73  he CGI server is
6ad0: 20 74 68 65 20 62 65 73 74 20 73 6f 6c 75 74 69   the best soluti
6ae0: 6f 6e 20 63 6f 6d 62 69 6e 69 6e 67 20 61 6e 20  on combining an
6af0: 65 78 69 73 74 69 6e 67 20 77 65 62 20 69 6e 66  existing web inf
6b00: 72 61 73 74 72 75 63 74 75 72 65 20 61 6e 64 20  rastructure and
6b10: 74 68 65 20 73 68 61 72 69 6e 67 20 6f 66 20 6d  the sharing of m
6b20: 61 6e 79 20 3c 63 69 74 65 3e 46 6f 73 73 69 6c  any <cite>Fossil
6b30: 3c 2f 63 69 74 65 3e 20 72 65 70 6f 73 69 74 6f  </cite> reposito
6b40: 72 69 65 73 2e 20 20 55 6e 6c 69 6b 65 20 74 68  ries.  Unlike th
6b50: 65 20 61 64 2d 68 6f 63 20 73 6f 6c 75 74 69 6f  e ad-hoc solutio
6b60: 6e 20 77 68 69 63 68 20 72 65 71 75 69 72 65 73  n which requires
6b70: 2c 20 69 6e 20 65 66 66 65 63 74 2c 20 61 20 73  , in effect, a s
6b80: 65 70 61 72 61 74 65 20 70 6f 72 74 20 66 6f 72  eparate port for
6b90: 20 65 61 63 68 20 73 69 6d 75 6c 74 61 6e 65 6f   each simultaneo
6ba0: 75 73 6c 79 2d 73 68 61 72 65 64 20 72 65 70 6f  usly-shared repo
6bb0: 73 69 74 6f 72 79 2c 20 61 6e 64 20 77 68 69 63  sitory, and whic
6bc0: 68 20 72 65 71 75 69 72 65 73 20 73 65 76 65 72  h requires sever
6bd0: 61 6c 20 69 6e 73 74 61 6e 63 65 73 20 6f 66 20  al instances of
6be0: 66 6f 73 73 69 6c 20 72 75 6e 6e 69 6e 67 20 2d  fossil running -
6bf0: 2d 20 6f 6e 65 20 66 6f 72 20 65 61 63 68 20 73  - one for each s
6c00: 68 61 72 65 64 20 72 65 70 6f 73 69 74 6f 72 79  hared repository
6c10: 20 2d 2d 20 74 68 65 20 43 47 49 20 61 70 70 72   -- the CGI appr
6c20: 6f 61 63 68 20 75 73 65 73 20 55 52 4c 73 20 74  oach uses URLs t
6c30: 6f 20 64 69 73 74 69 6e 67 75 69 73 68 20 62 65  o distinguish be
6c40: 74 77 65 65 6e 20 72 65 70 6f 73 69 74 6f 72 69  tween repositori
6c50: 65 73 20 61 6e 64 20 6f 6e 6c 79 20 28 62 72 69  es and only (bri
6c60: 65 66 6c 79 29 20 72 75 6e 73 20 61 20 63 6f 70  efly) runs a cop
6c70: 79 20 6f 66 20 66 6f 73 73 69 6c 20 77 68 65 6e  y of fossil when
6c80: 20 74 68 65 20 72 65 70 6f 73 69 74 6f 72 79 20   the repository
6c90: 69 73 20 61 63 74 75 61 6c 6c 79 20 61 63 63 65  is actually acce
6ca0: 73 73 65 64 2e 0d 0a 0d 0a 53 68 61 72 69 6e 67  ssed.....Sharing
6cb0: 20 72 65 70 6f 73 69 74 6f 72 69 65 73 20 77 69   repositories wi
6cc0: 74 68 20 43 47 49 20 69 73 20 72 65 61 6c 6c 79  th CGI is really
6cd0: 20 6f 6e 6c 79 20 77 6f 72 74 68 20 74 68 65 20   only worth the
6ce0: 65 66 66 6f 72 74 20 69 66 20 6d 6f 72 65 20 74  effort if more t
6cf0: 68 61 6e 20 6f 6e 65 20 72 65 70 6f 73 69 74 6f  han one reposito
6d00: 72 79 20 69 73 20 62 65 69 6e 67 20 73 68 61 72  ry is being shar
6d10: 65 64 2c 20 68 6f 77 65 76 65 72 2e 20 20 57 69  ed, however.  Wi
6d20: 74 68 20 6f 6e 6c 79 20 6f 6e 65 20 62 65 69 6e  th only one bein
6d30: 67 20 73 68 61 72 65 64 2c 20 3c 63 6f 64 65 3e  g shared, <code>
6d40: 66 6f 73 73 69 6c 20 73 65 72 76 65 72 3c 2f 63  fossil server</c
6d50: 6f 64 65 3e 20 69 73 20 6c 69 6b 65 6c 79 20 6d  ode> is likely m
6d60: 6f 72 65 20 74 68 61 6e 20 61 64 65 71 75 61 74  ore than adequat
6d70: 65 20 6f 72 20 74 68 65 20 75 73 65 20 6f 66 20  e or the use of
6d80: 28 78 29 69 6e 65 74 64 20 6d 61 79 20 62 65 20  (x)inetd may be
6d90: 69 6e 64 69 63 61 74 65 64 2e 20 20 49 66 2c 20  indicated.  If,
6da0: 68 6f 77 65 76 65 72 2c 20 74 68 65 72 65 20 69  however, there i
6db0: 73 20 61 6c 72 65 61 64 79 20 61 6e 20 65 78 69  s already an exi
6dc0: 73 74 69 6e 67 20 77 65 62 20 69 6e 66 72 61 73  sting web infras
6dd0: 74 72 75 63 74 75 72 65 20 69 6e 20 70 6c 61 63  tructure in plac
6de0: 65 2c 20 43 47 49 20 73 74 69 6c 6c 20 6d 61 79  e, CGI still may
6df0: 20 62 65 20 70 72 65 66 65 72 72 65 64 20 69 66   be preferred if
6e00: 20 6f 6e 6c 79 20 66 6f 72 20 63 6f 6e 73 69 73   only for consis
6e10: 74 65 6e 63 79 20 61 6e 64 20 6d 61 69 6e 74 61  tency and mainta
6e20: 69 6e 61 62 69 6c 69 74 79 20 6f 66 20 74 68 65  inability of the
6e30: 20 73 79 73 74 65 6d 20 61 73 20 61 20 77 68 6f   system as a who
6e40: 6c 65 2e 0d 0a 0d 0a 3c 68 32 3e 3c 61 20 6e 61  le.....<h2><a na
6e50: 6d 65 3d 22 65 6e 76 22 3e 55 73 69 6e 67 20 45  me="env">Using E
6e60: 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61  nvironment varia
6e70: 62 6c 65 73 3c 2f 61 3e 3c 2f 68 32 3e 0d 0a 3c  bles</a></h2>..<
6e80: 68 33 3e 4d 6f 74 69 76 61 74 69 6f 6e 3c 2f 68  h3>Motivation</h
6e90: 33 3e 0d 0a 20 20 2a 20 20 57 61 6e 74 20 74 6f  3>..  *  Want to
6ea0: 20 75 73 65 20 61 20 64 69 66 66 65 72 65 6e 74   use a different
6eb0: 20 65 64 69 74 6f 72 20 66 6f 72 20 63 68 65 63   editor for chec
6ec0: 6b 69 6e 73 20 28 55 6e 69 78 2f 57 69 6e 64 6f  kins (Unix/Windo
6ed0: 77 73 29 0d 0a 20 20 2a 20 20 55 73 65 20 61 20  ws)..  *  Use a
6ee0: 70 72 6f 78 79 20 69 66 20 79 6f 75 20 61 72 65  proxy if you are
6ef0: 20 62 65 68 69 6e 64 20 61 20 66 69 72 65 77 61   behind a firewa
6f00: 6c 6c 0d 0a 0d 0a 3c 68 33 3e 53 6f 6c 75 74 69  ll....<h3>Soluti
6f10: 6f 6e 3c 2f 68 33 3e 0d 0a 45 6e 76 69 72 6f 6e  on</h3>..Environ
6f20: 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 73 20 61  ment variables a
6f30: 72 65 20 75 73 65 64 20 74 6f 20 63 75 73 74 6f  re used to custo
6f40: 6d 69 7a 65 20 73 6f 6d 65 20 70 72 6f 67 72 61  mize some progra
6f50: 6d 6d 65 20 62 65 68 61 76 69 6f 75 72 2e 20 4f  mme behaviour. O
6f60: 6e 20 4c 69 6e 75 78 2f 55 6e 69 78 20 74 68 65  n Linux/Unix the
6f70: 79 20 63 61 6e 20 62 65 20 73 65 74 20 69 6e 20  y can be set in
6f80: 79 6f 75 20 7e 2f 2e 62 61 73 68 72 63 20 6f 72  you ~/.bashrc or
6f90: 20 65 76 65 6e 20 6f 6e 20 63 6f 6d 6d 61 6e 64   even on command
6fa0: 20 6c 69 6e 65 2e 20 4f 6e 20 57 69 6e 64 6f 77   line. On Window
6fb0: 73 20 74 68 65 79 20 63 61 6e 20 62 65 20 73 65  s they can be se
6fc0: 74 20 69 6e 20 74 68 65 20 73 79 73 74 65 6d 20  t in the system
6fd0: 73 65 74 74 69 6e 67 73 2e 0d 0a 0d 0a 3c 63 69  settings.....<ci
6fe0: 74 65 3e 46 6f 73 73 69 6c 3c 2f 63 69 74 65 3e  te>Fossil</cite>
6ff0: 20 63 68 65 63 6b 73 20 74 68 65 20 66 6f 6c 6c   checks the foll
7000: 6f 77 69 6e 67 20 65 6e 76 69 72 6f 6e 6d 65 6e  owing environmen
7010: 74 20 76 61 72 69 61 62 6c 65 73 3a 0d 0a 20 20  t variables:..
7020: 2a 20 20 56 49 53 55 41 4c 2f 45 44 49 54 4f 52  *  VISUAL/EDITOR
7030: 0d 0a 20 20 2a 20 20 68 74 74 70 5f 70 72 6f 78  ..  *  http_prox
7040: 79 0d 0a 20 20 2a 20 20 54 4d 50 5f 44 49 52 0d  y..  *  TMP_DIR.
7050: 0a 20 20 2a 20 20 47 41 54 45 57 41 59 5f 49 4e  .  *  GATEWAY_IN
7060: 54 45 52 46 41 43 45 0d 0a 20 20 2a 20 20 53 51  TERFACE..  *  SQ
7070: 4c 49 54 45 5f 46 4f 52 43 45 5f 50 52 4f 58 59  LITE_FORCE_PROXY
7080: 5f 4c 4f 43 4b 49 4e 47 0d 0a 20 20 2a 20 20 55  _LOCKING..  *  U
7090: 53 45 52 0d 0a 20 20 2a 20 20 55 53 45 52 4e 41  SER..  *  USERNA
70a0: 4d 45 0d 0a 0d 0a 3c 62 3e 56 49 53 55 41 4c 2f  ME....<b>VISUAL/
70b0: 45 44 49 54 4f 52 3c 2f 62 3e 20 63 6f 6e 74 61  EDITOR</b> conta
70c0: 69 6e 20 74 68 65 20 65 64 69 74 6f 72 20 6f 66  in the editor of
70d0: 20 79 6f 75 72 20 63 68 6f 69 63 65 20 74 68 61   your choice tha
70e0: 74 20 69 73 20 75 73 65 64 20 74 6f 20 77 72 69  t is used to wri
70f0: 74 65 20 74 68 65 20 63 6f 6d 6d 69 74 20 66 69  te the commit fi
7100: 6c 65 2e 0d 0a 0d 0a 3c 62 3e 54 4d 50 5f 44 49  le.....<b>TMP_DI
7110: 52 3c 2f 62 3e 20 73 70 65 63 69 66 69 65 73 20  R</b> specifies
7120: 74 68 65 20 64 69 72 65 63 74 6f 72 79 20 66 6f  the directory fo
7130: 72 20 74 65 6d 70 6f 72 61 72 79 20 66 69 6c 65  r temporary file
7140: 73 2e 0d 0a 0d 0a 3c 62 3e 47 41 54 45 57 41 59  s.....<b>GATEWAY
7150: 5f 49 4e 54 45 52 46 41 43 45 3c 2f 62 3e 20 3f  _INTERFACE</b> ?
7160: 3f 3f 0d 0a 0d 0a 3c 62 3e 53 51 4c 49 54 45 5f  ??....<b>SQLITE_
7170: 46 4f 52 43 45 5f 50 52 4f 58 59 5f 4c 4f 43 4b  FORCE_PROXY_LOCK
7180: 49 4e 47 3c 2f 62 3e 20 3f 3f 3f 0d 0a 0d 0a 3c  ING</b> ???....<
7190: 62 3e 55 53 45 52 3c 2f 62 3e 0d 0a 0d 0a 3c 62  b>USER</b>....<b
71a0: 3e 55 53 45 52 4e 41 4d 45 3c 2f 62 3e 0d 0a 0d  >USERNAME</b>...
71b0: 0a 0d 0a 3c 68 32 3e 3c 61 20 6e 61 6d 65 3d 22  ...<h2><a name="
71c0: 63 73 73 22 3e 45 78 61 6d 70 6c 65 20 43 53 53  css">Example CSS
71d0: 3c 2f 61 3e 3c 2f 68 32 3e 0d 0a 3c 68 33 3e 4d  </a></h2>..<h3>M
71e0: 6f 74 69 76 61 74 69 6f 6e 3c 2f 68 33 3e 0d 0a  otivation</h3>..
71f0: 54 68 65 20 64 65 66 61 75 6c 74 20 55 49 20 6d  The default UI m
7200: 61 79 20 6e 6f 74 20 62 65 20 73 74 79 6c 69 73  ay not be stylis
7210: 68 20 69 6e 20 65 76 65 72 79 6f 6e 65 73 20 65  h in everyones e
7220: 79 65 73 2e 0d 0a 49 74 20 69 73 20 75 70 20 74  yes...It is up t
7230: 6f 20 79 6f 75 20 74 6f 20 63 68 61 6e 67 65 20  o you to change
7240: 69 74 2e 20 53 65 65 20 74 68 65 20 43 53 53 20  it. See the CSS
7250: 63 6f 64 65 20 62 65 6c 6f 77 20 66 72 6f 6d 20  code below from
7260: 74 68 69 73 20 73 69 74 65 20 5b 68 74 74 70 3a  this site [http:
7270: 2f 2f 66 6f 73 73 69 6c 2e 77 61 6e 64 65 72 69  //fossil.wanderi
7280: 6e 67 68 6f 72 73 65 2e 6e 65 74 2f 69 6e 64 65  nghorse.net/inde
7290: 78 2e 63 67 69 2f 69 6e 64 65 78 7c 57 61 6e 64  x.cgi/index|Wand
72a0: 65 72 69 6e 67 20 48 6f 72 73 65 5d 0d 0a 0d 0a  ering Horse]....
72b0: 3c 6e 6f 77 69 6b 69 3e 0d 0a 3c 70 72 65 3e 0d  <nowiki>..<pre>.
72c0: 0a 2f 2a 20 47 65 6e 65 72 61 6c 20 73 65 74 74  ./* General sett
72d0: 69 6e 67 73 20 66 6f 72 20 74 68 65 20 65 6e 74  ings for the ent
72e0: 69 72 65 20 70 61 67 65 20 2a 2f 0d 0a 62 6f 64  ire page */..bod
72f0: 79 20 7b 0d 0a 20 20 6d 61 72 67 69 6e 3a 20 30  y {..  margin: 0
7300: 65 78 20 31 65 78 3b 0d 0a 20 20 70 61 64 64 69  ex 1ex;..  paddi
7310: 6e 67 3a 20 30 70 78 3b 0d 0a 20 20 62 61 63 6b  ng: 0px;..  back
7320: 67 72 6f 75 6e 64 2d 63 6f 6c 6f 72 3a 20 77 68  ground-color: wh
7330: 69 74 65 3b 0d 0a 20 20 66 6f 6e 74 2d 66 61 6d  ite;..  font-fam
7340: 69 6c 79 3a 20 22 73 61 6e 73 20 73 65 72 69 66  ily: "sans serif
7350: 22 3b 0d 0a 7d 0d 0a 0d 0a 2f 2a 20 4d 61 6b 65  ";..}..../* Make
7360: 20 74 68 65 20 6c 69 6e 6b 73 20 69 6e 20 74 68   the links in th
7370: 65 20 66 6f 6f 74 65 72 20 6c 65 73 73 20 75 67  e footer less ug
7380: 6c 79 2e 2e 2e 20 2a 2f 0d 0a 61 20 7b 20 63 6f  ly... */..a { co
7390: 6c 6f 72 3a 20 23 30 30 30 66 36 61 3b 20 7d 0d  lor: #000f6a; }.
73a0: 0a 61 3a 6c 69 6e 6b 20 7b 20 63 6f 6c 6f 72 3a  .a:link { color:
73b0: 20 23 30 30 30 66 36 61 3b 20 7d 0d 0a 61 3a 76   #000f6a; }..a:v
73c0: 69 73 69 74 65 64 20 7b 20 63 6f 6c 6f 72 3a 20  isited { color:
73d0: 23 30 30 30 66 36 61 3b 20 7d 0d 0a 61 3a 68 6f  #000f6a; }..a:ho
73e0: 76 65 72 20 7b 20 62 61 63 6b 67 72 6f 75 6e 64  ver { background
73f0: 2d 63 6f 6c 6f 72 3a 20 23 65 33 65 33 65 33 3b  -color: #e3e3e3;
7400: 20 7d 0d 0a 0d 0a 0d 0a 68 72 20 7b 0d 0a 20 20   }......hr {..
7410: 68 65 69 67 68 74 3a 20 33 70 78 3b 0d 0a 20 20  height: 3px;..
7420: 62 6f 72 64 65 72 2d 74 6f 70 3a 20 6e 6f 6e 65  border-top: none
7430: 3b 20 2f 2a 31 70 78 20 64 61 73 68 65 64 20 23  ; /*1px dashed #
7440: 30 30 35 3b 2a 2f 0d 0a 20 20 62 6f 72 64 65 72  005;*/..  border
7450: 2d 62 6f 74 74 6f 6d 3a 20 31 70 78 20 64 61 73  -bottom: 1px das
7460: 68 65 64 20 23 30 30 35 3b 0d 0a 20 20 62 6f 72  hed #005;..  bor
7470: 64 65 72 2d 6c 65 66 74 3a 20 6e 6f 6e 65 3b 0d  der-left: none;.
7480: 0a 20 20 62 6f 72 64 65 72 2d 72 69 67 68 74 3a  .  border-right:
7490: 20 6e 6f 6e 65 3b 0d 0a 7d 0d 0a 2f 2a 20 54 68   none;..}../* Th
74a0: 65 20 70 72 6f 6a 65 63 74 20 6c 6f 67 6f 20 69  e project logo i
74b0: 6e 20 74 68 65 20 75 70 70 65 72 20 6c 65 66 74  n the upper left
74c0: 2d 68 61 6e 64 20 63 6f 72 6e 65 72 20 6f 66 20  -hand corner of
74d0: 65 61 63 68 20 70 61 67 65 20 2a 2f 0d 0a 64 69  each page */..di
74e0: 76 2e 6c 6f 67 6f 20 7b 0d 0a 20 20 64 69 73 70  v.logo {..  disp
74f0: 6c 61 79 3a 20 74 61 62 6c 65 2d 63 65 6c 6c 3b  lay: table-cell;
7500: 0d 0a 20 20 74 65 78 74 2d 61 6c 69 67 6e 3a 20  ..  text-align:
7510: 63 65 6e 74 65 72 3b 0d 0a 20 20 76 65 72 74 69  center;..  verti
7520: 63 61 6c 2d 61 6c 69 67 6e 3a 20 62 6f 74 74 6f  cal-align: botto
7530: 6d 3b 0d 0a 20 20 63 6f 6c 6f 72 3a 20 23 30 30  m;..  color: #00
7540: 30 66 36 61 3b 0d 0a 7d 0d 0a 0d 0a 2f 2a 20 54  0f6a;..}..../* T
7550: 68 65 20 70 61 67 65 20 74 69 74 6c 65 20 63 65  he page title ce
7560: 6e 74 65 72 65 64 20 61 74 20 74 68 65 20 74 6f  ntered at the to
7570: 70 20 6f 66 20 65 61 63 68 20 70 61 67 65 20 2a  p of each page *
7580: 2f 0d 0a 64 69 76 2e 74 69 74 6c 65 20 7b 0d 0a  /..div.title {..
7590: 20 20 64 69 73 70 6c 61 79 3a 20 74 61 62 6c 65    display: table
75a0: 2d 63 65 6c 6c 3b 0d 0a 20 20 66 6f 6e 74 2d 73  -cell;..  font-s
75b0: 69 7a 65 3a 20 32 65 6d 3b 0d 0a 20 20 66 6f 6e  ize: 2em;..  fon
75c0: 74 2d 77 65 69 67 68 74 3a 20 62 6f 6c 64 3b 0d  t-weight: bold;.
75d0: 0a 20 20 74 65 78 74 2d 61 6c 69 67 6e 3a 20 63  .  text-align: c
75e0: 65 6e 74 65 72 3b 0d 0a 20 20 63 6f 6c 6f 72 3a  enter;..  color:
75f0: 20 23 30 30 30 66 36 61 3b 0d 0a 20 20 76 65 72   #000f6a;..  ver
7600: 74 69 63 61 6c 2d 61 6c 69 67 6e 3a 20 62 6f 74  tical-align: bot
7610: 74 6f 6d 3b 0d 0a 20 20 77 69 64 74 68 3a 20 31  tom;..  width: 1
7620: 30 30 25 3b 0d 0a 7d 0d 0a 0d 0a 2f 2a 20 54 68  00%;..}..../* Th
7630: 65 20 6c 6f 67 69 6e 20 73 74 61 74 75 73 20 6d  e login status m
7640: 65 73 73 61 67 65 20 69 6e 20 74 68 65 20 74 6f  essage in the to
7650: 70 20 72 69 67 68 74 2d 68 61 6e 64 20 63 6f 72  p right-hand cor
7660: 6e 65 72 20 2a 2f 0d 0a 64 69 76 2e 73 74 61 74  ner */..div.stat
7670: 75 73 20 7b 0d 0a 20 20 64 69 73 70 6c 61 79 3a  us {..  display:
7680: 20 74 61 62 6c 65 2d 63 65 6c 6c 3b 0d 0a 20 20   table-cell;..
7690: 74 65 78 74 2d 61 6c 69 67 6e 3a 20 72 69 67 68  text-align: righ
76a0: 74 3b 0d 0a 20 20 76 65 72 74 69 63 61 6c 2d 61  t;..  vertical-a
76b0: 6c 69 67 6e 3a 20 62 6f 74 74 6f 6d 3b 0d 0a 20  lign: bottom;..
76c0: 20 63 6f 6c 6f 72 3a 20 23 30 30 30 66 36 61 3b   color: #000f6a;
76d0: 0d 0a 20 20 66 6f 6e 74 2d 73 69 7a 65 3a 20 30  ..  font-size: 0
76e0: 2e 38 65 6d 3b 0d 0a 7d 0d 0a 0d 0a 2f 2a 20 54  .8em;..}..../* T
76f0: 68 65 20 68 65 61 64 65 72 20 61 63 72 6f 73 73  he header across
7700: 20 74 68 65 20 74 6f 70 20 6f 66 20 74 68 65 20   the top of the
7710: 70 61 67 65 20 2a 2f 0d 0a 64 69 76 2e 68 65 61  page */..div.hea
7720: 64 65 72 20 7b 0d 0a 20 20 64 69 73 70 6c 61 79  der {..  display
7730: 3a 20 74 61 62 6c 65 3b 0d 0a 20 20 77 69 64 74  : table;..  widt
7740: 68 3a 20 31 30 30 25 3b 0d 0a 20 20 74 65 78 74  h: 100%;..  text
7750: 2d 61 6c 69 67 6e 3a 20 63 65 6e 74 65 72 3b 0d  -align: center;.
7760: 0a 7d 0d 0a 0d 0a 2f 2a 20 54 68 65 20 6d 61 69  .}..../* The mai
7770: 6e 20 6d 65 6e 75 20 62 61 72 20 74 68 61 74 20  n menu bar that
7780: 61 70 70 65 61 72 73 20 61 74 20 74 68 65 20 74  appears at the t
7790: 6f 70 20 6f 66 20 74 68 65 20 70 61 67 65 20 62  op of the page b
77a0: 65 6e 65 61 74 68 0d 0a 2a 2a 20 74 68 65 20 68  eneath..** the h
77b0: 65 61 64 65 72 20 2a 2f 0d 0a 64 69 76 2e 6d 61  eader */..div.ma
77c0: 69 6e 6d 65 6e 75 20 7b 0d 0a 20 20 70 61 64 64  inmenu {..  padd
77d0: 69 6e 67 3a 20 32 70 78 20 35 70 78 20 32 70 78  ing: 2px 5px 2px
77e0: 20 35 70 78 3b 0d 0a 20 20 66 6f 6e 74 2d 73 69   5px;..  font-si
77f0: 7a 65 3a 20 30 2e 39 65 6d 3b 0d 0a 20 20 74 65  ze: 0.9em;..  te
7800: 78 74 2d 61 6c 69 67 6e 3a 20 63 65 6e 74 65 72  xt-align: center
7810: 3b 0d 0a 20 20 6c 65 74 74 65 72 2d 73 70 61 63  ;..  letter-spac
7820: 69 6e 67 3a 20 31 70 78 3b 0d 0a 20 20 62 61 63  ing: 1px;..  bac
7830: 6b 67 72 6f 75 6e 64 2d 63 6f 6c 6f 72 3a 20 23  kground-color: #
7840: 65 33 65 33 65 33 3b 0d 0a 20 20 63 6f 6c 6f 72  e3e3e3;..  color
7850: 3a 20 23 30 30 30 66 36 61 3b 0d 0a 20 20 62 6f  : #000f6a;..  bo
7860: 72 64 65 72 3a 20 31 70 78 20 69 6e 73 65 74 20  rder: 1px inset
7870: 62 6c 61 63 6b 3b 0d 0a 7d 0d 0a 0d 0a 2f 2a 20  black;..}..../*
7880: 54 68 65 20 73 75 62 6d 65 6e 75 20 62 61 72 20  The submenu bar
7890: 74 68 61 74 20 2a 73 6f 6d 65 74 69 6d 65 73 2a  that *sometimes*
78a0: 20 61 70 70 65 61 72 73 20 62 65 6c 6f 77 20 74   appears below t
78b0: 68 65 20 6d 61 69 6e 20 6d 65 6e 75 20 2a 2f 0d  he main menu */.
78c0: 0a 64 69 76 2e 73 75 62 6d 65 6e 75 20 7b 0d 0a  .div.submenu {..
78d0: 20 20 70 61 64 64 69 6e 67 3a 20 32 70 78 20 35    padding: 2px 5
78e0: 70 78 20 32 70 78 20 35 70 78 3b 0d 0a 20 20 66  px 2px 5px;..  f
78f0: 6f 6e 74 2d 73 69 7a 65 3a 20 30 2e 39 65 6d 3b  ont-size: 0.9em;
7900: 0d 0a 20 20 74 65 78 74 2d 61 6c 69 67 6e 3a 20  ..  text-align:
7910: 63 65 6e 74 65 72 3b 0d 0a 20 20 62 61 63 6b 67  center;..  backg
7920: 72 6f 75 6e 64 2d 63 6f 6c 6f 72 3a 20 23 65 33  round-color: #e3
7930: 65 33 65 33 3b 0d 0a 20 20 63 6f 6c 6f 72 3a 20  e3e3;..  color:
7940: 23 30 30 30 66 36 61 3b 0d 0a 7d 0d 0a 64 69 76  #000f6a;..}..div
7950: 2e 6d 61 69 6e 6d 65 6e 75 20 61 2c 20 64 69 76  .mainmenu a, div
7960: 2e 6d 61 69 6e 6d 65 6e 75 20 61 3a 76 69 73 69  .mainmenu a:visi
7970: 74 65 64 2c 20 64 69 76 2e 73 75 62 6d 65 6e 75  ted, div.submenu
7980: 20 61 2c 20 64 69 76 2e 73 75 62 6d 65 6e 75 20   a, div.submenu
7990: 61 3a 76 69 73 69 74 65 64 20 7b 0d 0a 20 20 70  a:visited {..  p
79a0: 61 64 64 69 6e 67 3a 20 32 70 78 20 31 30 70 78  adding: 2px 10px
79b0: 20 32 70 78 20 31 30 70 78 3b 0d 0a 20 20 63 6f   2px 10px;..  co
79c0: 6c 6f 72 3a 20 23 30 30 30 66 36 61 3b 0d 0a 20  lor: #000f6a;..
79d0: 20 62 61 63 6b 67 72 6f 75 6e 64 2d 63 6f 6c 6f   background-colo
79e0: 72 3a 20 23 65 33 65 33 65 33 3b 0d 0a 20 20 74  r: #e3e3e3;..  t
79f0: 65 78 74 2d 64 65 63 6f 72 61 74 69 6f 6e 3a 20  ext-decoration:
7a00: 6e 6f 6e 65 3b 0d 0a 7d 0d 0a 64 69 76 2e 6d 61  none;..}..div.ma
7a10: 69 6e 6d 65 6e 75 20 61 3a 68 6f 76 65 72 2c 20  inmenu a:hover,
7a20: 64 69 76 2e 73 75 62 6d 65 6e 75 20 61 3a 68 6f  div.submenu a:ho
7a30: 76 65 72 20 7b 0d 0a 20 20 63 6f 6c 6f 72 3a 20  ver {..  color:
7a40: 23 65 33 65 33 65 33 3b 0d 0a 20 20 62 61 63 6b  #e3e3e3;..  back
7a50: 67 72 6f 75 6e 64 2d 63 6f 6c 6f 72 3a 20 23 30  ground-color: #0
7a60: 30 30 66 36 61 3b 0d 0a 7d 0d 0a 0d 0a 2f 2a 20  00f6a;..}..../*
7a70: 41 6c 6c 20 70 61 67 65 20 63 6f 6e 74 65 6e 74  All page content
7a80: 20 66 72 6f 6d 20 74 68 65 20 62 6f 74 74 6f 6d   from the bottom
7a90: 20 6f 66 20 74 68 65 20 6d 65 6e 75 20 6f 72 20   of the menu or
7aa0: 73 75 62 6d 65 6e 75 20 64 6f 77 6e 20 74 6f 0d  submenu down to.
7ab0: 0a 2a 2a 20 74 68 65 20 66 6f 6f 74 65 72 20 2a  .** the footer *
7ac0: 2f 0d 0a 64 69 76 2e 63 6f 6e 74 65 6e 74 20 7b  /..div.content {
7ad0: 0d 0a 20 20 70 61 64 64 69 6e 67 3a 20 30 65 78  ..  padding: 0ex
7ae0: 20 31 65 78 20 30 65 78 20 32 65 78 3b 0d 0a 7d   1ex 0ex 2ex;..}
7af0: 0d 0a 0d 0a 2f 2a 20 53 6f 6d 65 20 70 61 67 65  ..../* Some page
7b00: 73 20 68 61 76 65 20 73 65 63 74 69 6f 6e 20 64  s have section d
7b10: 69 76 69 64 65 72 73 20 2a 2f 0d 0a 64 69 76 2e  ividers */..div.
7b20: 73 65 63 74 69 6f 6e 20 7b 0d 0a 20 20 6d 61 72  section {..  mar
7b30: 67 69 6e 2d 62 6f 74 74 6f 6d 3a 20 30 70 78 3b  gin-bottom: 0px;
7b40: 0d 0a 20 20 6d 61 72 67 69 6e 2d 74 6f 70 3a 20  ..  margin-top:
7b50: 31 65 6d 3b 0d 0a 20 20 70 61 64 64 69 6e 67 3a  1em;..  padding:
7b60: 20 31 70 78 20 31 70 78 20 31 70 78 20 31 70 78   1px 1px 1px 1px
7b70: 3b 0d 0a 20 20 66 6f 6e 74 2d 73 69 7a 65 3a 20  ;..  font-size:
7b80: 31 2e 32 65 6d 3b 0d 0a 20 20 66 6f 6e 74 2d 77  1.2em;..  font-w
7b90: 65 69 67 68 74 3a 20 62 6f 6c 64 3b 0d 0a 20 20  eight: bold;..
7ba0: 62 61 63 6b 67 72 6f 75 6e 64 2d 63 6f 6c 6f 72  background-color
7bb0: 3a 20 23 65 33 65 33 65 33 3b 0d 0a 20 20 63 6f  : #e3e3e3;..  co
7bc0: 6c 6f 72 3a 20 23 30 30 30 66 36 61 3b 0d 0a 7d  lor: #000f6a;..}
7bd0: 0d 0a 0d 0a 2f 2a 20 54 68 65 20 22 44 61 74 65  ..../* The "Date
7be0: 22 20 74 68 61 74 20 6f 63 63 75 72 73 20 6f 6e  " that occurs on
7bf0: 20 74 68 65 20 6c 65 66 74 20 68 61 6e 64 20 73   the left hand s
7c00: 69 64 65 20 6f 66 20 74 69 6d 65 6c 69 6e 65 73  ide of timelines
7c10: 20 2a 2f 0d 0a 64 69 76 2e 64 69 76 69 64 65 72   */..div.divider
7c20: 20 7b 0d 0a 20 20 62 61 63 6b 67 72 6f 75 6e 64   {..  background
7c30: 2d 63 6f 6c 6f 72 3a 20 23 65 33 65 33 65 33 3b  -color: #e3e3e3;
7c40: 0d 0a 20 20 63 6f 6c 6f 72 3a 20 23 30 30 30 66  ..  color: #000f
7c50: 36 61 3b 0d 0a 20 20 62 6f 72 64 65 72 3a 20 31  6a;..  border: 1
7c60: 70 78 20 23 62 62 62 62 66 66 20 73 6f 6c 69 64  px #bbbbff solid
7c70: 3b 0d 0a 20 20 66 6f 6e 74 2d 73 69 7a 65 3a 20  ;..  font-size:
7c80: 31 65 6d 3b 20 66 6f 6e 74 2d 77 65 69 67 68 74  1em; font-weight
7c90: 3a 20 6e 6f 72 6d 61 6c 3b 0d 0a 20 20 70 61 64  : normal;..  pad
7ca0: 64 69 6e 67 3a 20 2e 32 35 65 6d 3b 0d 0a 20 20  ding: .25em;..
7cb0: 6d 61 72 67 69 6e 3a 20 2e 32 65 6d 20 30 20 2e  margin: .2em 0 .
7cc0: 32 65 6d 20 30 3b 0d 0a 20 20 66 6c 6f 61 74 3a  2em 0;..  float:
7cd0: 20 6c 65 66 74 3b 0d 0a 20 20 63 6c 65 61 72 3a   left;..  clear:
7ce0: 20 6c 65 66 74 3b 0d 0a 7d 0d 0a 0d 0a 2f 2a 20   left;..}..../*
7cf0: 54 68 65 20 66 6f 6f 74 65 72 20 61 74 20 74 68  The footer at th
7d00: 65 20 76 65 72 79 20 62 6f 74 74 6f 6d 20 6f 66  e very bottom of
7d10: 20 74 68 65 20 70 61 67 65 20 2a 2f 0d 0a 64 69   the page */..di
7d20: 76 2e 66 6f 6f 74 65 72 20 7b 0d 0a 20 20 66 6f  v.footer {..  fo
7d30: 6e 74 2d 73 69 7a 65 3a 20 30 2e 38 65 6d 3b 0d  nt-size: 0.8em;.
7d40: 0a 20 20 70 61 64 64 69 6e 67 3a 20 32 70 78 20  .  padding: 2px
7d50: 35 70 78 20 32 70 78 20 35 70 78 3b 0d 0a 20 20  5px 2px 5px;..
7d60: 74 65 78 74 2d 61 6c 69 67 6e 3a 20 63 65 6e 74  text-align: cent
7d70: 65 72 3b 0d 0a 20 20 6c 65 74 74 65 72 2d 73 70  er;..  letter-sp
7d80: 61 63 69 6e 67 3a 20 31 70 78 3b 0d 0a 20 20 62  acing: 1px;..  b
7d90: 61 63 6b 67 72 6f 75 6e 64 2d 63 6f 6c 6f 72 3a  ackground-color:
7da0: 20 23 65 33 65 33 65 33 3b 0d 0a 20 20 63 6f 6c   #e3e3e3;..  col
7db0: 6f 72 3a 20 23 30 30 30 66 36 61 3b 0d 0a 20 20  or: #000f6a;..
7dc0: 62 6f 72 64 65 72 3a 20 31 70 78 20 69 6e 73 65  border: 1px inse
7dd0: 74 20 62 6c 61 63 6b 3b 0d 0a 7d 0d 0a 0d 0a 2f  t black;..}..../
7de0: 2a 20 4d 61 6b 65 20 74 68 65 20 6c 69 6e 6b 73  * Make the links
7df0: 20 69 6e 20 74 68 65 20 66 6f 6f 74 65 72 20 6c   in the footer l
7e00: 65 73 73 20 75 67 6c 79 2e 2e 2e 20 2a 2f 0d 0a  ess ugly... */..
7e10: 64 69 76 2e 66 6f 6f 74 65 72 20 61 20 7b 20 63  div.footer a { c
7e20: 6f 6c 6f 72 3a 20 23 30 30 30 66 36 61 3b 20 7d  olor: #000f6a; }
7e30: 0d 0a 64 69 76 2e 66 6f 6f 74 65 72 20 61 3a 6c  ..div.footer a:l
7e40: 69 6e 6b 20 7b 20 63 6f 6c 6f 72 3a 20 23 30 30  ink { color: #00
7e50: 30 66 36 61 3b 20 7d 0d 0a 64 69 76 2e 66 6f 6f  0f6a; }..div.foo
7e60: 74 65 72 20 61 3a 76 69 73 69 74 65 64 20 7b 20  ter a:visited {
7e70: 63 6f 6c 6f 72 3a 20 23 30 30 30 66 36 61 3b 20  color: #000f6a;
7e80: 7d 0d 0a 64 69 76 2e 66 6f 6f 74 65 72 20 61 3a  }..div.footer a:
7e90: 68 6f 76 65 72 20 7b 20 62 61 63 6b 67 72 6f 75  hover { backgrou
7ea0: 6e 64 2d 63 6f 6c 6f 72 3a 20 23 30 30 30 66 36  nd-color: #000f6
7eb0: 61 3b 20 63 6f 6c 6f 72 3a 20 23 65 33 65 33 65  a; color: #e3e3e
7ec0: 33 3b 20 7d 0d 0a 0d 0a 2f 2a 20 76 65 72 62 61  3; }..../* verba
7ed0: 74 69 6d 20 62 6c 6f 63 6b 73 20 2a 2f 0d 0a 70  tim blocks */..p
7ee0: 72 65 2e 76 65 72 62 61 74 69 6d 20 7b 0d 0a 20  re.verbatim {..
7ef0: 20 20 62 61 63 6b 67 72 6f 75 6e 64 2d 63 6f 6c    background-col
7f00: 6f 72 3a 20 23 66 35 66 35 66 35 3b 0d 0a 20 20  or: #f5f5f5;..
7f10: 20 70 61 64 64 69 6e 67 3a 20 30 2e 35 65 6d 3b   padding: 0.5em;
7f20: 0d 0a 7d 0d 0a 0d 0a 2f 2a 20 54 68 65 20 6c 61  ..}..../* The la
7f30: 62 65 6c 2f 76 61 6c 75 65 20 70 61 69 72 73 20  bel/value pairs
7f40: 6f 6e 20 28 66 6f 72 20 65 78 61 6d 70 6c 65 29  on (for example)
7f50: 20 74 68 65 20 76 69 6e 66 6f 20 70 61 67 65 20   the vinfo page
7f60: 2a 2f 0d 0a 74 61 62 6c 65 2e 6c 61 62 65 6c 2d  */..table.label-
7f70: 76 61 6c 75 65 20 74 68 20 7b 0d 0a 20 20 76 65  value th {..  ve
7f80: 72 74 69 63 61 6c 2d 61 6c 69 67 6e 3a 20 74 6f  rtical-align: to
7f90: 70 3b 0d 0a 20 20 74 65 78 74 2d 61 6c 69 67 6e  p;..  text-align
7fa0: 3a 20 72 69 67 68 74 3b 0d 0a 20 20 70 61 64 64  : right;..  padd
7fb0: 69 6e 67 3a 20 30 2e 32 65 78 20 32 65 78 3b 0d  ing: 0.2ex 2ex;.
7fc0: 0a 7d 0d 0a 0d 0a 2f 2a 20 46 6f 72 20 6d 61 72  .}..../* For mar
7fd0: 6b 69 6e 67 20 69 6d 70 6f 72 74 61 6e 74 20 55  king important U
7fe0: 49 20 65 6c 65 6d 65 6e 74 73 20 77 68 69 63 68  I elements which
7ff0: 20 73 68 6f 75 6c 64 6e 27 74 20 62 65 0d 0a 20   shouldn't be..
8000: 20 20 6c 69 67 68 74 6c 79 20 64 69 73 6d 69 73    lightly dismis
8010: 73 65 64 2e 20 49 20 6d 61 69 6e 6c 79 20 75 73  sed. I mainly us
8020: 65 20 69 74 20 74 6f 20 6d 61 72 6b 20 22 6e 6f  e it to mark "no
8030: 74 20 79 65 74 0d 0a 20 20 20 69 6d 70 6c 65 6d  t yet..   implem
8040: 65 6e 74 65 64 22 20 70 61 72 74 73 20 6f 66 20  ented" parts of
8050: 61 20 70 61 67 65 2e 20 57 68 65 74 68 65 72 20  a page. Whether
8060: 6f 72 20 6e 6f 74 20 74 6f 20 68 61 76 65 0d 0a  or not to have..
8070: 20 20 20 61 20 27 62 6f 72 64 65 72 27 20 61 74     a 'border' at
8080: 74 72 69 62 75 74 65 20 73 65 74 20 69 73 20 61  tribute set is a
8090: 72 67 75 61 62 6c 65 2e 20 2a 2f 0d 0a 2e 61 63  rguable. */...ac
80a0: 68 74 75 6e 67 20 7b 0d 0a 20 20 63 6f 6c 6f 72  htung {..  color
80b0: 3a 20 23 66 66 30 30 30 30 3b 0d 0a 20 20 62 61  : #ff0000;..  ba
80c0: 63 6b 67 72 6f 75 6e 64 3a 20 23 66 66 66 66 30  ckground: #ffff0
80d0: 30 3b 0d 0a 20 20 62 6f 72 64 65 72 3a 20 31 70  0;..  border: 1p
80e0: 78 20 73 6f 6c 69 64 20 23 66 66 30 30 30 30 3b  x solid #ff0000;
80f0: 0d 0a 7d 0d 0a 0d 0a 74 61 62 6c 65 2e 66 6f 73  ..}....table.fos
8100: 73 69 6c 5f 64 62 5f 67 65 6e 65 72 69 63 5f 71  sil_db_generic_q
8110: 75 65 72 79 5f 76 69 65 77 20 7b 0d 0a 20 20 62  uery_view {..  b
8120: 6f 72 64 65 72 2d 73 70 61 63 69 6e 67 3a 20 30  order-spacing: 0
8130: 70 78 3b 0d 0a 20 20 62 6f 72 64 65 72 3a 20 31  px;..  border: 1
8140: 70 78 20 73 6f 6c 69 64 20 62 6c 61 63 6b 3b 0d  px solid black;.
8150: 0a 7d 0d 0a 74 61 62 6c 65 2e 66 6f 73 73 69 6c  .}..table.fossil
8160: 5f 64 62 5f 67 65 6e 65 72 69 63 5f 71 75 65 72  _db_generic_quer
8170: 79 5f 76 69 65 77 20 74 64 20 7b 0d 0a 20 20 70  y_view td {..  p
8180: 61 64 64 69 6e 67 3a 20 32 70 78 20 31 65 6d 20  adding: 2px 1em
8190: 32 70 78 20 31 65 6d 3b 0d 0a 7d 0d 0a 74 61 62  2px 1em;..}..tab
81a0: 6c 65 2e 66 6f 73 73 69 6c 5f 64 62 5f 67 65 6e  le.fossil_db_gen
81b0: 65 72 69 63 5f 71 75 65 72 79 5f 76 69 65 77 20  eric_query_view
81c0: 74 72 20 7b 0d 0a 7d 0d 0a 74 61 62 6c 65 2e 66  tr {..}..table.f
81d0: 6f 73 73 69 6c 5f 64 62 5f 67 65 6e 65 72 69 63  ossil_db_generic
81e0: 5f 71 75 65 72 79 5f 76 69 65 77 20 74 72 2e 65  _query_view tr.e
81f0: 76 65 6e 20 7b 0d 0a 20 20 62 61 63 6b 67 72 6f  ven {..  backgro
8200: 75 6e 64 3a 20 23 66 66 66 66 66 66 3b 0d 0a 7d  und: #ffffff;..}
8210: 0d 0a 74 61 62 6c 65 2e 66 6f 73 73 69 6c 5f 64  ..table.fossil_d
8220: 62 5f 67 65 6e 65 72 69 63 5f 71 75 65 72 79 5f  b_generic_query_
8230: 76 69 65 77 20 74 72 2e 6f 64 64 20 7b 0d 0a 20  view tr.odd {..
8240: 20 62 61 63 6b 67 72 6f 75 6e 64 3a 20 23 65 35   background: #e5
8250: 65 35 65 35 3b 0d 0a 7d 0d 0a 74 61 62 6c 65 2e  e5e5;..}..table.
8260: 66 6f 73 73 69 6c 5f 64 62 5f 67 65 6e 65 72 69  fossil_db_generi
8270: 63 5f 71 75 65 72 79 5f 76 69 65 77 20 74 72 2e  c_query_view tr.
8280: 68 65 61 64 65 72 20 7b 0d 0a 20 20 62 61 63 6b  header {..  back
8290: 67 72 6f 75 6e 64 3a 20 23 35 35 38 31 39 35 3b  ground: #558195;
82a0: 0d 0a 20 20 66 6f 6e 74 2d 73 69 7a 65 3a 20 31  ..  font-size: 1
82b0: 2e 35 65 6d 3b 0d 0a 20 20 63 6f 6c 6f 72 3a 20  .5em;..  color:
82c0: 23 66 66 66 66 66 66 3b 0d 0a 7d 0d 0a 3c 2f 70  #ffffff;..}..</p
82d0: 72 65 3e 0d 0a 3c 2f 6e 6f 77 69 6b 69 3e 0d 0a  re>..</nowiki>..
82e0: 3c 68 32 3e 3c 61 20 6e 61 6d 65 3d 22 73 6f 75  <h2><a name="sou
82f0: 72 63 65 2d 68 69 6c 69 67 68 74 22 3e 53 6f 75  rce-hilight">Sou
8300: 72 63 65 20 68 69 67 68 6c 69 67 68 74 69 6e 67  rce highlighting
8310: 3c 2f 61 3e 3c 2f 68 32 3e 0d 0a 3c 68 33 3e 4d  </a></h2>..<h3>M
8320: 6f 74 69 76 61 74 69 6f 6e 3c 2f 68 33 3e 0d 0a  otivation</h3>..
8330: 20 20 2a 20 20 59 6f 75 20 77 61 6e 74 20 74 6f    *  You want to
8340: 20 68 61 76 65 20 73 6f 75 72 63 65 20 63 6f 64   have source cod
8350: 65 20 68 69 67 68 6c 69 67 68 74 69 6e 67 20 66  e highlighting f
8360: 6f 72 20 74 68 65 20 66 69 6c 65 73 20 69 6e 20  or the files in
8370: 79 6f 75 72 20 72 65 70 6f 73 69 74 6f 72 79 0d  your repository.
8380: 0a 0d 0a 3c 68 33 3e 50 72 6f 62 6c 65 6d 3c 2f  ...<h3>Problem</
8390: 68 33 3e 0d 0a 54 68 65 20 6d 61 69 6e 20 70 75  h3>..The main pu
83a0: 72 70 6f 73 65 20 6f 66 20 46 6f 73 73 69 6c 20  rpose of Fossil
83b0: 69 73 20 74 6f 20 64 6f 20 76 65 72 73 69 6f 6e  is to do version
83c0: 69 6e 67 20 66 6f 72 20 73 6f 75 72 63 65 20 63  ing for source c
83d0: 6f 64 65 2e 20 41 6c 74 68 6f 75 67 68 20 69 74  ode. Although it
83e0: 20 70 72 6f 76 69 64 65 73 20 61 20 73 74 61 6e   provides a stan
83f0: 64 61 6c 6f 6e 65 20 73 65 72 76 65 72 20 61 6e  dalone server an
8400: 64 20 6c 65 74 73 20 79 6f 75 20 6e 61 76 69 67  d lets you navig
8410: 61 74 65 20 74 68 72 6f 75 67 68 20 74 68 65 20  ate through the
8420: 72 65 70 6f 73 69 74 6f 72 79 20 66 69 6c 65 73  repository files
8430: 20 61 64 64 69 74 69 6f 6e 61 6c 20 66 65 61 74   additional feat
8440: 75 72 65 73 20 6c 69 6b 65 20 73 6f 75 72 63 65  ures like source
8450: 20 63 6f 64 65 20 68 69 67 68 6c 69 67 68 74 69   code highlighti
8460: 6e 67 20 66 72 6f 6d 20 6d 79 20 70 65 72 73 70  ng from my persp
8470: 65 63 74 69 76 65 20 28 49 20 61 6d 20 6e 6f 74  ective (I am not
8480: 20 61 20 64 65 76 65 6c 6f 70 65 72 20 6f 66 20   a developer of
8490: 46 6f 73 73 69 6c 29 20 61 72 65 20 6f 75 74 20  Fossil) are out
84a0: 6f 66 20 73 63 6f 70 65 20 66 6f 72 20 61 6e 20  of scope for an
84b0: 53 43 4d 2e 20 4a 75 73 74 20 6b 65 65 70 20 74  SCM. Just keep t
84c0: 68 65 20 55 6e 69 78 20 70 72 69 6e 63 69 70 6c  he Unix principl
84d0: 65 3a 20 73 6d 61 6c 6c 20 6c 69 74 74 6c 65 20  e: small little
84e0: 70 72 6f 67 72 61 6d 73 20 74 68 61 74 20 64 6f  programs that do
84f0: 20 74 68 65 69 72 20 74 61 73 6b 20 61 6e 64 20   their task and
8500: 64 6f 20 69 74 20 77 65 6c 6c 2e 0d 0a 0d 0a 48  do it well.....H
8510: 6f 77 65 76 65 72 20 74 6f 20 68 61 76 65 20 73  owever to have s
8520: 6f 75 72 63 65 20 63 6f 64 65 20 68 69 67 68 6c  ource code highl
8530: 69 67 68 74 65 64 20 69 6e 20 74 68 65 20 70 72  ighted in the pr
8540: 65 73 65 6e 74 65 64 20 77 65 62 20 70 61 67 65  esented web page
8550: 73 20 77 6f 75 6c 64 20 73 74 69 6c 6c 20 62 65  s would still be
8560: 20 64 65 73 69 72 61 62 6c 65 2e 0d 0a 0d 0a 3c   desirable.....<
8570: 68 33 3e 53 6f 6c 75 74 69 6f 6e 3c 2f 68 33 3e  h3>Solution</h3>
8580: 0d 0a 54 68 65 72 65 20 61 72 65 20 74 77 6f 20  ..There are two
8590: 73 63 65 6e 61 72 69 6f 73 20 68 6f 77 20 74 6f  scenarios how to
85a0: 20 69 6d 70 6c 65 6d 65 6e 74 20 73 75 63 68 20   implement such
85b0: 61 20 66 65 61 74 75 72 65 3a 0d 0a 20 20 20 2a  a feature:..   *
85c0: 20 20 46 6f 73 73 69 6c 20 70 69 70 65 73 20 74    Fossil pipes t
85d0: 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 74  he source code t
85e0: 68 72 6f 75 67 68 20 61 20 66 69 6c 74 65 72 20  hrough a filter
85f0: 62 65 66 6f 72 65 20 73 65 6e 64 69 6e 67 20 69  before sending i
8600: 74 20 74 6f 20 74 68 65 20 62 72 6f 77 73 65 72  t to the browser
8610: 2e 20 54 68 65 20 66 69 6c 74 65 72 20 63 6f 75  . The filter cou
8620: 6c 64 20 62 65 20 64 65 66 69 6e 65 64 20 61 73  ld be defined as
8630: 20 61 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e   a configuration
8640: 20 6f 70 74 69 6f 6e 20 74 6f 20 46 6f 73 73 69   option to Fossi
8650: 6c 2e 20 4f 6e 65 20 73 6f 6c 75 74 69 6f 6e 20  l. One solution
8660: 66 6f 72 20 74 68 69 73 20 6d 69 67 68 74 20 62  for this might b
8670: 65 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 68  e the <a href="h
8680: 74 74 70 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72  ttp://www.gnu.or
8690: 67 2f 73 6f 66 74 77 61 72 65 2f 73 72 63 2d 68  g/software/src-h
86a0: 69 67 68 6c 69 74 65 22 3e 47 4e 55 20 53 6f 75  ighlite">GNU Sou
86b0: 72 63 65 20 63 6f 64 65 20 48 69 67 68 6c 69 67  rce code Highlig
86c0: 68 74 69 6e 67 3c 2f 61 3e 20 70 72 6f 67 72 61  hting</a> progra
86d0: 6d 2e 0d 0a 20 20 20 2a 20 20 55 73 65 20 61 20  m...   *  Use a
86e0: 4a 61 76 61 73 63 72 69 70 74 20 6c 69 62 72 61  Javascript libra
86f0: 72 79 20 74 68 61 74 20 72 65 6e 64 65 72 73 20  ry that renders
8700: 74 68 65 20 63 6f 64 65 20 77 69 74 68 69 6e 20  the code within
8710: 79 6f 75 72 20 62 72 6f 77 73 65 72 2e 20 4f 6e  your browser. On
8720: 65 20 73 6f 6c 75 74 69 6f 6e 20 66 6f 72 20 74  e solution for t
8730: 68 69 73 20 6d 69 67 68 74 20 62 65 20 3c 61 20  his might be <a
8740: 68 72 65 66 3d 22 68 74 74 70 3a 2f 2f 61 6c 65  href="http://ale
8750: 78 67 6f 72 62 61 74 63 68 65 76 2e 63 6f 6d 2f  xgorbatchev.com/
8760: 53 79 6e 74 61 78 48 69 67 68 6c 69 67 68 74 65  SyntaxHighlighte
8770: 72 22 3e 41 6c 65 78 20 47 6f 72 62 61 74 63 68  r">Alex Gorbatch
8780: 65 76 27 73 20 53 79 6e 74 61 78 20 48 69 67 68  ev's Syntax High
8790: 6c 69 67 68 74 65 72 3c 2f 61 3e 0d 0a 0d 0a 49  lighter</a>....I
87a0: 20 65 73 74 69 6d 61 74 65 20 74 68 61 74 20 74   estimate that t
87b0: 68 65 20 3c 69 3e 70 69 70 65 3c 2f 69 3e 20 73  he <i>pipe</i> s
87c0: 6f 6c 75 74 69 6f 6e 20 6e 65 65 64 73 20 73 6f  olution needs so
87d0: 6d 65 20 6d 6f 72 65 20 77 6f 72 6b 2f 20 63 6f  me more work/ co
87e0: 64 65 20 63 68 61 6e 67 65 73 2e 20 54 68 75 73  de changes. Thus
87f0: 20 49 20 61 6d 20 73 6f 6c 65 6c 79 20 6c 6f 6f   I am solely loo
8800: 6b 69 6e 67 20 61 74 20 74 68 65 20 4a 61 76 61  king at the Java
8810: 73 63 72 69 70 74 20 73 6f 6c 75 74 69 6f 6e 2e  script solution.
8820: 0d 0a 0d 0a 54 68 65 20 53 79 6e 74 61 78 48 69  ....The SyntaxHi
8830: 67 68 6c 69 67 68 74 65 72 20 69 73 20 61 20 6c  ghlighter is a l
8840: 69 62 72 61 72 79 20 6f 66 20 73 6f 6d 65 20 4a  ibrary of some J
8850: 61 76 61 73 63 72 69 70 74 20 66 69 6c 65 73 20  avascript files
8860: 61 6e 64 20 61 20 43 53 53 20 66 69 6c 65 2e 20  and a CSS file.
8870: 59 6f 75 20 68 61 76 65 20 74 68 65 20 6f 70 74  You have the opt
8880: 69 6f 6e 20 74 6f 20 69 6e 63 6c 75 64 65 20 61  ion to include a
8890: 6c 6c 20 74 68 65 20 66 69 6c 65 73 20 69 6e 74  ll the files int
88a0: 6f 20 79 6f 75 72 20 72 65 70 6f 73 69 74 6f 72  o your repositor
88b0: 79 2c 20 70 75 74 20 74 68 65 6d 20 6f 6e 20 61  y, put them on a
88c0: 20 73 65 72 76 65 72 20 79 6f 75 20 68 61 76 65   server you have
88d0: 20 61 63 63 65 73 73 20 74 6f 20 6f 72 20 75 73   access to or us
88e0: 65 20 74 68 65 20 66 69 6c 65 73 20 68 6f 73 74  e the files host
88f0: 65 64 20 61 74 20 61 6c 65 78 67 6f 72 62 61 74  ed at alexgorbat
8900: 63 68 65 76 2e 63 6f 6d 2e 20 54 68 65 20 6c 61  chev.com. The la
8910: 74 74 65 72 20 6d 61 79 20 6f 6e 6c 79 20 62 65  tter may only be
8920: 20 61 6e 20 6f 70 74 69 6f 6e 20 69 66 20 79 6f   an option if yo
8930: 75 20 61 72 65 20 63 6f 6e 6e 65 63 74 65 64 20  u are connected
8940: 74 6f 20 69 6e 74 65 72 6e 65 74 20 61 6c 6c 20  to internet all
8950: 74 68 65 20 74 69 6d 65 2e 0d 0a 54 6f 20 61 64  the time...To ad
8960: 64 20 74 68 65 20 73 79 6e 74 61 78 20 68 69 67  d the syntax hig
8970: 68 6c 69 67 68 74 69 6e 67 20 63 6c 61 73 73 20  hlighting class
8980: 74 6f 20 74 68 65 20 26 6c 74 3b 70 72 65 26 67  to the &lt;pre&g
8990: 74 3b 20 65 6c 65 6d 65 6e 74 2c 20 79 6f 75 20  t; element, you
89a0: 61 6c 73 6f 20 6e 65 65 64 20 61 20 63 6f 70 79  also need a copy
89b0: 20 6f 66 20 3c 61 20 68 72 65 66 3d 22 68 74 74   of <a href="htt
89c0: 70 3a 2f 2f 6a 71 75 65 72 79 2e 63 6f 6d 2f 22  p://jquery.com/"
89d0: 3e 6a 71 75 65 72 79 3c 2f 61 3e 20 69 6e 20 74  >jquery</a> in t
89e0: 68 65 20 53 79 6e 74 61 78 48 69 67 68 6c 69 67  he SyntaxHighlig
89f0: 68 74 65 72 20 64 69 72 65 63 74 6f 72 79 2e 20  hter directory.
8a00: 0d 0a 0d 0a 46 6f 72 20 73 79 6e 74 61 78 20 68  ....For syntax h
8a10: 69 67 68 6c 69 67 68 74 69 6e 67 20 74 6f 20 77  ighlighting to w
8a20: 6f 72 6b 20 74 68 65 20 48 65 61 64 65 72 20 61  ork the Header a
8a30: 6e 64 20 46 6f 6f 74 65 72 20 74 65 6d 70 6c 61  nd Footer templa
8a40: 74 65 73 20 6e 65 65 64 20 74 6f 20 62 65 20 6d  tes need to be m
8a50: 6f 64 69 66 69 65 64 2e 0d 0a 0d 0a 54 68 65 20  odified.....The
8a60: 65 78 61 6d 70 6c 65 73 20 62 65 6c 6f 77 20 61  examples below a
8a70: 73 73 75 6d 65 20 79 6f 75 20 68 61 76 65 20 61  ssume you have a
8a80: 64 64 65 64 20 74 68 65 20 73 79 6e 74 61 78 20  dded the syntax
8a90: 68 69 67 68 6c 69 67 68 74 69 6e 67 20 6c 69 62  highlighting lib
8aa0: 72 61 72 79 20 74 6f 20 79 6f 75 72 20 72 65 70  rary to your rep
8ab0: 6f 73 69 74 6f 72 79 20 69 6e 74 6f 20 61 20 64  ository into a d
8ac0: 69 72 65 63 74 6f 72 79 20 77 77 77 2f 53 79 6e  irectory www/Syn
8ad0: 74 61 78 48 69 67 68 6c 69 67 68 74 65 72 2e 0d  taxHighlighter..
8ae0: 0a 54 6f 20 6d 61 6b 65 20 69 74 20 65 61 73 69  .To make it easi
8af0: 65 72 20 74 6f 20 73 77 69 74 63 68 20 62 65 74  er to switch bet
8b00: 77 65 65 6e 20 74 68 65 20 73 63 72 69 70 74 73  ween the scripts
8b10: 20 62 65 65 69 6e 67 20 70 61 72 74 20 6f 66 20   beeing part of
8b20: 74 68 65 20 72 65 70 6f 73 69 74 6f 72 79 20 61  the repository a
8b30: 6e 64 20 74 68 65 20 73 63 72 69 70 74 73 20 62  nd the scripts b
8b40: 65 65 69 6e 67 20 68 6f 73 74 65 64 20 6f 6e 20  eeing hosted on
8b50: 74 68 65 20 69 6e 74 65 72 6e 65 74 2c 20 74 68  the internet, th
8b60: 65 20 68 65 61 64 65 72 20 74 65 6d 70 6c 61 74  e header templat
8b70: 65 20 64 65 66 69 6e 65 73 20 74 77 6f 20 54 48  e defines two TH
8b80: 31 20 76 61 72 69 61 62 6c 65 73 3a 0d 0a 20 20  1 variables:..
8b90: 0d 0a 20 20 2a 20 20 68 69 67 68 6c 69 67 68 74  ..  *  highlight
8ba0: 65 72 70 61 74 68 20 2d 20 75 73 65 64 20 66 6f  erpath - used fo
8bb0: 72 20 61 6c 6c 20 72 65 66 65 72 65 6e 63 65 73  r all references
8bc0: 20 74 6f 20 74 68 65 20 61 63 74 75 61 6c 20 6c   to the actual l
8bd0: 6f 63 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 53  ocation of the S
8be0: 79 6e 74 61 78 48 69 67 68 6c 69 67 68 74 65 72  yntaxHighlighter
8bf0: 2e 20 4a 75 73 74 20 73 65 74 20 74 68 6f 73 65  . Just set those
8c00: 20 76 61 72 69 61 62 6c 65 20 74 6f 20 74 68 65   variable to the
8c10: 20 62 61 73 65 70 61 74 68 20 6f 66 20 53 79 6e   basepath of Syn
8c20: 74 61 78 48 69 67 68 6c 69 67 68 74 65 72 20 61  taxHighlighter a
8c30: 6e 64 20 79 6f 75 27 72 65 20 64 6f 6e 65 2e 20  nd you're done.
8c40: 49 66 20 79 6f 75 20 77 6f 75 6c 64 20 6c 69 6b  If you would lik
8c50: 65 20 74 6f 20 75 73 65 20 74 68 65 20 68 6f 73  e to use the hos
8c60: 74 65 64 20 76 65 72 73 69 6f 6e 20 61 74 20 61  ted version at a
8c70: 6c 65 78 67 6f 72 62 61 74 63 68 65 76 2e 63 6f  lexgorbatchev.co
8c80: 6d 2c 20 72 65 70 6c 61 63 65 20 3c 69 3e 24 62  m, replace <i>\$b
8c90: 61 73 65 75 72 6c 2f 64 6f 63 2f 74 69 70 2f 77  aseurl/doc/tip/w
8ca0: 77 77 2f 53 79 6e 74 61 78 48 69 67 68 6c 69 67  ww/SyntaxHighlig
8cb0: 68 74 65 72 3c 2f 69 3e 20 77 69 74 68 20 3c 69  hter</i> with <i
8cc0: 3e 68 74 74 70 3a 2f 2f 61 6c 65 78 67 6f 72 62  >http://alexgorb
8cd0: 61 74 63 68 65 76 2e 63 6f 6d 2f 70 75 62 2f 73  atchev.com/pub/s
8ce0: 68 2f 63 75 72 72 65 6e 74 3c 2f 69 3e 0d 0a 20  h/current</i>..
8cf0: 20 2a 20 20 6a 71 75 65 72 79 70 61 74 68 20 20   *  jquerypath
8d00: 2d 20 75 73 65 64 20 74 6f 20 64 65 66 69 6e 65  - used to define
8d10: 20 74 68 65 20 6c 6f 63 61 74 69 6f 6e 20 6f 66   the location of
8d20: 20 74 68 65 20 75 73 65 64 20 6a 71 75 65 72 79   the used jquery
8d30: 20 73 63 72 69 70 74 2e 20 49 66 20 79 6f 75 20   script. If you
8d40: 77 61 6e 74 20 74 6f 20 75 73 65 20 61 20 68 6f  want to use a ho
8d50: 73 74 65 64 20 76 65 72 73 69 6f 6e 2c 20 72 65  sted version, re
8d60: 70 6c 61 63 65 20 3c 69 3e 24 62 61 73 65 75 72  place <i>\$baseur
8d70: 6c 2f 64 6f 63 2f 74 69 70 2f 77 77 77 2f 53 79  l/doc/tip/www/Sy
8d80: 6e 74 61 78 48 69 67 68 6c 69 67 68 74 65 72 2f  ntaxHighlighter/
8d90: 6a 71 75 65 72 79 2d 31 2e 35 2e 6d 69 6e 2e 6a  jquery-1.5.min.j
8da0: 73 3c 2f 69 3e 20 77 69 74 68 20 20 3c 69 3e 68  s</i> with  <i>h
8db0: 74 74 70 3a 2f 2f 63 6f 64 65 2e 6a 71 75 65 72  ttp://code.jquer
8dc0: 79 2e 63 6f 6d 2f 6a 71 75 65 72 79 2d 31 2e 35  y.com/jquery-1.5
8dd0: 2e 6d 69 6e 2e 6a 73 3c 2f 69 3e 20 6f 72 20 6f  .min.js</i> or o
8de0: 6e 65 20 6f 66 20 74 68 65 20 6f 74 68 65 72 20  ne of the other
8df0: 55 52 4c 73 20 61 76 61 69 6c 62 6c 65 20 61 74  URLs availble at
8e00: 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 68 74   the <a href="ht
8e10: 74 70 3a 2f 2f 64 6f 63 73 2e 6a 71 75 65 72 79  tp://docs.jquery
8e20: 2e 63 6f 6d 2f 44 6f 77 6e 6c 6f 61 64 69 6e 67  .com/Downloading
8e30: 5f 6a 51 75 65 72 79 23 43 44 4e 5f 48 6f 73 74  _jQuery#CDN_Host
8e40: 65 64 5f 6a 51 75 65 72 79 22 3e 6a 71 75 65 72  ed_jQuery">jquer
8e50: 79 20 64 6f 77 6e 6c 6f 61 64 20 70 61 67 65 3c  y download page<
8e60: 2f 61 3e 2e 0d 0a 0d 0a 3c 70 3e 0d 0a 3c 62 3e  /a>.....<p>..<b>
8e70: 48 65 61 64 65 72 3c 2f 62 3e 0d 0a 3c 70 72 65  Header</b>..<pre
8e80: 3e 0d 0a 26 6c 74 3b 68 74 6d 6c 26 67 74 3b 0d  >..&lt;html&gt;.
8e90: 0a 20 26 6c 74 3b 68 65 61 64 26 67 74 3b 0d 0a  . &lt;head&gt;..
8ea0: 20 26 6c 74 3b 74 68 31 26 67 74 3b 0d 0a 20 20   &lt;th1&gt;..
8eb0: 20 73 65 74 20 68 69 67 68 6c 69 67 68 74 65 72   set highlighter
8ec0: 70 61 74 68 20 22 24 62 61 73 65 75 72 6c 2f 64  path "\$baseurl/d
8ed0: 6f 63 2f 74 69 70 2f 77 77 77 2f 53 79 6e 74 61  oc/tip/www/Synta
8ee0: 78 48 69 67 68 6c 69 67 68 74 65 72 22 0d 0a 20  xHighlighter"..
8ef0: 20 20 73 65 74 20 6a 71 75 65 72 79 70 61 74 68    set jquerypath
8f00: 20 22 24 62 61 73 65 75 72 6c 2f 64 6f 63 2f 74   "\$baseurl/doc/t
8f10: 69 70 2f 77 77 77 2f 53 79 6e 74 61 78 48 69 67  ip/www/SyntaxHig
8f20: 68 6c 69 67 68 74 65 72 2f 6a 71 75 65 72 79 2d  hlighter/jquery-
8f30: 31 2e 35 2e 6d 69 6e 2e 6a 73 22 0d 0a 20 26 6c  1.5.min.js".. &l
8f40: 74 3b 2f 74 68 31 26 67 74 3b 20 0d 0a 20 26 6c  t;/th1&gt; .. &l
8f50: 74 3b 74 69 74 6c 65 26 67 74 3b 24 26 6c 74 3b  t;title&gt;\$&lt;
8f60: 70 72 6f 6a 65 63 74 5f 6e 61 6d 65 26 67 74 3b  project_name&gt;
8f70: 3a 20 24 26 6c 74 3b 74 69 74 6c 65 26 67 74 3b  : \$&lt;title&gt;
8f80: 26 6c 74 3b 2f 74 69 74 6c 65 26 67 74 3b 0d 0a  &lt;/title&gt;..
8f90: 20 26 6c 74 3b 6c 69 6e 6b 20 72 65 6c 3d 22 61   &lt;link rel="a
8fa0: 6c 74 65 72 6e 61 74 65 22 20 74 79 70 65 3d 22  lternate" type="
8fb0: 61 70 70 6c 69 63 61 74 69 6f 6e 2f 72 73 73 2b  application/rss+
8fc0: 78 6d 6c 22 20 74 69 74 6c 65 3d 22 52 53 53 20  xml" title="RSS
8fd0: 46 65 65 64 22 20 68 72 65 66 3d 22 24 62 61 73  Feed" href="\$bas
8fe0: 65 75 72 6c 2f 74 69 6d 65 6c 69 6e 65 2e 72 73  eurl/timeline.rs
8ff0: 73 22 26 67 74 3b 0d 0a 20 26 6c 74 3b 6c 69 6e  s"&gt;.. &lt;lin
9000: 6b 20 72 65 6c 3d 22 73 74 79 6c 65 73 68 65 65  k rel="styleshee
9010: 74 22 20 68 72 65 66 3d 22 24 62 61 73 65 75 72  t" href="\$baseur
9020: 6c 2f 73 74 79 6c 65 2e 63 73 73 22 20 74 79 70  l/style.css" typ
9030: 65 3d 22 74 65 78 74 2f 63 73 73 22 20 6d 65 64  e="text/css" med
9040: 69 61 3d 22 73 63 72 65 65 6e 22 26 67 74 3b 0d  ia="screen"&gt;.
9050: 0a 20 26 6c 74 3b 6c 69 6e 6b 20 72 65 6c 3d 22  . &lt;link rel="
9060: 73 74 79 6c 65 73 68 65 65 74 22 20 68 72 65 66  stylesheet" href
9070: 3d 22 24 68 69 67 68 6c 69 67 68 74 65 72 70 61  ="\$highlighterpa
9080: 74 68 2f 73 74 79 6c 65 73 2f 73 68 43 6f 72 65  th/styles/shCore
9090: 44 65 66 61 75 6c 74 2e 63 73 73 22 20 74 79 70  Default.css" typ
90a0: 65 3d 22 74 65 78 74 2f 63 73 73 22 20 6d 65 64  e="text/css" med
90b0: 69 61 3d 22 73 63 72 65 65 6e 22 20 2f 26 67 74  ia="screen" /&gt
90c0: 3b 0d 0a 20 26 6c 74 3b 73 63 72 69 70 74 20 20  ;.. &lt;script
90d0: 6c 61 6e 67 75 61 67 65 3d 22 6a 61 76 61 73 63  language="javasc
90e0: 72 69 70 74 22 20 73 72 63 3d 22 24 6a 71 75 65  ript" src="\$jque
90f0: 72 79 70 61 74 68 22 26 67 74 3b 26 6c 74 3b 2f  rypath"&gt;&lt;/
9100: 73 63 72 69 70 74 26 67 74 3b 09 20 20 20 0d 0a  script&gt;.   ..
9110: 20 26 6c 74 3b 2f 68 65 61 64 26 67 74 3b 0d 0a   &lt;/head&gt;..
9120: 2e 20 2e 20 2e 0d 0a 3c 2f 70 72 65 3e 0d 0a 3c  . . ...</pre>..<
9130: 2f 70 3e 3c 70 3e 0d 0a 3c 62 3e 46 6f 6f 74 65  /p><p>..<b>Foote
9140: 72 3c 2f 62 3e 0d 0a 0d 0a 57 69 74 68 20 76 65  r</b>....With ve
9150: 72 73 69 6f 6e 20 33 2e 78 20 6f 66 20 53 79 6e  rsion 3.x of Syn
9160: 74 61 78 48 69 67 68 6c 69 67 68 74 65 72 20 69  taxHighlighter i
9170: 74 20 69 73 20 70 6f 73 73 69 62 6c 65 20 74 6f  t is possible to
9180: 20 6c 6f 61 64 20 74 68 65 20 6c 61 6e 67 75 61   load the langua
9190: 67 65 20 73 70 65 63 69 66 69 63 20 73 63 72 69  ge specific scri
91a0: 70 74 73 20 6f 6e 20 64 65 6d 61 6e 64 2e 20 54  pts on demand. T
91b0: 68 65 20 66 6f 6f 74 65 72 20 74 65 6d 70 6c 61  he footer templa
91c0: 74 65 20 75 73 65 73 20 74 68 69 73 20 66 65 61  te uses this fea
91d0: 74 75 72 65 20 74 6f 20 69 64 65 6e 74 69 66 79  ture to identify
91e0: 20 74 68 65 20 70 72 6f 67 72 61 6d 6d 69 6e 67   the programming
91f0: 20 6c 61 6e 67 75 61 67 65 20 6f 66 20 74 68 65   language of the
9200: 20 73 6f 75 72 63 65 66 69 6c 65 20 62 79 20 6c   sourcefile by l
9210: 6f 6f 6b 69 6e 67 20 61 74 20 74 68 65 20 65 78  ooking at the ex
9220: 74 65 6e 73 69 6f 6e 20 6f 66 20 74 68 65 20 66  tension of the f
9230: 69 6c 65 20 61 6e 64 20 74 68 65 6e 20 61 64 64  ile and then add
9240: 73 20 74 68 65 20 61 70 70 72 6f 70 72 69 61 74  s the appropriat
9250: 65 20 62 72 75 73 68 20 74 6f 20 74 68 65 20 26  e brush to the &
9260: 6c 74 3b 70 72 65 26 67 74 3b 20 65 6c 65 6d 65  lt;pre&gt; eleme
9270: 6e 74 2e 20 53 79 6e 74 61 78 48 69 67 68 6c 69  nt. SyntaxHighli
9280: 67 68 74 65 72 20 77 69 6c 6c 20 74 68 65 6e 20  ghter will then
9290: 6c 6f 61 64 20 6f 6e 6c 79 20 74 68 65 20 62 72  load only the br
92a0: 75 73 68 20 6e 65 65 64 65 64 20 74 6f 20 68 69  ush needed to hi
92b0: 67 68 6c 69 67 68 74 20 74 68 65 20 63 75 72 72  ghlight the curr
92c0: 65 6e 74 20 70 61 67 65 2e 0d 0a 0d 0a 3c 70 72  ent page.....<pr
92d0: 65 3e 0d 0a 26 6c 74 3b 64 69 76 20 63 6c 61 73  e>..&lt;div clas
92e0: 73 3d 22 66 6f 6f 74 65 72 22 26 67 74 3b 0d 0a  s="footer"&gt;..
92f0: 46 6f 73 73 69 6c 20 76 65 72 73 69 6f 6e 20 24  Fossil version \$
9300: 6d 61 6e 69 66 65 73 74 5f 76 65 72 73 69 6f 6e  manifest_version
9310: 20 24 6d 61 6e 69 66 65 73 74 5f 64 61 74 65 0d   \$manifest_date.
9320: 0a 26 6c 74 3b 2f 64 69 76 26 67 74 3b 0d 0a 26  .&lt;/div&gt;..&
9330: 6c 74 3b 73 63 72 69 70 74 20 6c 61 6e 67 75 61  lt;script langua
9340: 67 65 3d 22 6a 61 76 61 73 63 72 69 70 74 22 20  ge="javascript"
9350: 73 72 63 3d 22 24 68 69 67 68 6c 69 67 68 74 65  src="\$highlighte
9360: 72 70 61 74 68 2f 73 63 72 69 70 74 73 2f 73 68  rpath/scripts/sh
9370: 43 6f 72 65 2e 6a 73 22 26 67 74 3b 26 6c 74 3b  Core.js"&gt;&lt;
9380: 2f 73 63 72 69 70 74 26 67 74 3b 0d 0a 26 6c 74  /script&gt;..&lt
9390: 3b 73 63 72 69 70 74 20 6c 61 6e 67 75 61 67 65  ;script language
93a0: 3d 22 6a 61 76 61 73 63 72 69 70 74 22 20 73 72  ="javascript" sr
93b0: 63 3d 22 24 68 69 67 68 6c 69 67 68 74 65 72 70  c="\$highlighterp
93c0: 61 74 68 2f 73 63 72 69 70 74 73 2f 73 68 41 75  ath/scripts/shAu
93d0: 74 6f 6c 6f 61 64 65 72 2e 6a 73 22 3e 26 6c 74  toloader.js">&lt
93e0: 3b 2f 73 63 72 69 70 74 26 67 74 3b 0d 0a 26 6c  ;/script&gt;..&l
93f0: 74 3b 73 63 72 69 70 74 20 6c 61 6e 67 75 61 67  t;script languag
9400: 65 3d 22 6a 61 76 61 73 63 72 69 70 74 22 26 67  e="javascript"&g
9410: 74 3b 0d 0a 66 75 6e 63 74 69 6f 6e 20 70 61 74  t;..function pat
9420: 68 28 29 0d 0a 7b 0d 0a 20 20 76 61 72 20 61 72  h()..{..  var ar
9430: 67 73 20 3d 20 61 72 67 75 6d 65 6e 74 73 2c 20  gs = arguments,
9440: 72 65 73 75 6c 74 20 3d 20 26 23 39 31 3b 26 23  result = &#91;&#
9450: 39 33 3b 3b 20 20 20 20 20 20 20 0d 0a 20 20 66  93;;       ..  f
9460: 6f 72 28 76 61 72 20 69 20 3d 20 30 3b 20 69 20  or(var i = 0; i
9470: 3c 20 61 72 67 73 2e 6c 65 6e 67 74 68 3b 20 69  < args.length; i
9480: 2b 2b 29 0d 0a 20 20 20 20 20 20 72 65 73 75 6c  ++)..      resul
9490: 74 2e 70 75 73 68 28 61 72 67 73 26 23 39 31 3b  t.push(args&#91;
94a0: 69 26 23 39 33 3b 2e 72 65 70 6c 61 63 65 28 27  i&#93;.replace('
94b0: 40 27 2c 20 27 24 68 69 67 68 6c 69 67 68 74 65  @', '\$highlighte
94c0: 72 70 61 74 68 2f 73 63 72 69 70 74 73 2f 27 29  rpath/scripts/')
94d0: 29 3b 20 20 20 20 20 20 20 0d 0a 20 20 72 65 74  );       ..  ret
94e0: 75 72 6e 20 72 65 73 75 6c 74 0d 0a 7d 3b 0d 0a  urn result..};..
94f0: 2f 2f 20 44 6f 20 74 68 65 20 68 69 67 68 6c 69  // Do the highli
9500: 67 68 74 69 6e 67 20 6f 6e 6c 79 20 6f 6e 20 61  ghting only on a
9510: 72 74 69 66 61 63 74 20 70 61 67 65 73 0d 0a 69  rtifact pages..i
9520: 66 20 28 64 6f 63 75 6d 65 6e 74 2e 67 65 74 45  f (document.getE
9530: 6c 65 6d 65 6e 74 73 42 79 54 61 67 4e 61 6d 65  lementsByTagName
9540: 28 22 74 69 74 6c 65 22 29 26 23 39 31 3b 30 26  ("title")&#91;0&
9550: 23 39 33 3b 2e 69 6e 6e 65 72 48 54 4d 4c 2e 69  #93;.innerHTML.i
9560: 6e 64 65 78 4f 66 28 22 41 72 74 69 66 61 63 74  ndexOf("Artifact
9570: 22 29 20 21 3d 20 2d 31 29 0d 0a 7b 0d 0a 20 20  ") != -1)..{..
9580: 20 20 2f 2f 20 74 72 79 20 74 6f 20 66 69 6e 64    // try to find
9590: 20 6f 75 74 20 74 68 65 20 66 69 6c 65 20 74 79   out the file ty
95a0: 70 65 20 62 79 20 6c 6f 6f 6b 69 6e 67 20 61 74  pe by looking at
95b0: 20 74 68 65 20 66 69 6c 65 20 6e 61 6d 65 73 20   the file names
95c0: 65 78 74 65 6e 73 69 6f 6e 0d 0a 20 20 20 20 76  extension..    v
95d0: 61 72 20 66 69 6c 65 20 3d 20 64 6f 63 75 6d 65  ar file = docume
95e0: 6e 74 2e 67 65 74 45 6c 65 6d 65 6e 74 73 42 79  nt.getElementsBy
95f0: 54 61 67 4e 61 6d 65 28 22 62 6c 6f 63 6b 71 75  TagName("blockqu
9600: 6f 74 65 22 29 26 23 39 31 3b 30 26 23 39 33 3b  ote")&#91;0&#93;
9610: 2e 67 65 74 45 6c 65 6d 65 6e 74 73 42 79 54 61  .getElementsByTa
9620: 67 4e 61 6d 65 28 22 61 22 29 26 23 39 31 3b 30  gName("a")&#91;0
9630: 26 23 39 33 3b 2e 69 6e 6e 65 72 48 54 4d 4c 3b  &#93;.innerHTML;
9640: 0d 0a 20 20 20 20 76 61 72 20 65 78 74 50 6f 73  ..    var extPos
9650: 20 3d 20 66 69 6c 65 2e 6c 61 73 74 49 6e 64 65   = file.lastInde
9660: 78 4f 66 28 22 2e 22 29 3b 0d 0a 20 20 20 20 76  xOf(".");..    v
9670: 61 72 20 65 78 74 65 6e 73 69 6f 6e 20 3d 20 22  ar extension = "
9680: 22 3b 0d 0a 20 20 20 20 69 66 20 28 65 78 74 50  ";..    if (extP
9690: 6f 73 20 21 3d 20 2d 31 29 0d 0a 20 20 20 20 20  os != -1)..
96a0: 20 20 65 78 74 65 6e 73 69 6f 6e 20 3d 20 66 69    extension = fi
96b0: 6c 65 2e 73 75 62 73 74 72 69 6e 67 28 65 78 74  le.substring(ext
96c0: 50 6f 73 20 2b 20 31 29 3b 0d 0a 20 20 20 20 2f  Pos + 1);..    /
96d0: 2f 20 73 65 74 20 61 20 64 65 66 61 75 6c 74 20  / set a default
96e0: 66 6f 72 20 65 78 74 65 6e 73 69 6f 6e 73 20 6e  for extensions n
96f0: 6f 74 20 72 65 63 6f 67 6e 69 7a 65 64 0d 0a 20  ot recognized..
9700: 20 20 20 76 61 72 20 62 72 75 73 68 20 3d 20 22     var brush = "
9710: 62 72 75 73 68 3a 20 74 65 78 74 22 3b 0d 0a 09  brush: text";...
9720: 2f 2f 20 63 68 65 63 6b 20 74 68 65 20 65 78 74  // check the ext
9730: 65 6e 73 69 6f 6e 20 74 6f 20 73 65 6c 65 63 74  ension to select
9740: 20 74 68 65 20 62 72 75 73 68 20 66 6f 72 20 68   the brush for h
9750: 69 67 68 6c 69 67 68 74 69 6e 67 0d 0a 20 20 20  ighlighting..
9760: 20 69 66 20 28 65 78 74 65 6e 73 69 6f 6e 20 3d   if (extension =
9770: 3d 20 22 63 73 22 29 0d 0a 20 20 20 20 20 20 20  = "cs")..
9780: 20 62 72 75 73 68 20 3d 20 22 62 72 75 73 68 3a   brush = "brush:
9790: 20 63 2d 73 68 61 72 70 22 3b 0d 0a 20 20 20 20   c-sharp";..
97a0: 65 6c 73 65 20 69 66 20 28 65 78 74 65 6e 73 69  else if (extensi
97b0: 6f 6e 20 3d 3d 20 22 76 62 22 29 0d 0a 20 20 20  on == "vb")..
97c0: 20 20 20 20 20 62 72 75 73 68 20 3d 20 22 62 72       brush = "br
97d0: 75 73 68 3a 20 76 62 22 3b 0d 0a 20 20 20 20 65  ush: vb";..    e
97e0: 6c 73 65 20 69 66 20 28 65 78 74 65 6e 73 69 6f  lse if (extensio
97f0: 6e 20 3d 3d 20 22 78 6d 6c 22 20 7c 7c 20 65 78  n == "xml" || ex
9800: 74 65 6e 73 69 6f 6e 20 3d 3d 20 22 78 73 64 22  tension == "xsd"
9810: 20 7c 7c 20 65 78 74 65 6e 73 69 6f 6e 20 3d 3d   || extension ==
9820: 20 22 78 73 6c 74 22 20 7c 7c 20 65 78 74 65 6e   "xslt" || exten
9830: 73 69 6f 6e 20 3d 3d 20 22 61 6d 6c 22 20 7c 7c  sion == "aml" ||
9840: 20 65 78 74 65 6e 73 69 6f 6e 20 3d 3d 20 22 73   extension == "s
9850: 68 66 62 70 72 6f 6a 22 20 7c 7c 20 65 78 74 65  hfbproj" || exte
9860: 6e 73 69 6f 6e 20 3d 3d 20 22 63 73 70 72 6f 6a  nsion == "csproj
9870: 22 29 0d 0a 20 20 20 20 20 20 20 20 62 72 75 73  ")..        brus
9880: 68 20 3d 20 22 62 72 75 73 68 3a 20 78 6d 6c 22  h = "brush: xml"
9890: 3b 0d 0a 20 20 20 20 65 6c 73 65 20 69 66 20 28  ;..    else if (
98a0: 65 78 74 65 6e 73 69 6f 6e 20 3d 3d 20 22 63 6d  extension == "cm
98b0: 64 22 20 7c 7c 20 65 78 74 65 6e 73 69 6f 6e 20  d" || extension
98c0: 3d 3d 20 22 73 68 22 29 0d 0a 20 20 20 20 20 20  == "sh")..
98d0: 20 20 62 72 75 73 68 20 3d 20 22 62 72 75 73 68    brush = "brush
98e0: 3a 20 73 68 65 6c 6c 22 3b 0d 0a 20 20 20 20 65  : shell";..    e
98f0: 6c 73 65 20 69 66 20 28 65 78 74 65 6e 73 69 6f  lse if (extensio
9900: 6e 20 3d 3d 20 22 73 71 6c 22 29 0d 0a 20 20 20  n == "sql")..
9910: 20 20 20 20 20 62 72 75 73 68 20 3d 20 22 62 72       brush = "br
9920: 75 73 68 3a 20 73 71 6c 22 3b 0d 0a 20 20 20 20  ush: sql";..
9930: 65 6c 73 65 20 69 66 20 28 65 78 74 65 6e 73 69  else if (extensi
9940: 6f 6e 20 3d 3d 20 22 63 22 20 7c 7c 20 65 78 74  on == "c" || ext
9950: 65 6e 73 69 6f 6e 20 3d 3d 20 22 63 70 70 22 20  ension == "cpp"
9960: 7c 7c 20 65 78 74 65 6e 73 69 6f 6e 20 3d 3d 20  || extension ==
9970: 22 63 78 78 22 20 7c 7c 20 65 78 74 65 6e 73 69  "cxx" || extensi
9980: 6f 6e 20 3d 3d 20 22 63 63 22 20 7c 7c 20 65 78  on == "cc" || ex
9990: 74 65 6e 73 69 6f 6e 20 3d 3d 20 22 68 22 20 7c  tension == "h" |
99a0: 7c 20 65 78 74 65 6e 73 69 6f 6e 20 3d 3d 20 22  | extension == "
99b0: 68 70 70 22 29 0d 0a 20 20 20 20 20 20 20 20 62  hpp")..        b
99c0: 72 75 73 68 20 3d 20 22 62 72 75 73 68 3a 20 63  rush = "brush: c
99d0: 70 70 22 3b 0d 0a 20 20 20 20 65 6c 73 65 20 69  pp";..    else i
99e0: 66 20 28 65 78 74 65 6e 73 69 6f 6e 20 3d 3d 20  f (extension ==
99f0: 22 6a 73 22 29 0d 0a 20 20 20 20 20 20 20 20 62  "js")..        b
9a00: 72 75 73 68 20 3d 20 22 62 72 75 73 68 3a 20 6a  rush = "brush: j
9a10: 61 76 61 73 63 72 69 70 74 22 3b 0d 0a 20 20 20  avascript";..
9a20: 20 65 6c 73 65 20 69 66 20 28 65 78 74 65 6e 73   else if (extens
9a30: 69 6f 6e 20 3d 3d 20 22 63 73 73 22 29 0d 0a 20  ion == "css")..
9a40: 20 20 20 20 20 20 20 62 72 75 73 68 20 3d 20 22         brush = "
9a50: 62 72 75 73 68 3a 20 63 73 73 22 3b 0d 0a 20 20  brush: css";..
9a60: 20 20 65 6c 73 65 20 69 66 20 28 65 78 74 65 6e    else if (exten
9a70: 73 69 6f 6e 20 3d 3d 20 22 70 68 70 22 29 0d 0a  sion == "php")..
9a80: 20 20 20 20 20 20 20 20 62 72 75 73 68 20 3d 20          brush =
9a90: 22 62 72 75 73 68 3a 20 70 68 70 22 3b 0d 0a 20  "brush: php";..
9aa0: 20 20 20 65 6c 73 65 20 69 66 20 28 65 78 74 65     else if (exte
9ab0: 6e 73 69 6f 6e 20 3d 3d 20 22 70 6c 22 29 0d 0a  nsion == "pl")..
9ac0: 20 20 20 20 20 20 20 20 62 72 75 73 68 20 3d 20          brush =
9ad0: 22 62 72 75 73 68 3a 20 70 65 72 6c 22 3b 0d 0a  "brush: perl";..
9ae0: 20 20 20 20 65 6c 73 65 20 69 66 20 28 65 78 74      else if (ext
9af0: 65 6e 73 69 6f 6e 20 3d 3d 20 22 6a 61 76 61 22  ension == "java"
9b00: 29 0d 0a 20 20 20 20 20 20 20 20 62 72 75 73 68  )..        brush
9b10: 20 3d 20 22 62 72 75 73 68 3a 20 6a 61 76 61 22   = "brush: java"
9b20: 3b 0d 0a 20 20 20 20 65 6c 73 65 20 69 66 20 28  ;..    else if (
9b30: 65 78 74 65 6e 73 69 6f 6e 20 3d 3d 20 22 72 75  extension == "ru
9b40: 62 79 22 20 7c 7c 20 65 78 74 65 6e 73 69 6f 6e  by" || extension
9b50: 20 3d 3d 20 22 72 62 22 20 29 0d 0a 20 20 20 20   == "rb" )..
9b60: 20 20 20 20 62 72 75 73 68 20 3d 20 22 62 72 75      brush = "bru
9b70: 73 68 3a 20 72 75 62 79 22 3b 0d 0a 20 20 20 20  sh: ruby";..
9b80: 65 6c 73 65 20 69 66 20 28 65 78 74 65 6e 73 69  else if (extensi
9b90: 6f 6e 20 3d 3d 20 22 70 79 22 29 0d 0a 20 20 20  on == "py")..
9ba0: 20 20 20 20 20 62 72 75 73 68 20 3d 20 22 62 72       brush = "br
9bb0: 75 73 68 3a 20 70 79 74 68 6f 6e 22 3b 0d 0a 20  ush: python";..
9bc0: 20 20 20 2f 2f 20 64 69 73 61 62 6c 65 20 74 68     // disable th
9bd0: 65 20 68 69 67 68 6c 69 67 68 74 65 72 20 74 6f  e highlighter to
9be0: 6f 6c 62 61 72 0d 0a 20 20 20 20 62 72 75 73 68  olbar..    brush
9bf0: 20 3d 20 62 72 75 73 68 20 2b 20 22 3b 20 74 6f   = brush + "; to
9c00: 6f 6c 62 61 72 3a 20 66 61 6c 73 65 3b 22 3b 0d  olbar: false;";.
9c10: 0a 09 2f 2f 20 41 64 64 20 74 68 65 20 62 72 75  ..// Add the bru
9c20: 73 68 20 74 6f 20 74 68 65 20 70 72 65 20 65 6c  sh to the pre el
9c30: 65 6d 65 6e 74 20 77 68 69 63 68 20 63 6f 6e 74  ement which cont
9c40: 61 69 6e 73 20 74 68 65 20 73 6f 75 72 63 65 20  ains the source
9c50: 66 69 6c 65 0d 0a 20 20 20 20 24 28 22 70 72 65  file..    \$("pre
9c60: 3a 6c 61 73 74 22 29 2e 61 64 64 43 6c 61 73 73  :last").addClass
9c70: 28 62 72 75 73 68 29 3b 0d 0a 09 2f 2f 20 69 6e  (brush);...// in
9c80: 69 74 69 61 6c 69 7a 65 20 53 79 6e 74 61 78 48  itialize SyntaxH
9c90: 69 67 68 6c 69 67 68 74 65 72 27 73 20 61 75 74  ighlighter's aut
9ca0: 6f 6c 6f 61 64 65 72 0d 0a 20 20 20 20 53 79 6e  oloader..    Syn
9cb0: 74 61 78 48 69 67 68 6c 69 67 68 74 65 72 2e 61  taxHighlighter.a
9cc0: 75 74 6f 6c 6f 61 64 65 72 2e 61 70 70 6c 79 28  utoloader.apply(
9cd0: 6e 75 6c 6c 2c 20 70 61 74 68 28 0d 0a 09 09 27  null, path(....'
9ce0: 61 70 70 6c 65 73 63 72 69 70 74 20 20 20 20 20  applescript
9cf0: 20 20 20 20 20 20 20 40 73 68 42 72 75 73 68 41         @shBrushA
9d00: 70 70 6c 65 53 63 72 69 70 74 2e 6a 73 27 2c 0d  ppleScript.js',.
9d10: 0a 09 09 27 61 63 74 69 6f 6e 73 63 72 69 70 74  ...'actionscript
9d20: 33 20 61 73 33 20 20 20 20 20 20 40 73 68 42 72  3 as3      @shBr
9d30: 75 73 68 41 53 33 2e 6a 73 27 2c 0d 0a 09 09 27  ushAS3.js',....'
9d40: 62 61 73 68 20 73 68 65 6c 6c 20 20 20 20 20 20  bash shell
9d50: 20 20 20 20 20 20 20 40 73 68 42 72 75 73 68 42         @shBrushB
9d60: 61 73 68 2e 6a 73 27 2c 0d 0a 09 09 27 63 6f 6c  ash.js',....'col
9d70: 64 66 75 73 69 6f 6e 20 63 66 20 20 20 20 20 20  dfusion cf
9d80: 20 20 20 20 40 73 68 42 72 75 73 68 43 6f 6c 64      @shBrushCold
9d90: 46 75 73 69 6f 6e 2e 6a 73 27 2c 0d 0a 09 09 27  Fusion.js',....'
9da0: 63 70 70 20 63 20 20 20 20 20 20 20 20 20 20 20  cpp c
9db0: 20 20 20 20 20 20 20 40 73 68 42 72 75 73 68 43         @shBrushC
9dc0: 70 70 2e 6a 73 27 2c 0d 0a 09 09 27 63 23 20 63  pp.js',....'c# c
9dd0: 2d 73 68 61 72 70 20 63 73 68 61 72 70 20 20 20  -sharp csharp
9de0: 20 20 20 40 73 68 42 72 75 73 68 43 53 68 61 72     @shBrushCShar
9df0: 70 2e 6a 73 27 2c 0d 0a 09 09 27 63 73 73 20 20  p.js',....'css
9e00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
9e10: 20 20 40 73 68 42 72 75 73 68 43 73 73 2e 6a 73    @shBrushCss.js
9e20: 27 2c 0d 0a 09 09 27 64 65 6c 70 68 69 20 70 61  ',....'delphi pa
9e30: 73 63 61 6c 20 20 20 20 20 20 20 20 20 20 40 73  scal          @s
9e40: 68 42 72 75 73 68 44 65 6c 70 68 69 2e 6a 73 27  hBrushDelphi.js'
9e50: 2c 0d 0a 09 09 27 64 69 66 66 20 70 61 74 63 68  ,....'diff patch
9e60: 20 70 61 73 20 20 20 20 20 20 20 20 20 40 73 68   pas         @sh
9e70: 42 72 75 73 68 44 69 66 66 2e 6a 73 27 2c 0d 0a  BrushDiff.js',..
9e80: 09 09 27 65 72 6c 20 65 72 6c 61 6e 67 20 20 20  ..'erl erlang
9e90: 20 20 20 20 20 20 20 20 20 20 40 73 68 42 72 75            @shBru
9ea0: 73 68 45 72 6c 61 6e 67 2e 6a 73 27 2c 0d 0a 09  shErlang.js',...
9eb0: 09 27 67 72 6f 6f 76 79 20 20 20 20 20 20 20 20  .'groovy
9ec0: 20 20 20 20 20 20 20 20 20 40 73 68 42 72 75 73           @shBrus
9ed0: 68 47 72 6f 6f 76 79 2e 6a 73 27 2c 0d 0a 09 09  hGroovy.js',....
9ee0: 27 6a 61 76 61 20 20 20 20 20 20 20 20 20 20 20  'java
9ef0: 20 20 20 20 20 20 20 20 40 73 68 42 72 75 73 68          @shBrush
9f00: 4a 61 76 61 2e 6a 73 27 2c 0d 0a 09 09 27 6a 66  Java.js',....'jf
9f10: 78 20 6a 61 76 61 66 78 20 20 20 20 20 20 20 20  x javafx
9f20: 20 20 20 20 20 40 73 68 42 72 75 73 68 4a 61 76       @shBrushJav
9f30: 61 46 58 2e 6a 73 27 2c 0d 0a 09 09 27 6a 73 20  aFX.js',....'js
9f40: 6a 73 63 72 69 70 74 20 6a 61 76 61 73 63 72 69  jscript javascri
9f50: 70 74 20 20 40 73 68 42 72 75 73 68 4a 53 63 72  pt  @shBrushJScr
9f60: 69 70 74 2e 6a 73 27 2c 0d 0a 09 09 27 70 65 72  ipt.js',....'per
9f70: 6c 20 70 6c 20 20 20 20 20 20 20 20 20 20 20 20  l pl
9f80: 20 20 20 20 40 73 68 42 72 75 73 68 50 65 72 6c      @shBrushPerl
9f90: 2e 6a 73 27 2c 0d 0a 09 09 27 70 68 70 20 20 20  .js',....'php
9fa0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
9fb0: 20 40 73 68 42 72 75 73 68 50 68 70 2e 6a 73 27   @shBrushPhp.js'
9fc0: 2c 0d 0a 09 09 27 74 65 78 74 20 70 6c 61 69 6e  ,....'text plain
9fd0: 20 20 20 20 20 20 20 20 20 20 20 20 20 40 73 68               @sh
9fe0: 42 72 75 73 68 50 6c 61 69 6e 2e 6a 73 27 2c 0d  BrushPlain.js',.
9ff0: 0a 09 09 27 70 79 20 70 79 74 68 6f 6e 20 20 20  ...'py python
a000: 20 20 20 20 20 20 20 20 20 20 20 40 73 68 42 72             @shBr
a010: 75 73 68 50 79 74 68 6f 6e 2e 6a 73 27 2c 0d 0a  ushPython.js',..
a020: 09 09 27 72 75 62 79 20 72 61 69 6c 73 20 72 6f  ..'ruby rails ro
a030: 72 20 72 62 20 20 20 20 20 20 40 73 68 42 72 75  r rb      @shBru
a040: 73 68 52 75 62 79 2e 6a 73 27 2c 0d 0a 09 09 27  shRuby.js',....'
a050: 73 61 73 73 20 73 63 73 73 20 20 20 20 20 20 20  sass scss
a060: 20 20 20 20 20 20 20 40 73 68 42 72 75 73 68 53         @shBrushS
a070: 61 73 73 2e 6a 73 27 2c 0d 0a 09 09 27 73 63 61  ass.js',....'sca
a080: 6c 61 20 20 20 20 20 20 20 20 20 20 20 20 20 20  la
a090: 20 20 20 20 40 73 68 42 72 75 73 68 53 63 61 6c      @shBrushScal
a0a0: 61 2e 6a 73 27 2c 0d 0a 09 09 27 73 71 6c 20 20  a.js',....'sql
a0b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
a0c0: 20 20 40 73 68 42 72 75 73 68 53 71 6c 2e 6a 73    @shBrushSql.js
a0d0: 27 2c 0d 0a 09 09 27 76 62 20 76 62 6e 65 74 20  ',....'vb vbnet
a0e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 40 73                @s
a0f0: 68 42 72 75 73 68 56 62 2e 6a 73 27 2c 0d 0a 09  hBrushVb.js',...
a100: 09 27 78 6d 6c 20 78 68 74 6d 6c 20 78 73 6c 74  .'xml xhtml xslt
a110: 20 68 74 6d 6c 20 20 20 20 40 73 68 42 72 75 73   html    @shBrus
a120: 68 58 6d 6c 2e 6a 73 27 0d 0a 09 29 29 3b 0d 0a  hXml.js'...));..
a130: 20 20 20 20 2f 2f 20 61 6e 64 20 66 69 6e 61 6c      // and final
a140: 6c 79 20 68 69 67 68 6c 69 67 68 74 20 69 74 0d  ly highlight it.
a150: 0a 20 20 20 20 53 79 6e 74 61 78 48 69 67 68 6c  .    SyntaxHighl
a160: 69 67 68 74 65 72 2e 61 6c 6c 28 29 0d 0a 7d 0d  ighter.all()..}.
a170: 0a 26 6c 74 3b 2f 73 63 72 69 70 74 26 67 74 3b  .&lt;/script&gt;
a180: 0d 0a 26 6c 74 3b 2f 62 6f 64 79 26 67 74 3b 26  ..&lt;/body&gt;&
a190: 6c 74 3b 2f 68 74 6d 6c 26 67 74 3b 0d 0a 3c 2f  lt;/html&gt;..</
a1a0: 70 72 65 3e 0d 0a 3c 2f 70 3e 0d 0a 3c 68 32 3e  pre>..</p>..<h2>
a1b0: 3c 61 20 6e 61 6d 65 3d 22 77 69 6e 33 32 64 65  <a name="win32de
a1c0: 76 22 3e 48 6f 77 20 74 6f 20 70 72 65 70 61 72  v">How to prepar
a1d0: 65 20 79 6f 75 72 20 57 69 6e 64 6f 77 73 20 58  e your Windows X
a1e0: 50 20 46 6f 73 73 69 6c 20 64 65 76 65 6c 6f 70  P Fossil develop
a1f0: 6d 65 6e 74 20 45 6e 76 69 72 6f 6e 6d 65 6e 74  ment Environment
a200: 3c 2f 61 3e 3c 2f 68 32 3e 0d 0a 3c 68 34 3e 4d  </a></h2>..<h4>M
a210: 69 6e 47 57 2b 4e 53 49 53 2f 57 69 58 3c 2f 68  inGW+NSIS/WiX</h
a220: 34 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 53 65  4>..<ul>..<li>Se
a230: 74 75 70 20 54 43 4c 3c 2f 6c 69 3e 0d 0a 3c 6c  tup TCL</li>..<l
a240: 69 3e 53 65 74 75 70 20 4d 69 6e 47 57 3c 2f 6c  i>Setup MinGW</l
a250: 69 3e 0d 0a 3c 6c 69 3e 47 65 74 74 69 6e 67 20  i>..<li>Getting
a260: 4e 53 49 53 20 57 69 6e 64 6f 77 73 20 70 61 63  NSIS Windows pac
a270: 6b 61 67 69 6e 67 20 74 6f 6f 6c 20 3c 2f 6c 69  kaging tool </li
a280: 3e 0d 0a 3c 6c 69 3e 47 65 74 74 69 6e 67 20 46  >..<li>Getting F
a290: 6f 73 73 69 6c 20 73 6f 75 72 63 65 20 63 6f 64  ossil source cod
a2a0: 65 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 42 75 69 6c  e</li>..<li>Buil
a2b0: 64 20 74 68 65 20 63 6f 64 65 20 77 69 74 68 20  d the code with
a2c0: 4d 61 6b 65 66 69 6c 65 2e 77 69 6e 33 32 20 3c  Makefile.win32 <
a2d0: 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 68 34  /li>..</ul>..<h4
a2e0: 3e 56 69 73 75 61 6c 20 53 74 75 64 69 6f 20 45  >Visual Studio E
a2f0: 78 70 72 65 73 73 20 32 30 30 38 2b 57 69 58 3c  xpress 2008+WiX<
a300: 2f 68 34 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e  /h4>..<ul>..<li>
a310: 53 65 74 75 70 20 54 43 4c 3c 2f 6c 69 3e 0d 0a  Setup TCL</li>..
a320: 3c 6c 69 3e 53 65 74 75 70 20 56 53 32 30 30 38  <li>Setup VS2008
a330: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 47 65 74 74 69  </li>..<li>Getti
a340: 6e 67 20 57 69 58 20 57 69 6e 64 6f 77 73 20 4d  ng WiX Windows M
a350: 53 49 20 74 6f 6f 6c 20 3c 2f 6c 69 3e 0d 0a 3c  SI tool </li>..<
a360: 6c 69 3e 47 65 74 74 69 6e 67 20 46 6f 73 73 69  li>Getting Fossi
a370: 6c 20 73 6f 75 72 63 65 20 63 6f 64 65 3c 2f 6c  l source code</l
a380: 69 3e 0d 0a 3c 6c 69 3e 42 75 69 6c 64 20 74 68  i>..<li>Build th
a390: 65 20 63 6f 64 65 20 77 69 74 68 20 4d 61 6b 65  e code with Make
a3a0: 66 69 6c 65 2e 77 69 6e 33 32 3c 2f 6c 69 3e 0d  file.win32</li>.
a3b0: 0a 3c 2f 75 6c 3e 0d 0a 0d 0a 3c 68 32 3e 3c 61  .</ul>....<h2><a
a3c0: 20 6e 61 6d 65 3d 22 77 79 73 69 77 69 67 22 3e   name="wysiwig">
a3d0: 4a 61 76 61 73 63 72 69 70 74 20 48 54 4d 4c 20  Javascript HTML
a3e0: 57 59 53 49 57 59 47 20 65 64 69 74 6f 72 20 63  WYSIWYG editor c
a3f0: 6f 6e 74 72 6f 6c 3c 2f 61 3e 3c 2f 68 32 3e 0d  ontrol</a></h2>.
a400: 0a 3c 68 33 3e 4d 6f 74 69 76 61 74 69 6f 6e 3c  .<h3>Motivation<
a410: 2f 68 33 3e 0d 0a 20 20 2a 20 20 59 6f 75 20 77  /h3>..  *  You w
a420: 61 6e 74 20 74 6f 20 65 64 69 74 20 74 68 65 20  ant to edit the
a430: 77 69 6b 69 20 70 61 67 65 73 20 77 69 74 68 20  wiki pages with
a440: 61 20 6e 69 63 65 20 65 64 69 74 6f 72 20 63 6f  a nice editor co
a450: 6d 70 6f 6e 65 6e 74 2c 20 69 6e 73 74 65 61 64  mponent, instead
a460: 20 6f 66 20 75 73 69 6e 67 20 70 6c 61 69 6e 20   of using plain
a470: 48 54 4d 4c 2e 0d 0a 0d 0a 3c 68 33 3e 50 72 6f  HTML.....<h3>Pro
a480: 62 6c 65 6d 3c 2f 68 33 3e 0d 0a 46 6f 73 73 69  blem</h3>..Fossi
a490: 6c 20 62 79 20 69 74 73 65 6c 66 20 64 6f 65 73  l by itself does
a4a0: 6e 27 74 20 73 75 70 70 6f 72 74 20 69 74 2e 0d  n't support it..
a4b0: 0a 0d 0a 3c 68 33 3e 53 6f 6c 75 74 69 6f 6e 3c  ...<h3>Solution<
a4c0: 2f 68 33 3e 0d 0a 54 68 65 72 65 20 61 72 65 20  /h3>..There are
a4d0: 70 75 72 65 20 6a 61 76 61 73 63 72 69 70 74 20  pure javascript
a4e0: 65 64 69 74 6f 72 20 63 6f 6d 70 6f 6e 65 6e 74  editor component
a4f0: 73 20 74 68 61 74 20 63 61 6e 20 62 65 20 75 73  s that can be us
a500: 65 64 20 66 6f 72 20 74 68 69 73 20 74 61 73 6b  ed for this task
a510: 2e 0d 0a 54 68 65 20 73 6f 75 72 63 65 20 66 6f  ...The source fo
a520: 72 20 74 68 65 20 65 64 69 74 6f 72 20 63 6f 6d  r the editor com
a530: 70 6f 6e 65 6e 74 20 69 73 20 61 64 64 65 64 20  ponent is added
a540: 74 6f 20 74 68 65 20 72 65 70 6f 73 69 74 6f 72  to the repositor
a550: 79 2e 20 54 68 65 20 68 74 6d 6c 20 68 65 61 64  y. The html head
a560: 65 72 20 6f 72 20 66 6f 6f 74 65 72 20 69 73 20  er or footer is
a570: 70 72 65 70 61 72 65 64 20 74 6f 20 69 6e 63 6c  prepared to incl
a580: 75 64 65 20 61 20 6a 61 76 61 73 63 72 69 70 74  ude a javascript
a590: 20 66 69 6c 65 20 61 6e 64 2f 6f 72 20 61 20 43   file and/or a C
a5a0: 53 53 2e 0d 0a 3c 62 72 3e 0d 0a 54 68 65 73 65  SS...<br>..These
a5b0: 20 74 77 6f 20 74 69 70 73 20 61 72 65 20 66 72   two tips are fr
a5c0: 6f 6d 20 74 68 65 20 6d 61 69 6c 69 6e 67 20 6c  om the mailing l
a5d0: 69 73 74 3a 0d 0a 52 65 6e 65 20 64 65 20 5a 77  ist:..Rene de Zw
a5e0: 61 72 74 20 33 30 2e 20 4f 63 74 2e 20 32 30 30  art 30. Oct. 200
a5f0: 39 0d 0a 0d 0a 0d 0a 3c 61 20 6e 61 6d 65 3d 22  9......<a name="
a600: 74 69 6e 79 6d 63 65 22 3e 3c 68 34 3e 54 69 6e  tinymce"><h4>Tin
a610: 79 4d 43 45 3c 2f 68 34 3e 3c 2f 61 3e 0d 0a 3c  yMCE</h4></a>..<
a620: 70 3e 0d 0a 53 6f 75 72 63 65 3a 20 3c 61 20 68  p>..Source: <a h
a630: 72 65 66 3d 22 68 74 74 70 3a 2f 2f 74 69 6e 79  ref="http://tiny
a640: 6d 63 65 2e 6d 6f 78 69 65 63 6f 64 65 2e 63 6f  mce.moxiecode.co
a650: 6d 2f 22 3e 20 54 69 6e 79 4d 43 45 20 3c 2f 61  m/"> TinyMCE </a
a660: 3e 0d 0a 3c 2f 70 3e 0d 0a 3c 68 35 3e 20 45 78  >..</p>..<h5> Ex
a670: 61 6d 70 6c 65 3c 2f 68 35 3e 0d 0a 3c 70 72 65  ample</h5>..<pre
a680: 20 63 6c 61 73 73 3d 22 76 65 72 62 61 74 69 6d   class="verbatim
a690: 22 3e 0d 0a 20 20 20 20 6d 6b 64 69 72 20 74 69  ">..    mkdir ti
a6a0: 6e 79 0d 0a 20 20 20 20 6d 6b 64 69 72 20 74 69  ny..    mkdir ti
a6b0: 6e 79 2f 6a 61 76 61 73 63 72 69 70 74 0d 0a 20  ny/javascript..
a6c0: 20 20 20 66 6f 73 73 69 6c 20 6e 65 77 20 74 69     fossil new ti
a6d0: 6e 79 6d 63 65 2e 66 73 6c 0d 0a 20 20 20 20 66  nymce.fsl..    f
a6e0: 6f 73 73 69 6c 20 75 69 20 74 69 6e 79 6d 63 65  ossil ui tinymce
a6f0: 2e 66 73 6c 20 7b 63 6f 6e 66 69 67 75 72 65 20  .fsl {configure
a700: 74 68 65 20 70 72 6f 6a 65 63 74 29 0d 0a 20 20  the project)..
a710: 20 20 64 6f 77 6e 6c 6f 61 64 20 74 69 6e 79 6d    download tinym
a720: 63 65 0d 0a 20 20 20 20 75 6e 7a 69 70 20 69 6e  ce..    unzip in
a730: 20 74 69 6e 79 2f 6a 61 76 61 73 63 72 69 70 74   tiny/javascript
a740: 0d 0a 20 20 20 20 63 64 20 74 69 6e 79 0d 0a 20  ..    cd tiny..
a750: 20 20 20 66 6f 73 73 69 6c 20 6f 70 65 6e 20 2e     fossil open .
a760: 2e 2f 74 69 6e 79 6d 63 65 2e 66 73 6c 0d 0a 20  ./tinymce.fsl..
a770: 20 20 20 66 6f 73 73 69 6c 20 61 64 64 20 6a 61     fossil add ja
a780: 76 61 73 63 72 69 70 74 0d 0a 20 20 20 20 66 6f  vascript..    fo
a790: 73 73 69 6c 20 63 6f 6d 6d 69 74 20 2d 6d 20 22  ssil commit -m "
a7a0: 61 64 64 65 64 20 74 69 6d 79 6d 63 65 20 74 6f  added timymce to
a7b0: 20 74 68 65 20 70 72 6f 6a 65 63 74 22 0d 0a 20   the project"..
a7c0: 20 20 20 66 6f 73 73 69 6c 20 75 69 0d 0a 3c 2f     fossil ui..</
a7d0: 70 72 65 3e 0d 0a 53 65 6c 65 63 74 20 61 64 6d  pre>..Select adm
a7e0: 69 6e 2f 68 65 61 64 65 72 73 20 61 64 64 20 61  in/headers add a
a7f0: 66 74 65 72 20 74 68 65 20 26 6c 74 3b 2f 6c 69  fter the &lt;/li
a800: 6e 6b 26 67 74 3b 0d 0a 3c 70 72 65 20 63 6c 61  nk&gt;..<pre cla
a810: 73 73 3d 22 76 65 72 62 61 74 69 6d 22 3e 0d 0a  ss="verbatim">..
a820: 20 26 6c 74 3b 74 68 31 26 67 74 3b 0d 0a 20 20   &lt;th1&gt;..
a830: 20 69 66 20 7b 20 22 74 6b 74 6e 65 77 22 20 65   if { "tktnew" e
a840: 71 20 24 63 75 72 72 65 6e 74 5f 70 61 67 65 20  q \$current_page
a850: 0d 0a 20 20 20 09 7c 7c 20 22 74 6b 74 65 64 69  ..   .|| "tktedi
a860: 74 22 20 65 71 20 24 63 75 72 72 65 6e 74 5f 70  t" eq \$current_p
a870: 61 67 65 20 0d 0a 20 20 20 09 7c 7c 20 22 77 69  age ..   .|| "wi
a880: 6b 69 65 64 69 74 22 20 65 71 20 24 63 75 72 72  kiedit" eq \$curr
a890: 65 6e 74 5f 70 61 67 65 20 0d 0a 20 20 20 09 7c  ent_page ..   .|
a8a0: 7c 20 22 77 69 6b 69 61 70 70 65 6e 64 22 20 65  | "wikiappend" e
a8b0: 71 20 24 63 75 72 72 65 6e 74 5f 70 61 67 65 20  q \$current_page
a8c0: 7d 20 7b 0d 0a 20 20 20 20 20 20 20 68 74 6d 6c  } {..       html
a8d0: 20 22 3c 73 63 72 69 70 74 20 74 79 70 65 3d 27   "<script type='
a8e0: 74 65 78 74 2f 6a 61 76 61 73 63 72 69 70 74 27  text/javascript'
a8f0: 5c 6e 22 0d 0a 20 20 20 20 20 20 20 68 74 6d 6c  \n"..       html
a900: 20 22 73 72 63 3d 27 2f 64 6f 63 2f 74 69 70 2f   "src='/doc/tip/
a910: 6a 61 76 61 73 63 72 69 70 74 2f 74 69 6e 79 6d  javascript/tinym
a920: 63 65 2f 6a 73 63 72 69 70 74 73 2f 74 69 6e 79  ce/jscripts/tiny
a930: 5f 6d 63 65 2f 74 69 6e 79 5f 6d 63 65 2e 6a 73  _mce/tiny_mce.js
a940: 27 3e 5c 6e 22 0d 0a 20 20 20 20 20 20 20 68 74  '>\n"..       ht
a950: 6d 6c 20 22 3c 2f 73 63 72 69 70 74 3e 5c 6e 22  ml "</script>\n"
a960: 0d 0a 20 20 20 20 20 20 20 68 74 6d 6c 20 22 20  ..       html "
a970: 3c 73 63 72 69 70 74 20 74 79 70 65 3d 27 74 65  <script type='te
a980: 78 74 2f 6a 61 76 61 73 63 72 69 70 74 27 3e 5c  xt/javascript'>\
a990: 6e 22 0d 0a 20 20 20 20 20 20 20 70 75 74 73 20  n"..       puts
a9a0: 22 74 69 6e 79 4d 43 45 2e 69 6e 69 74 28 7b 20  "tinyMCE.init({
a9b0: 6d 6f 64 65 20 3a 20 27 73 70 65 63 69 66 69 63  mode : 'specific
a9c0: 5f 74 65 78 74 61 72 65 61 73 27 20 2c 20 65 64  _textareas' , ed
a9d0: 69 74 6f 72 5f 73 65 6c 65 63 74 6f 72 20 3a 20  itor_selector :
a9e0: 27 77 69 6b 69 65 64 69 74 27 2c 20 74 68 65 6d  'wikiedit', them
a9f0: 65 3a 20 27 61 64 76 61 6e 63 65 64 27 2c 77 69  e: 'advanced',wi
aa00: 64 74 68 20 3a 20 27 39 30 25 27 20 7d 20 29 3b  dth : '90%' } );
aa10: 22 0d 0a 20 20 20 20 20 20 20 68 74 6d 6c 20 22  "..       html "
aa20: 3c 2f 73 63 72 69 70 74 3e 5c 6e 22 0d 0a 20 20  </script>\n"..
aa30: 20 7d 0d 0a 26 6c 74 3b 2f 74 68 31 26 67 74 3b   }..&lt;/th1&gt;
aa40: 0d 0a 3c 2f 70 72 65 3e 0d 0a 61 6e 64 20 73 61  ..</pre>..and sa
aa50: 76 65 2e 0d 0a 0d 0a 0d 0a 3c 61 20 6e 61 6d 65  ve.......<a name
aa60: 3d 27 6a 73 5f 6c 6f 63 61 6c 27 3e 3c 68 33 3e  ='js_local'><h3>
aa70: 55 73 69 6e 67 20 6c 6f 63 61 6c 20 69 6e 73 74  Using local inst
aa80: 61 6c 6c 65 64 20 6a 61 76 61 73 63 72 69 70 74  alled javascript
aa90: 20 6c 69 62 72 61 72 69 65 73 3c 2f 68 33 3e 3c   libraries</h3><
aaa0: 2f 61 3e 0d 0a 3c 70 3e 55 6e 64 65 72 20 66 69  /a>..<p>Under fi
aab0: 72 65 66 6f 78 20 77 69 74 68 20 74 68 65 20 65  refox with the e
aac0: 78 74 65 6e 73 69 6f 6e 20 6c 6f 63 61 6c 6c 69  xtension localli
aad0: 6e 6b 20 79 6f 75 20 63 61 6e 20 69 6e 73 74 61  nk you can insta
aae0: 6c 6c 20 6a 61 76 61 73 63 72 69 70 74 20 6c 69  ll javascript li
aaf0: 62 72 61 72 69 65 73 20 6c 6f 63 61 6c 6c 79 2e  braries locally.
ab00: 3c 2f 70 3e 0d 0a 0d 0a 3c 70 3e 49 74 20 73 65  </p>....<p>It se
ab10: 65 6d 73 20 74 68 61 74 20 69 74 20 69 73 20 61  ems that it is a
ab20: 6c 73 6f 20 70 6f 73 73 69 62 6c 65 20 77 69 74  lso possible wit
ab30: 68 20 49 45 37 20 62 65 63 61 75 73 65 20 74 68  h IE7 because th
ab40: 61 74 20 61 6c 6c 6f 77 73 20 6c 6f 63 61 6c 20  at allows local
ab50: 61 63 63 65 73 73 2e 20 46 6f 72 20 63 68 72 6f  access. For chro
ab60: 6d 65 20 74 68 65 72 65 20 69 73 20 61 6e 20 65  me there is an e
ab70: 78 74 65 6e 73 69 6f 6e 20 3c 61 20 68 72 65 66  xtension <a href
ab80: 3d 27 68 74 74 70 73 3a 2f 2f 63 68 72 6f 6d 65  ='https://chrome
ab90: 2e 67 6f 6f 67 6c 65 2e 63 6f 6d 2f 65 78 74 65  .google.com/exte
aba0: 6e 73 69 6f 6e 73 2f 64 65 74 61 69 6c 2f 6a 6c  nsions/detail/jl
abb0: 6c 70 6b 64 6b 63 64 6a 6e 64 68 67 67 6f 64 69  lpkdkcdjndhggodi
abc0: 6d 69 70 68 6b 67 68 6f 67 63 70 69 64 61 27 3e  miphkghogcpida'>
abd0: 6c 6f 63 61 6c 6c 69 6e 6b 3c 2f 61 3e 20 42 75  locallink</a> Bu
abe0: 74 20 49 20 63 6f 75 6c 64 6e 27 74 20 67 65 74  t I couldn't get
abf0: 20 69 74 20 74 6f 20 77 6f 72 6b 2e 0d 0a 3c 2f   it to work...</
ac00: 70 3e 0d 0a 3c 70 3e 54 68 65 20 61 64 76 61 6e  p>..<p>The advan
ac10: 74 61 67 65 20 6f 66 20 74 68 69 73 20 69 73 20  tage of this is
ac20: 74 68 61 74 20 79 6f 75 72 20 72 65 70 6f 73 69  that your reposi
ac30: 74 6f 72 79 20 64 6f 65 73 6e 27 74 20 63 6f 6e  tory doesn't con
ac40: 74 61 69 6e 73 20 74 68 65 20 6a 61 76 61 73 63  tains the javasc
ac50: 72 69 70 74 20 6c 69 62 72 61 72 79 2e 20 41 6e  ript library. An
ac60: 64 20 66 6f 72 20 65 61 63 68 20 70 72 6f 6a 65  d for each proje
ac70: 63 74 20 79 6f 75 20 6f 6e 6c 79 20 68 61 76 65  ct you only have
ac80: 20 74 6f 20 61 64 6a 75 73 74 20 74 68 65 20 68   to adjust the h
ac90: 65 61 64 65 72 3c 2f 70 3e 0d 0a 3c 68 35 3e 20  eader</p>..<h5>
aca0: 45 78 61 6d 70 6c 65 20 75 6e 64 65 72 20 77 69  Example under wi
acb0: 6e 64 6f 77 73 20 77 69 74 68 20 66 69 72 65 66  ndows with firef
acc0: 6f 78 3c 2f 68 35 3e 0d 0a 3c 70 72 65 20 63 6c  ox</h5>..<pre cl
acd0: 61 73 73 3d 22 76 65 72 62 61 74 69 6d 22 3e 0d  ass="verbatim">.
ace0: 0a 20 20 20 20 43 3a 0d 0a 20 20 20 20 6d 6b 64  .    C:..    mkd
acf0: 69 72 20 6a 73 0d 0a 20 20 20 20 64 6f 77 6e 6c  ir js..    downl
ad00: 6f 61 64 20 74 69 6e 79 6d 63 65 0d 0a 20 20 20  oad tinymce..
ad10: 20 75 6e 7a 69 70 20 69 6e 20 63 3a 5c 6a 73 0d   unzip in c:\js.
ad20: 0a 20 20 20 20 69 6e 73 74 61 6c 6c 20 3c 61 20  .    install <a
ad30: 68 72 65 66 3d 27 68 74 74 70 73 3a 2f 2f 61 64  href='https://ad
ad40: 64 6f 6e 73 2e 6d 6f 7a 69 6c 6c 61 2e 6f 72 67  dons.mozilla.org
ad50: 2f 65 6e 2d 55 53 2f 66 69 72 65 66 6f 78 2f 61  /en-US/firefox/a
ad60: 64 64 6f 6e 2f 6c 6f 63 61 6c 6c 69 6e 6b 27 3e  ddon/locallink'>
ad70: 6c 6f 63 61 6c 6c 69 6e 6b 3c 2f 61 3e 20 69 6e  locallink</a> in
ad80: 20 66 69 72 65 66 6f 78 0d 0a 20 20 20 20 66 6f   firefox..    fo
ad90: 6c 6c 6f 77 20 69 6e 73 74 72 75 63 74 69 6f 6e  llow instruction
ada0: 73 20 6f 6e 20 3c 61 20 68 72 65 66 3d 27 68 74  s on <a href='ht
adb0: 74 70 73 3a 2f 2f 61 64 64 6f 6e 73 2e 6d 6f 7a  tps://addons.moz
adc0: 69 6c 6c 61 2e 6f 72 67 2f 65 6e 2d 55 53 2f 66  illa.org/en-US/f
add0: 69 72 65 66 6f 78 2f 61 64 64 6f 6e 2f 6c 6f 63  irefox/addon/loc
ade0: 61 6c 6c 69 6e 6b 2f 27 3e 70 61 67 65 3c 2f 61  allink/'>page</a
adf0: 3e 0d 0a 3c 2f 70 72 65 3e 0d 0a 73 74 61 72 74  >..</pre>..start
ae00: 20 66 6f 73 73 69 6c 20 75 69 0d 0a 53 65 6c 65   fossil ui..Sele
ae10: 63 74 20 61 64 6d 69 6e 2f 68 65 61 64 65 72 73  ct admin/headers
ae20: 20 61 64 64 20 61 66 74 65 72 20 74 68 65 20 26   add after the &
ae30: 6c 74 3b 2f 6c 69 6e 6b 26 67 74 3b 0d 0a 3c 70  lt;/link&gt;..<p
ae40: 72 65 20 63 6c 61 73 73 3d 22 76 65 72 62 61 74  re class="verbat
ae50: 69 6d 22 3e 0d 0a 20 26 6c 74 3b 74 68 31 26 67  im">.. &lt;th1&g
ae60: 74 3b 0d 0a 20 20 69 66 20 7b 20 26 23 39 31 3b  t;..  if { &#91;
ae70: 20 73 74 72 69 6e 67 20 66 69 72 73 74 20 24 63   string first \$c
ae80: 75 72 72 65 6e 74 5f 70 61 67 65 20 22 74 6b 74  urrent_page "tkt
ae90: 6e 65 77 20 74 6b 74 65 64 69 74 20 77 69 6b 69  new tktedit wiki
aea0: 65 64 69 74 20 77 69 6b 69 61 70 70 65 6e 64 22  edit wikiappend"
aeb0: 20 5d 20 7d 20 7b 0d 0a 20 20 20 20 20 20 20 68   ] } {..       h
aec0: 74 6d 6c 20 22 3c 73 63 72 69 70 74 20 74 79 70  tml "<script typ
aed0: 65 3d 27 74 65 78 74 2f 6a 61 76 61 73 63 72 69  e='text/javascri
aee0: 70 74 27 5c 6e 22 0d 0a 20 20 20 20 20 20 20 68  pt'\n"..       h
aef0: 74 6d 6c 20 22 73 72 63 3d 27 66 69 6c 65 3a 2f  tml "src='file:/
af00: 2f 2f 63 3a 2f 6a 73 2f 74 69 6e 79 6d 63 65 2f  //c:/js/tinymce/
af10: 6a 73 63 72 69 70 74 73 2f 74 69 6e 79 5f 6d 63  jscripts/tiny_mc
af20: 65 2f 74 69 6e 79 5f 6d 63 65 2e 6a 73 27 3e 5c  e/tiny_mce.js'>\
af30: 6e 22 0d 0a 20 20 20 20 20 20 20 68 74 6d 6c 20  n"..       html
af40: 22 3c 2f 73 63 72 69 70 74 3e 5c 6e 22 0d 0a 20  "</script>\n"..
af50: 20 20 20 20 20 20 68 74 6d 6c 20 22 20 3c 73 63        html " <sc
af60: 72 69 70 74 20 74 79 70 65 3d 27 74 65 78 74 2f  ript type='text/
af70: 6a 61 76 61 73 63 72 69 70 74 27 3e 5c 6e 22 0d  javascript'>\n".
af80: 0a 20 20 20 20 20 20 20 70 75 74 73 20 22 74 69  .       puts "ti
af90: 6e 79 4d 43 45 2e 69 6e 69 74 28 7b 20 6d 6f 64  nyMCE.init({ mod
afa0: 65 20 3a 20 27 73 70 65 63 69 66 69 63 5f 74 65  e : 'specific_te
afb0: 78 74 61 72 65 61 73 27 20 2c 20 65 64 69 74 6f  xtareas' , edito
afc0: 72 5f 73 65 6c 65 63 74 6f 72 20 3a 20 27 77 69  r_selector : 'wi
afd0: 6b 69 65 64 69 74 27 2c 20 74 68 65 6d 65 3a 20  kiedit', theme:
afe0: 27 61 64 76 61 6e 63 65 64 27 2c 77 69 64 74 68  'advanced',width
aff0: 20 3a 20 27 39 30 25 27 20 7d 20 29 3b 22 0d 0a   : '90%' } );"..
b000: 20 20 20 20 20 20 20 68 74 6d 6c 20 22 3c 2f 73         html "</s
b010: 63 72 69 70 74 3e 5c 6e 22 0d 0a 20 20 20 7d 0d  cript>\n"..   }.
b020: 0a 26 6c 74 3b 2f 74 68 31 26 67 74 3b 0d 0a 3c  .&lt;/th1&gt;..<
b030: 2f 70 72 65 3e 0d 0a 61 6e 64 20 73 61 76 65 2e  /pre>..and save.
b040: 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 3c 61 20 6e 61 6d  ..........<a nam
b050: 65 3d 22 6d 61 72 6b 69 74 75 70 22 3e 3c 68 33  e="markitup"><h3
b060: 3e 6d 61 72 6b 69 74 75 70 21 3c 2f 68 33 3e 3c  >markitup!</h3><
b070: 2f 61 3e 0d 0a 3c 70 3e 0d 0a 53 6f 75 72 63 65  /a>..<p>..Source
b080: 3a 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 3a  : <a href="http:
b090: 2f 2f 6d 61 72 6b 69 74 75 70 2e 6a 61 79 73 61  //markitup.jaysa
b0a0: 6c 76 61 74 2e 63 6f 6d 2f 68 6f 6d 65 2f 22 3e  lvat.com/home/">
b0b0: 20 4d 61 72 6b 69 74 75 70 20 3c 2f 61 3e 0d 0a   Markitup </a>..
b0c0: 3c 2f 70 3e 0d 0a 3c 68 35 3e 20 45 78 61 6d 70  </p>..<h5> Examp
b0d0: 6c 65 3c 2f 68 35 3e 0d 0a 3c 70 72 65 20 63 6c  le</h5>..<pre cl
b0e0: 61 73 73 3d 22 76 65 72 62 61 74 69 6d 22 3e 0d  ass="verbatim">.
b0f0: 0a 20 20 20 20 6d 6b 64 69 72 20 6d 61 72 6b 69  .    mkdir marki
b100: 74 75 70 0d 0a 20 20 20 20 6d 6b 64 69 72 20 6d  tup..    mkdir m
b110: 61 72 6b 69 74 75 70 2f 6a 61 76 61 73 63 72 69  arkitup/javascri
b120: 70 74 0d 0a 20 20 20 20 66 6f 73 73 69 6c 20 6e  pt..    fossil n
b130: 65 77 20 6d 61 72 6b 69 74 75 70 2e 66 73 6c 0d  ew markitup.fsl.
b140: 0a 20 20 20 20 66 6f 73 73 69 6c 20 75 69 20 6d  .    fossil ui m
b150: 61 72 6b 69 74 75 70 2e 66 73 6c 20 7b 63 6f 6e  arkitup.fsl {con
b160: 66 69 67 75 72 65 20 74 68 65 20 70 72 6f 6a 65  figure the proje
b170: 63 74 29 0d 0a 20 20 20 20 64 6f 77 6e 6c 6f 61  ct)..    downloa
b180: 64 20 6d 61 72 6b 69 74 75 70 20 61 6e 64 20 6a  d markitup and j
b190: 71 75 65 72 79 0d 0a 20 20 20 20 75 6e 7a 69 70  query..    unzip
b1a0: 20 69 6e 20 6d 61 72 6b 69 74 75 70 2f 6a 61 76   in markitup/jav
b1b0: 61 73 63 72 69 70 74 2c 20 63 64 20 6c 61 74 65  ascript, cd late
b1c0: 73 74 2c 20 6d 76 20 2a 20 2e 2e 2c 20 72 6d 64  st, mv * .., rmd
b1d0: 69 72 20 6c 61 74 65 73 74 0d 0a 20 20 20 20 63  ir latest..    c
b1e0: 6f 70 79 20 6a 71 75 65 72 79 2d 2e 2e 2e 2e 6a  opy jquery-....j
b1f0: 73 20 74 6f 20 6a 61 76 61 73 63 72 69 70 74 2f  s to javascript/
b200: 6a 71 75 65 72 79 2e 6a 73 0d 0a 20 20 20 20 63  jquery.js..    c
b210: 64 20 6d 61 72 6b 69 74 75 70 0d 0a 20 20 20 20  d markitup..
b220: 66 6f 73 73 69 6c 20 6f 70 65 6e 20 2e 2e 2f 6d  fossil open ../m
b230: 61 72 6b 69 74 75 70 2e 66 73 6c 0d 0a 20 20 20  arkitup.fsl..
b240: 20 66 6f 73 73 69 6c 20 61 64 64 20 6a 61 76 61   fossil add java
b250: 73 63 72 69 70 74 0d 0a 20 20 20 20 66 6f 73 73  script..    foss
b260: 69 6c 20 63 6f 6d 6d 69 74 20 2d 6d 20 22 61 64  il commit -m "ad
b270: 64 65 64 20 6d 61 72 6b 69 74 75 70 20 61 6e 20  ded markitup an
b280: 6a 71 75 65 72 79 20 74 6f 20 74 68 65 20 70 72  jquery to the pr
b290: 6f 6a 65 63 74 22 0d 0a 20 20 20 20 66 6f 73 73  oject"..    foss
b2a0: 69 6c 20 75 69 0d 0a 3c 2f 70 72 65 3e 0d 0a 73  il ui..</pre>..s
b2b0: 65 6c 65 63 74 20 61 64 6d 69 6e 2f 68 65 61 64  elect admin/head
b2c0: 65 72 73 20 61 64 64 20 61 66 74 65 72 20 74 68  ers add after th
b2d0: 65 20 3c 2f 6c 69 6e 6b 3e 20 70 75 74 0d 0a 3c  e </link> put..<
b2e0: 70 72 65 20 63 6c 61 73 73 3d 22 76 65 72 62 61  pre class="verba
b2f0: 74 69 6d 22 3e 0d 0a 20 20 20 20 26 6c 74 3b 6c  tim">..    &lt;l
b300: 69 6e 6b 20 72 65 6c 3d 22 73 74 79 6c 65 73 68  ink rel="stylesh
b310: 65 65 74 22 20 74 79 70 65 3d 22 74 65 78 74 2f  eet" type="text/
b320: 63 73 73 22 20 68 72 65 66 3d 22 2f 64 6f 63 2f  css" href="/doc/
b330: 74 69 70 2f 6a 61 76 61 73 63 72 69 70 74 2f 6d  tip/javascript/m
b340: 61 72 6b 69 74 75 70 2f 73 6b 69 6e 73 2f 6d 61  arkitup/skins/ma
b350: 72 6b 69 74 75 70 2f 73 74 79 6c 65 2e 63 73 73  rkitup/style.css
b360: 22 20 2f 26 67 74 3b 0d 0a 20 20 20 20 26 6c 74  " /&gt;..    &lt
b370: 3b 6c 69 6e 6b 20 72 65 6c 3d 22 73 74 79 6c 65  ;link rel="style
b380: 73 68 65 65 74 22 20 74 79 70 65 3d 22 74 65 78  sheet" type="tex
b390: 74 2f 63 73 73 22 20 68 72 65 66 3d 22 2f 64 6f  t/css" href="/do
b3a0: 63 2f 74 69 70 2f 6a 61 76 61 73 63 72 69 70 74  c/tip/javascript
b3b0: 2f 6d 61 72 6b 69 74 75 70 2f 73 65 74 73 2f 64  /markitup/sets/d
b3c0: 65 66 61 75 6c 74 2f 73 74 79 6c 65 2e 63 73 73  efault/style.css
b3d0: 22 20 2f 26 67 74 3b 0d 0a 20 20 20 20 26 6c 74  " /&gt;..    &lt
b3e0: 3b 73 63 72 69 70 74 20 74 79 70 65 3d 22 74 65  ;script type="te
b3f0: 78 74 2f 6a 61 76 61 73 63 72 69 70 74 22 20 73  xt/javascript" s
b400: 72 63 3d 22 2f 64 6f 63 2f 74 69 70 2f 6a 61 76  rc="/doc/tip/jav
b410: 61 73 63 72 69 70 74 2f 6a 71 75 65 72 79 2e 6a  ascript/jquery.j
b420: 73 22 26 67 74 3b 0d 0a 20 20 20 20 26 6c 74 3b  s"&gt;..    &lt;
b430: 2f 73 63 72 69 70 74 26 67 74 3b 0d 0a 20 20 20  /script&gt;..
b440: 20 26 6c 74 3b 73 63 72 69 70 74 20 74 79 70 65   &lt;script type
b450: 3d 22 74 65 78 74 2f 6a 61 76 61 73 63 72 69 70  ="text/javascrip
b460: 74 22 20 73 72 63 3d 22 2f 64 6f 63 2f 74 69 70  t" src="/doc/tip
b470: 2f 6a 61 76 61 73 63 72 69 70 74 2f 6d 61 72 6b  /javascript/mark
b480: 69 74 75 70 2f 6a 71 75 65 72 79 2e 6d 61 72 6b  itup/jquery.mark
b490: 69 74 75 70 2e 6a 73 22 26 67 74 3b 0d 0a 20 20  itup.js"&gt;..
b4a0: 20 20 26 6c 74 3b 2f 73 63 72 69 70 74 26 67 74    &lt;/script&gt
b4b0: 3b 0d 0a 3c 2f 70 72 65 3e 0d 0a 0d 0a 61 6e 64  ;..</pre>....and
b4c0: 20 73 61 76 65 0d 0a 73 65 6c 65 63 74 20 61 64   save..select ad
b4d0: 6d 69 6e 2f 66 6f 6f 74 65 72 20 61 64 64 20 61  min/footer add a
b4e0: 62 6f 76 65 20 74 68 65 20 66 69 72 73 74 20 6c  bove the first l
b4f0: 69 6e 65 0d 0a 0d 0a 3c 70 72 65 20 63 6c 61 73  ine....<pre clas
b500: 73 3d 22 76 65 72 62 61 74 69 6d 22 3e 0d 0a 20  s="verbatim">..
b510: 20 20 20 26 6c 74 3b 73 63 72 69 70 74 20 74 79     &lt;script ty
b520: 70 65 3d 27 74 65 78 74 2f 6a 61 76 61 73 63 72  pe='text/javascr
b530: 69 70 74 27 26 67 74 3b 0d 0a 20 20 20 20 20 20  ipt'&gt;..
b540: 76 61 72 20 6d 20 3d 20 64 6f 63 75 6d 65 6e 74  var m = document
b550: 2e 67 65 74 45 6c 65 6d 65 6e 74 73 42 79 54 61  .getElementsByTa
b560: 67 4e 61 6d 65 28 27 74 65 78 74 61 72 65 61 27  gName('textarea'
b570: 29 0d 0a 20 20 20 20 20 20 76 61 72 20 6c 20 3d  )..      var l =
b580: 20 6d 2e 6c 65 6e 67 74 68 0d 0a 20 20 20 20 20   m.length..
b590: 20 76 61 72 20 6e 0d 0a 20 20 20 20 20 20 3c 6e   var n..      <n
b5a0: 6f 77 69 6b 69 3e 76 61 72 20 6d 79 53 65 74 74  owiki>var mySett
b5b0: 69 6e 67 73 20 3d 20 7b 0d 0a 09 6e 61 6d 65 53  ings = {...nameS
b5c0: 70 61 63 65 3a 20 20 20 20 20 20 20 22 68 74 6d  pace:       "htm
b5d0: 6c 22 2c 20 2f 2f 20 55 73 65 66 75 6c 20 74 6f  l", // Useful to
b5e0: 20 70 72 65 76 65 6e 74 20 6d 75 6c 74 69 2d 69   prevent multi-i
b5f0: 6e 73 74 61 6e 63 65 73 20 43 53 53 20 63 6f 6e  nstances CSS con
b600: 66 6c 69 63 74 0d 0a 09 6f 6e 53 68 69 66 74 45  flict...onShiftE
b610: 6e 74 65 72 3a 20 20 20 20 7b 6b 65 65 70 44 65  nter:    {keepDe
b620: 66 61 75 6c 74 3a 66 61 6c 73 65 2c 20 72 65 70  fault:false, rep
b630: 6c 61 63 65 57 69 74 68 3a 27 26 6c 74 3b 62 72  laceWith:'&lt;br
b640: 20 2f 26 67 74 3b 5c 6e 27 7d 2c 0d 0a 09 6f 6e   /&gt;\n'},...on
b650: 43 74 72 6c 45 6e 74 65 72 3a 20 20 20 20 20 7b  CtrlEnter:     {
b660: 6b 65 65 70 44 65 66 61 75 6c 74 3a 66 61 6c 73  keepDefault:fals
b670: 65 2c 20 6f 70 65 6e 57 69 74 68 3a 27 5c 6e 26  e, openWith:'\n&
b680: 6c 74 3b 70 26 67 74 3b 27 2c 20 63 6c 6f 73 65  lt;p&gt;', close
b690: 57 69 74 68 3a 27 26 6c 74 3b 2f 70 26 67 74 3b  With:'&lt;/p&gt;
b6a0: 5c 6e 27 7d 2c 0d 0a 09 6f 6e 54 61 62 3a 20 20  \n'},...onTab:
b6b0: 20 20 20 20 20 20 20 20 20 7b 6b 65 65 70 44 65           {keepDe
b6c0: 66 61 75 6c 74 3a 66 61 6c 73 65 2c 20 6f 70 65  fault:false, ope
b6d0: 6e 57 69 74 68 3a 27 20 20 20 20 20 27 7d 2c 0d  nWith:'     '},.
b6e0: 0a 09 6d 61 72 6b 75 70 53 65 74 3a 20 20 5b 0d  ..markupSet:  [.
b6f0: 0a 09 20 20 20 20 7b 6e 61 6d 65 3a 27 48 65 61  ..    {name:'Hea
b700: 64 69 6e 67 20 31 27 2c 20 6b 65 79 3a 27 31 27  ding 1', key:'1'
b710: 2c 20 6f 70 65 6e 57 69 74 68 3a 27 26 6c 74 3b  , openWith:'&lt;
b720: 68 31 28 21 28 20 63 6c 61 73 73 3d 22 5b 21 5b  h1(!( class="[![
b730: 43 6c 61 73 73 5d 21 5d 22 29 21 29 26 67 74 3b  Class]!]")!)&gt;
b740: 27 2c 20 63 6c 6f 73 65 57 69 74 68 3a 27 26 6c  ', closeWith:'&l
b750: 74 3b 2f 68 31 26 67 74 3b 27 2c 20 70 6c 61 63  t;/h1&gt;', plac
b760: 65 48 6f 6c 64 65 72 3a 27 59 6f 75 72 20 74 69  eHolder:'Your ti
b770: 74 6c 65 20 68 65 72 65 2e 2e 2e 27 20 7d 2c 0d  tle here...' },.
b780: 0a 09 20 20 20 20 7b 6e 61 6d 65 3a 27 48 65 61  ..    {name:'Hea
b790: 64 69 6e 67 20 32 27 2c 20 6b 65 79 3a 27 32 27  ding 2', key:'2'
b7a0: 2c 20 6f 70 65 6e 57 69 74 68 3a 27 26 6c 74 3b  , openWith:'&lt;
b7b0: 68 32 28 21 28 20 63 6c 61 73 73 3d 22 5b 21 5b  h2(!( class="[![
b7c0: 43 6c 61 73 73 5d 21 5d 22 29 21 29 26 67 74 3b  Class]!]")!)&gt;
b7d0: 27 2c 20 63 6c 6f 73 65 57 69 74 68 3a 27 26 6c  ', closeWith:'&l
b7e0: 74 3b 2f 68 32 26 67 74 3b 27 2c 20 70 6c 61 63  t;/h2&gt;', plac
b7f0: 65 48 6f 6c 64 65 72 3a 27 59 6f 75 72 20 74 69  eHolder:'Your ti
b800: 74 6c 65 20 68 65 72 65 2e 2e 2e 27 20 7d 2c 0d  tle here...' },.
b810: 0a 09 20 20 20 20 7b 6e 61 6d 65 3a 27 48 65 61  ..    {name:'Hea
b820: 64 69 6e 67 20 33 27 2c 20 6b 65 79 3a 27 33 27  ding 3', key:'3'
b830: 2c 20 6f 70 65 6e 57 69 74 68 3a 27 26 6c 74 3b  , openWith:'&lt;
b840: 68 33 28 21 28 20 63 6c 61 73 73 3d 22 5b 21 5b  h3(!( class="[![
b850: 43 6c 61 73 73 5d 21 5d 22 29 21 29 26 67 74 3b  Class]!]")!)&gt;
b860: 27 2c 20 63 6c 6f 73 65 57 69 74 68 3a 27 26 6c  ', closeWith:'&l
b870: 74 3b 2f 68 33 26 67 74 3b 27 2c 20 70 6c 61 63  t;/h3&gt;', plac
b880: 65 48 6f 6c 64 65 72 3a 27 59 6f 75 72 20 74 69  eHolder:'Your ti
b890: 74 6c 65 20 68 65 72 65 2e 2e 2e 27 20 7d 2c 0d  tle here...' },.
b8a0: 0a 09 20 20 20 20 7b 6e 61 6d 65 3a 27 48 65 61  ..    {name:'Hea
b8b0: 64 69 6e 67 20 34 27 2c 20 6b 65 79 3a 27 34 27  ding 4', key:'4'
b8c0: 2c 20 6f 70 65 6e 57 69 74 68 3a 27 26 6c 74 3b  , openWith:'&lt;
b8d0: 68 34 28 21 28 20 63 6c 61 73 73 3d 22 5b 21 5b  h4(!( class="[![
b8e0: 43 6c 61 73 73 5d 21 5d 22 29 21 29 26 67 74 3b  Class]!]")!)&gt;
b8f0: 27 2c 20 63 6c 6f 73 65 57 69 74 68 3a 27 26 6c  ', closeWith:'&l
b900: 74 3b 2f 68 34 26 67 74 3b 27 2c 20 70 6c 61 63  t;/h4&gt;', plac
b910: 65 48 6f 6c 64 65 72 3a 27 59 6f 75 72 20 74 69  eHolder:'Your ti
b920: 74 6c 65 20 68 65 72 65 2e 2e 2e 27 20 7d 2c 0d  tle here...' },.
b930: 0a 09 20 20 20 20 7b 6e 61 6d 65 3a 27 48 65 61  ..    {name:'Hea
b940: 64 69 6e 67 20 35 27 2c 20 6b 65 79 3a 27 35 27  ding 5', key:'5'
b950: 2c 20 6f 70 65 6e 57 69 74 68 3a 27 26 6c 74 3b  , openWith:'&lt;
b960: 68 35 28 21 28 20 63 6c 61 73 73 3d 22 5b 21 5b  h5(!( class="[![
b970: 43 6c 61 73 73 5d 21 5d 22 29 21 29 26 67 74 3b  Class]!]")!)&gt;
b980: 27 2c 20 63 6c 6f 73 65 57 69 74 68 3a 27 26 6c  ', closeWith:'&l
b990: 74 3b 2f 68 35 26 67 74 3b 27 2c 20 70 6c 61 63  t;/h5&gt;', plac
b9a0: 65 48 6f 6c 64 65 72 3a 27 59 6f 75 72 20 74 69  eHolder:'Your ti
b9b0: 74 6c 65 20 68 65 72 65 2e 2e 2e 27 20 7d 2c 0d  tle here...' },.
b9c0: 0a 09 20 20 20 20 7b 6e 61 6d 65 3a 27 48 65 61  ..    {name:'Hea
b9d0: 64 69 6e 67 20 36 27 2c 20 6b 65 79 3a 27 36 27  ding 6', key:'6'
b9e0: 2c 20 6f 70 65 6e 57 69 74 68 3a 27 26 6c 74 3b  , openWith:'&lt;
b9f0: 68 36 28 21 28 20 63 6c 61 73 73 3d 22 5b 21 5b  h6(!( class="[![
ba00: 43 6c 61 73 73 5d 21 5d 22 29 21 29 26 67 74 3b  Class]!]")!)&gt;
ba10: 27 2c 20 63 6c 6f 73 65 57 69 74 68 3a 27 26 6c  ', closeWith:'&l
ba20: 74 3b 2f 68 36 26 67 74 3b 27 2c 20 70 6c 61 63  t;/h6&gt;', plac
ba30: 65 48 6f 6c 64 65 72 3a 27 59 6f 75 72 20 74 69  eHolder:'Your ti
ba40: 74 6c 65 20 68 65 72 65 2e 2e 2e 27 20 7d 2c 0d  tle here...' },.
ba50: 0a 09 20 20 20 20 7b 6e 61 6d 65 3a 27 50 61 72  ..    {name:'Par
ba60: 61 67 72 61 70 68 27 2c 20 6f 70 65 6e 57 69 74  agraph', openWit
ba70: 68 3a 27 26 6c 74 3b 70 28 21 28 20 63 6c 61 73  h:'&lt;p(!( clas
ba80: 73 3d 22 5b 21 5b 43 6c 61 73 73 5d 21 5d 22 29  s="[![Class]!]")
ba90: 21 29 26 67 74 3b 27 2c 20 63 6c 6f 73 65 57 69  !)&gt;', closeWi
baa0: 74 68 3a 27 26 6c 74 3b 2f 70 26 67 74 3b 27 20  th:'&lt;/p&gt;'
bab0: 20 7d 2c 0d 0a 09 20 20 20 20 7b 73 65 70 61 72   },...    {separ
bac0: 61 74 6f 72 3a 27 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ator:'----------
bad0: 2d 2d 2d 2d 2d 27 20 7d 2c 0d 0a 09 20 20 20 20  -----' },...
bae0: 7b 6e 61 6d 65 3a 27 42 6f 6c 64 27 2c 20 6b 65  {name:'Bold', ke
baf0: 79 3a 27 42 27 2c 20 6f 70 65 6e 57 69 74 68 3a  y:'B', openWith:
bb00: 27 26 6c 74 3b 73 74 72 6f 6e 67 26 67 74 3b 27  '&lt;strong&gt;'
bb10: 2c 20 63 6c 6f 73 65 57 69 74 68 3a 27 26 6c 74  , closeWith:'&lt
bb20: 3b 2f 73 74 72 6f 6e 67 26 67 74 3b 27 20 7d 2c  ;/strong&gt;' },
bb30: 0d 0a 09 20 20 20 20 7b 6e 61 6d 65 3a 27 49 74  ...    {name:'It
bb40: 61 6c 69 63 27 2c 20 6b 65 79 3a 27 49 27 2c 20  alic', key:'I',
bb50: 6f 70 65 6e 57 69 74 68 3a 27 26 6c 74 3b 65 6d  openWith:'&lt;em
bb60: 26 67 74 3b 27 2c 20 63 6c 6f 73 65 57 69 74 68  &gt;', closeWith
bb70: 3a 27 26 6c 74 3b 2f 65 6d 26 67 74 3b 27 20 20  :'&lt;/em&gt;'
bb80: 7d 2c 0d 0a 09 20 20 20 20 7b 6e 61 6d 65 3a 27  },...    {name:'
bb90: 53 74 72 6f 6b 65 20 74 68 72 6f 75 67 68 27 2c  Stroke through',
bba0: 20 6b 65 79 3a 27 53 27 2c 20 6f 70 65 6e 57 69   key:'S', openWi
bbb0: 74 68 3a 27 26 6c 74 3b 64 65 6c 26 67 74 3b 27  th:'&lt;del&gt;'
bbc0: 2c 20 63 6c 6f 73 65 57 69 74 68 3a 27 26 6c 74  , closeWith:'&lt
bbd0: 3b 2f 64 65 6c 26 67 74 3b 27 20 7d 2c 0d 0a 09  ;/del&gt;' },...
bbe0: 20 20 20 20 7b 73 65 70 61 72 61 74 6f 72 3a 27      {separator:'
bbf0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 27  ---------------'
bc00: 20 7d 2c 0d 0a 09 20 20 20 20 7b 6e 61 6d 65 3a   },...    {name:
bc10: 27 55 6c 27 2c 20 6f 70 65 6e 57 69 74 68 3a 27  'Ul', openWith:'
bc20: 26 6c 74 3b 75 6c 26 67 74 3b 5c 6e 27 2c 20 63  &lt;ul&gt;\n', c
bc30: 6c 6f 73 65 57 69 74 68 3a 27 26 6c 74 3b 2f 75  loseWith:'&lt;/u
bc40: 6c 26 67 74 3b 5c 6e 27 20 7d 2c 0d 0a 09 20 20  l&gt;\n' },...
bc50: 20 20 7b 6e 61 6d 65 3a 27 4f 6c 27 2c 20 6f 70    {name:'Ol', op
bc60: 65 6e 57 69 74 68 3a 27 26 6c 74 3b 6f 6c 26 67  enWith:'&lt;ol&g
bc70: 74 3b 5c 6e 27 2c 20 63 6c 6f 73 65 57 69 74 68  t;\n', closeWith
bc80: 3a 27 26 6c 74 3b 2f 6f 6c 26 67 74 3b 5c 6e 27  :'&lt;/ol&gt;\n'
bc90: 20 7d 2c 0d 0a 09 20 20 20 20 7b 6e 61 6d 65 3a   },...    {name:
bca0: 27 4c 69 27 2c 20 6f 70 65 6e 57 69 74 68 3a 27  'Li', openWith:'
bcb0: 26 6c 74 3b 6c 69 26 67 74 3b 27 2c 20 63 6c 6f  &lt;li&gt;', clo
bcc0: 73 65 57 69 74 68 3a 27 26 6c 74 3b 2f 6c 69 26  seWith:'&lt;/li&
bcd0: 67 74 3b 27 20 7d 2c 0d 0a 09 20 20 20 20 7b 73  gt;' },...    {s
bce0: 65 70 61 72 61 74 6f 72 3a 27 2d 2d 2d 2d 2d 2d  eparator:'------
bcf0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 27 20 7d 2c 0d 0a 09  ---------' },...
bd00: 20 20 20 20 7b 6e 61 6d 65 3a 27 50 69 63 74 75      {name:'Pictu
bd10: 72 65 27 2c 20 6b 65 79 3a 27 50 27 2c 20 72 65  re', key:'P', re
bd20: 70 6c 61 63 65 57 69 74 68 3a 27 26 6c 74 3b 69  placeWith:'&lt;i
bd30: 6d 67 20 73 72 63 3d 22 5b 21 5b 53 6f 75 72 63  mg src="[![Sourc
bd40: 65 3a 21 3a 68 74 74 70 3a 2f 2f 5d 21 5d 22 20  e:!:http://]!]"
bd50: 61 6c 74 3d 22 5b 21 5b 41 6c 74 65 72 6e 61 74  alt="[![Alternat
bd60: 69 76 65 20 74 65 78 74 5d 21 5d 22 20 2f 26 67  ive text]!]" /&g
bd70: 74 3b 27 20 7d 2c 0d 0a 09 20 20 20 20 7b 6e 61  t;' },...    {na
bd80: 6d 65 3a 27 4c 69 6e 6b 27 2c 20 6b 65 79 3a 27  me:'Link', key:'
bd90: 4c 27 2c 20 6f 70 65 6e 57 69 74 68 3a 27 26 6c  L', openWith:'&l
bda0: 74 3b 61 20 68 72 65 66 3d 22 5b 21 5b 4c 69 6e  t;a href="[![Lin
bdb0: 6b 3a 21 3a 68 74 74 70 3a 2f 2f 5d 21 5d 22 28  k:!:http://]!]"(
bdc0: 21 28 20 74 69 74 6c 65 3d 22 5b 21 5b 54 69 74  !( title="[![Tit
bdd0: 6c 65 5d 21 5d 22 29 21 29 26 67 74 3b 27 2c 20  le]!]")!)&gt;',
bde0: 63 6c 6f 73 65 57 69 74 68 3a 27 26 6c 74 3b 2f  closeWith:'&lt;/
bdf0: 61 26 67 74 3b 27 2c 20 70 6c 61 63 65 48 6f 6c  a&gt;', placeHol
be00: 64 65 72 3a 27 59 6f 75 72 20 74 65 78 74 20 74  der:'Your text t
be10: 6f 20 6c 69 6e 6b 2e 2e 2e 27 20 7d 2c 0d 0a 09  o link...' },...
be20: 20 20 20 20 7b 73 65 70 61 72 61 74 6f 72 3a 27      {separator:'
be30: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 27  ---------------'
be40: 20 7d 2c 0d 0a 09 20 20 20 20 7b 6e 61 6d 65 3a   },...    {name:
be50: 27 43 6c 65 61 6e 27 2c 20 72 65 70 6c 61 63 65  'Clean', replace
be60: 57 69 74 68 3a 66 75 6e 63 74 69 6f 6e 28 68 29  With:function(h)
be70: 20 7b 20 72 65 74 75 72 6e 20 68 2e 73 65 6c 65   { return h.sele
be80: 63 74 69 6f 6e 2e 72 65 70 6c 61 63 65 28 2f 26  ction.replace(/&
be90: 6c 74 3b 28 2e 2a 3f 29 26 67 74 3b 2f 67 2c 20  lt;(.*?)&gt;/g,
bea0: 22 22 29 20 7d 20 7d 2c 0d 0a 09 20 20 20 20 7b  "") } },...    {
beb0: 6e 61 6d 65 3a 27 50 72 65 76 69 65 77 27 2c 20  name:'Preview',
bec0: 63 61 6c 6c 3a 27 70 72 65 76 69 65 77 27 2c 20  call:'preview',
bed0: 63 6c 61 73 73 4e 61 6d 65 3a 27 70 72 65 76 69  className:'previ
bee0: 65 77 27 20 7d 0d 0a 09 5d 0d 0a 20 20 20 20 20  ew' }...]..
bef0: 20 7d 0d 0a 20 20 20 20 20 20 66 6f 72 28 76 61   }..      for(va
bf00: 72 20 69 3d 30 20 3b 69 20 3c 20 6c 3b 69 2b 2b  r i=0 ;i < l;i++
bf10: 29 7b 0d 0a 09 6e 20 3d 20 6d 5b 69 5d 2e 6e 61  ){...n = m[i].na
bf20: 6d 65 0d 0a 09 69 66 28 20 27 63 6f 6d 6d 65 6e  me...if( 'commen
bf30: 74 27 20 3d 3d 20 6e 20 7c 7c 20 27 63 6d 61 70  t' == n || 'cmap
bf40: 70 6e 64 27 20 3d 3d 20 6e 20 7c 7c 20 22 77 22  pnd' == n || "w"
bf50: 20 20 3d 3d 20 6e 29 7b 0d 0a 09 20 20 20 20 6d    == n){...    m
bf60: 5b 69 5d 2e 69 64 20 3d 20 6e 3c 2f 6e 6f 77 69  [i].id = n</nowi
bf70: 6b 69 3e 0d 0a 09 20 20 20 20 24 28 66 75 6e 63  ki>...    \$(func
bf80: 74 69 6f 6e 28 29 20 7b 0d 0a 09 20 20 20 20 20  tion() {...
bf90: 20 24 28 22 23 22 20 2b 20 6e 29 2e 6d 61 72 6b   \$("#" + n).mark
bfa0: 49 74 55 70 28 6d 79 53 65 74 74 69 6e 67 73 29  ItUp(mySettings)
bfb0: 3b 0d 0a 09 20 20 20 20 7d 29 3b 0d 0a 09 7d 0d  ;...    });...}.
bfc0: 0a 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 26 6c  .      }..    &l
bfd0: 74 3b 2f 73 63 72 69 70 74 26 67 74 3b 0d 0a 20  t;/script&gt;..
bfe0: 3c 2f 70 72 65 3e 0d 0a 0d 0a 3c 68 32 3e 3c 61  </pre>....<h2><a
bff0: 20 6e 61 6d 65 3d 22 74 69 63 6b 65 74 2d 63 68   name="ticket-ch
c000: 65 63 6b 69 6e 2d 6c 69 6e 6b 73 22 3e 4c 69 6e  eckin-links">Lin
c010: 6b 69 6e 67 20 54 69 63 6b 65 74 73 20 74 6f 20  king Tickets to
c020: 43 68 65 63 6b 69 6e 73 3c 2f 61 3e 3c 2f 68 32  Checkins</a></h2
c030: 3e 0d 0a 0d 0a 49 74 27 73 20 65 61 73 79 20 74  >....It's easy t
c040: 6f 20 6c 69 6e 6b 20 61 20 63 68 65 63 6b 69 6e  o link a checkin
c050: 20 74 6f 20 61 20 74 69 63 6b 65 74 2e 2e 2e 20   to a ticket...
c060: 73 69 6d 70 6c 79 20 69 6e 63 6c 75 64 65 20 3c  simply include <
c070: 6e 6f 77 69 6b 69 3e 5b 74 69 63 6b 65 74 2d 75  nowiki>[ticket-u
c080: 75 69 64 5d 3c 2f 6e 6f 77 69 6b 69 3e 20 69 6e  uid]</nowiki> in
c090: 20 79 6f 75 72 20 63 6f 6d 6d 69 74 20 63 6f 6d   your commit com
c0a0: 6d 65 6e 74 2e 20 4e 6f 77 2c 20 77 68 65 6e 20  ment. Now, when
c0b0: 79 6f 75 20 64 6f 20 74 68 61 74 2c 20 79 6f 75  you do that, you
c0c0: 20 61 6c 73 6f 20 68 61 76 65 20 74 68 65 20 61   also have the a
c0d0: 62 69 6c 69 74 79 20 74 6f 20 6c 69 6e 6b 20 61  bility to link a
c0e0: 20 74 69 63 6b 65 74 20 74 6f 20 74 68 65 20 61   ticket to the a
c0f0: 73 73 6f 63 69 61 74 65 64 20 63 68 65 63 6b 69  ssociated checki
c100: 6e 28 73 29 2e 0d 0a 0d 0a 54 68 69 73 20 69 73  n(s).....This is
c110: 20 6a 75 73 74 20 6f 6e 65 20 77 61 79 20 6f 66   just one way of
c120: 20 64 6f 69 6e 67 20 74 68 69 73 2c 20 61 6e 64   doing this, and
c130: 20 77 68 61 74 20 49 20 64 65 63 69 64 65 64 20   what I decided
c140: 74 6f 20 64 6f 2e 20 59 6f 75 20 63 61 6e 20 6f  to do. You can o
c150: 66 20 63 6f 75 72 73 65 20 61 6c 74 65 72 20 69  f course alter i
c160: 74 20 66 6f 72 20 79 6f 75 72 20 6f 77 6e 20 73  t for your own s
c170: 74 79 6c 65 2f 6c 61 79 6f 75 74 2e 0d 0a 0d 0a  tyle/layout.....
c180: 46 69 72 73 74 3a 20 41 64 64 20 61 20 22 53 68  First: Add a "Sh
c190: 6f 72 74 20 55 55 49 44 22 20 74 6f 20 79 6f 75  ort UUID" to you
c1a0: 72 20 56 69 65 77 20 54 69 63 6b 65 74 20 70 61  r View Ticket pa
c1b0: 67 65 2e 20 59 6f 75 20 63 61 6e 20 64 6f 20 74  ge. You can do t
c1c0: 68 69 73 20 62 79 3a 20 0d 0a 0d 0a 3c 76 65 72  his by: ....<ver
c1d0: 62 61 74 69 6d 3e 0d 0a 3c 74 68 31 3e 0d 0a 73  batim>..<th1>..s
c1e0: 65 74 20 73 68 6f 72 74 55 75 69 64 20 5b 73 74  et shortUuid [st
c1f0: 72 69 6e 67 20 72 61 6e 67 65 20 24 74 6b 74 5f  ring range \$tkt_
c200: 75 75 69 64 20 30 20 39 5d 0d 0a 3c 2f 74 68 31  uuid 0 9]..</th1
c210: 3e 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a  >..</verbatim>..
c220: 0d 0a 54 68 65 6e 2c 20 64 69 73 70 6c 61 79 20  ..Then, display
c230: 74 68 61 74 20 74 6f 20 74 68 65 20 75 73 65 72  that to the user
c240: 20 73 6f 6d 65 77 68 65 72 65 3a 20 0d 0a 0d 0a   somewhere: ....
c250: 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 55 75 69 64  <verbatim>..Uuid
c260: 3a 20 24 3c 73 68 6f 72 74 55 75 69 64 3e 0d 0a  : \$<shortUuid>..
c270: 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 0d 0a 41  </verbatim>....A
c280: 6c 6c 20 74 68 61 74 20 64 6f 65 73 20 69 73 20  ll that does is
c290: 6d 61 6b 65 20 69 74 20 65 61 73 79 20 66 6f 72  make it easy for
c2a0: 20 74 68 65 20 64 65 76 65 6c 6f 70 65 72 20 74   the developer t
c2b0: 6f 20 63 6f 70 79 2f 70 61 73 74 65 20 61 20 73  o copy/paste a s
c2c0: 65 6e 73 69 62 6c 65 20 55 55 49 44 20 69 6e 74  ensible UUID int
c2d0: 6f 20 74 68 65 69 72 20 63 6f 6d 6d 69 74 20 6c  o their commit l
c2e0: 6f 67 2e 20 0d 0a 0d 0a 4e 6f 77 2c 20 63 6f 6e  og. ....Now, con
c2f0: 74 69 6e 75 69 6e 67 2c 20 6f 6e 20 74 68 65 20  tinuing, on the
c300: 73 61 6d 65 20 56 69 65 77 20 50 61 67 65 20 61  same View Page a
c310: 64 64 20 61 20 6c 69 6e 6b 20 74 6f 20 76 69 65  dd a link to vie
c320: 77 20 61 73 73 6f 63 69 61 74 65 64 20 74 69 63  w associated tic
c330: 6b 65 74 73 3a 20 0d 0a 0d 0a 3c 76 65 72 62 61  kets: ....<verba
c340: 74 69 6d 3e 0d 0a 3c 61 20 68 72 65 66 3d 22 24  tim>..<a href="\$
c350: 3c 62 61 73 65 75 72 6c 3e 2f 74 69 6d 65 6c 69  <baseurl>/timeli
c360: 6e 65 3f 79 3d 63 69 26 73 3d 24 3c 73 68 6f 72  ne?y=ci&s=\$<shor
c370: 74 55 75 69 64 3e 22 3e 61 73 73 6f 63 69 61 74  tUuid>">associat
c380: 65 64 20 74 69 63 6b 65 74 73 3c 2f 61 3e 0d 0a  ed tickets</a>..
c390: 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 0d 0a 57  </verbatim>....W
c3a0: 68 61 74 20 74 68 69 73 20 64 6f 65 73 20 69 73  hat this does is
c3b0: 20 73 65 61 72 63 68 65 73 20 61 6c 6c 20 63 68   searches all ch
c3c0: 65 63 6b 69 6e 73 20 66 6f 72 20 74 68 65 20 74  eckins for the t
c3d0: 69 63 6b 65 74 73 20 75 75 69 64 2c 20 74 68 75  ickets uuid, thu
c3e0: 73 2c 20 79 6f 75 20 63 61 6e 20 6e 6f 77 20 73  s, you can now s
c3f0: 65 65 20 61 6c 6c 20 63 68 65 63 6b 69 6e 73 20  ee all checkins
c400: 74 68 61 74 20 61 72 65 20 6c 69 6e 6b 65 64 20  that are linked
c410: 77 69 74 68 20 74 68 65 20 67 69 76 65 6e 20 74  with the given t
c420: 69 63 6b 65 74 2e 0d 0a 0d 0a 3c 64 69 76 3e 0d  icket.....<div>.
c430: 0a 20 20 3c 68 32 3e 3c 61 20 6e 61 6d 65 3d 22  .  <h2><a name="
c440: 74 68 31 2d 75 73 61 67 65 22 3e 46 6f 73 73 69  th1-usage">Fossi
c450: 6c 20 54 68 31 3c 2f 61 3e 3c 2f 68 32 3e 0d 0a  l Th1</a></h2>..
c460: 0d 0a 20 20 3c 68 33 3e 50 75 72 70 6f 73 65 20  ..  <h3>Purpose
c470: 6f 66 20 54 68 31 3c 2f 68 33 3e 0d 0a 0d 0a 20  of Th1</h3>....
c480: 20 3c 70 3e 54 68 31 20 69 73 20 75 73 65 64 20   <p>Th1 is used
c490: 61 73 20 61 20 3c 73 74 72 6f 6e 67 3e 74 65 6d  as a <strong>tem
c4a0: 70 6c 61 74 65 20 73 79 73 74 65 6d 3c 2f 73 74  plate system</st
c4b0: 72 6f 6e 67 3e 20 66 6f 72 0d 0a 20 20 67 65 6e  rong> for..  gen
c4c0: 65 72 61 74 69 6e 67 20 48 54 4d 4c 20 68 65 61  erating HTML hea
c4d0: 64 65 72 20 61 6e 64 20 66 6f 6f 74 65 72 2e 20  der and footer.
c4e0: 49 74 20 69 73 20 61 20 54 43 4c 20 6c 69 6b 65  It is a TCL like
c4f0: 0d 0a 20 20 6c 61 6e 67 75 61 67 65 2e 20 49 66  ..  language. If
c500: 20 79 6f 75 20 6b 6e 6f 77 20 54 43 4c 20 79 6f   you know TCL yo
c510: 75 20 6b 6e 6f 77 20 54 48 31 2e 3c 2f 70 3e 0d  u know TH1.</p>.
c520: 0a 0d 0a 20 20 3c 70 3e 49 74 20 69 73 20 69 6e  ...  <p>It is in
c530: 76 6f 6b 65 64 20 62 79 20 6f 70 65 6e 69 6e 67  voked by opening
c540: 20 61 20 26 6c 74 3b 74 68 31 26 67 74 3b 20 74   a &lt;th1&gt; t
c550: 61 67 2e 20 54 68 65 20 66 69 72 73 74 20 74 69  ag. The first ti
c560: 6d 65 20 69 74 0d 0a 20 20 73 74 61 72 74 73 20  me it..  starts
c570: 61 6e 20 69 6e 74 65 72 70 72 65 74 65 72 2e 20  an interpreter.
c580: 54 68 65 20 73 74 61 74 65 20 6f 66 20 74 68 69  The state of thi
c590: 73 20 69 6e 74 65 72 70 72 65 74 65 72 20 69 73  s interpreter is
c5a0: 20 76 61 6c 69 64 0d 0a 20 20 64 75 72 69 6e 67   valid..  during
c5b0: 20 74 68 65 20 70 61 67 65 20 67 65 6e 65 72 61   the page genera
c5c0: 74 69 6f 6e 2e 3c 2f 70 3e 0d 0a 0d 0a 20 20 3c  tion.</p>....  <
c5d0: 70 3e 46 6f 72 20 65 78 61 6d 70 6c 65 20 77 68  p>For example wh
c5e0: 65 6e 20 79 6f 75 3c 2f 70 3e 0d 0a 0d 0a 20 20  en you</p>....
c5f0: 3c 75 6c 20 63 6f 6d 70 61 63 74 3d 27 63 6f 6d  <ul compact='com
c600: 70 61 63 74 27 3e 0d 0a 20 20 20 20 3c 6c 69 3e  pact'>..    <li>
c610: 0d 0a 20 20 20 20 20 20 64 6f 20 69 6e 20 74 68  ..      do in th
c620: 65 20 68 65 61 64 65 72 20 26 6c 74 3b 74 68 31  e header &lt;th1
c630: 26 67 74 3b 20 73 65 74 20 76 65 72 73 69 6f 6e  &gt; set version
c640: 20 62 65 74 61 20 26 6c 74 3b 2f 74 68 31 26 67   beta &lt;/th1&g
c650: 74 3b 0d 0a 20 20 20 20 3c 2f 6c 69 3e 0d 0a 20  t;..    </li>..
c660: 20 20 20 3c 6c 69 3e 0d 0a 20 20 20 20 20 20 74     <li>..      t
c670: 68 65 6e 20 69 6e 20 74 68 65 20 66 6f 6f 74 65  hen in the foote
c680: 72 20 26 6c 74 3b 74 68 31 26 67 74 3b 70 75 74  r &lt;th1&gt;put
c690: 73 20 22 56 65 72 73 69 6f 6e 20 73 65 74 20 69  s "Version set i
c6a0: 6e 20 68 65 61 64 65 72 0d 0a 20 20 20 20 20 20  n header..
c6b0: 69 73 20 24 76 65 72 73 69 6f 6e 22 26 6c 74 3b  is \$version"&lt;
c6c0: 2f 74 68 31 26 67 74 3b 20 72 65 73 75 6c 74 73  /th1&gt; results
c6d0: 20 69 6e 20 27 56 65 72 73 69 6f 6e 20 73 65 74   in 'Version set
c6e0: 20 69 6e 20 68 65 61 64 65 72 20 69 73 0d 0a 20   in header is..
c6f0: 20 20 20 20 20 62 65 74 61 27 0d 0a 20 20 20 20       beta'..
c700: 3c 2f 6c 69 3e 0d 0a 20 20 3c 2f 75 6c 3e 0d 0a  </li>..  </ul>..
c710: 0d 0a 20 20 3c 70 3e 42 65 63 61 75 73 65 20 69  ..  <p>Because i
c720: 74 20 69 73 20 75 73 65 64 20 61 73 20 61 20 74  t is used as a t
c730: 65 6d 70 6c 61 74 65 20 73 79 73 74 65 6d 20 69  emplate system i
c740: 74 20 65 78 70 6f 72 74 73 20 73 6f 6d 65 0d 0a  t exports some..
c750: 20 20 64 65 74 61 69 6c 73 20 6f 66 20 66 6f 73    details of fos
c760: 73 69 6c 20 74 68 72 6f 75 67 68 3c 2f 70 3e 0d  sil through</p>.
c770: 0a 0d 0a 20 20 3c 6f 6c 3e 0d 0a 20 20 20 20 3c  ...  <ol>..    <
c780: 6c 69 3e 76 61 72 69 61 62 6c 65 73 3c 2f 6c 69  li>variables</li
c790: 3e 0d 0a 20 20 20 20 3c 6c 69 3e 66 75 6e 63 74  >..    <li>funct
c7a0: 69 6f 6e 73 3c 2f 6c 69 3e 0d 0a 20 20 3c 2f 6f  ions</li>..  </o
c7b0: 6c 3e 0d 0a 0d 0a 20 20 3c 70 3e 54 68 65 73 65  l>....  <p>These
c7c0: 20 61 72 65 20 64 65 66 69 6e 65 64 20 69 6e 0d   are defined in.
c7d0: 0a 20 5b 35 39 30 65 30 37 33 37 34 36 31 32 31  . [590e073746121
c7e0: 62 65 66 65 36 35 35 36 35 65 65 36 64 37 33 30  befe65565ee6d730
c7f0: 30 37 63 33 37 61 64 65 31 32 63 7c 73 72 63 2f  07c37ade12c|src/
c800: 74 68 5f 6d 61 69 6e 2e 63 5d 29 3c 2f 70 3e 0d  th_main.c])</p>.
c810: 0a 0d 0a 20 20 3c 68 33 3e 56 61 72 69 61 62 6c  ...  <h3>Variabl
c820: 65 73 3c 2f 68 33 3e 0d 0a 0d 0a 20 20 3c 70 3e  es</h3>....  <p>
c830: 54 68 65 73 65 20 76 61 72 69 61 62 6c 65 20 61  These variable a
c840: 72 65 20 67 6c 6f 62 61 6c 20 61 6e 64 20 61 76  re global and av
c850: 61 69 6c 61 62 6c 65 20 6f 75 74 73 69 64 65 20  ailable outside
c860: 26 6c 74 3b 74 68 31 26 67 74 3b 0d 0a 20 20 74  &lt;th1&gt;..  t
c870: 61 67 73 2e 20 54 68 65 79 20 63 61 6e 20 62 65  ags. They can be
c880: 20 72 65 66 65 72 65 6e 63 65 64 20 65 69 74 68   referenced eith
c890: 65 72 20 61 73 3c 2f 70 3e 0d 0a 0d 0a 20 20 3c  er as</p>....  <
c8a0: 75 6c 20 63 6f 6d 70 61 63 74 3d 27 63 6f 6d 70  ul compact='comp
c8b0: 61 63 74 27 3e 0d 0a 20 20 20 20 3c 6c 69 3e 24  act'>..    <li>\$
c8c0: 76 61 72 2e 20 65 2e 67 2e 20 24 74 69 74 6c 65  var. e.g. \$title
c8d0: 2e 3c 2f 6c 69 3e 0d 0a 20 20 20 20 3c 6c 69 3e  .</li>..    <li>
c8e0: 24 26 6c 74 3b 76 61 72 26 67 74 3b 20 65 2e 67  \$&lt;var&gt; e.g
c8f0: 2e 20 24 26 6c 74 3b 74 69 74 6c 65 26 67 74 3b  . \$&lt;title&gt;
c900: 3c 2f 6c 69 3e 0d 0a 20 20 3c 2f 75 6c 3e 0d 0a  </li>..  </ul>..
c910: 0d 0a 20 20 3c 70 3e 54 68 65 20 66 6f 6c 6c 6f  ..  <p>The follo
c920: 77 69 6e 67 20 61 72 65 20 64 65 66 69 6e 65 64  wing are defined
c930: 3a 3c 2f 70 3e 0d 0a 0d 0a 20 20 3c 75 6c 20 63  :</p>....  <ul c
c940: 6f 6d 70 61 63 74 3d 27 63 6f 6d 70 61 63 74 27  ompact='compact'
c950: 3e 0d 0a 20 20 20 20 3c 6c 69 3e 24 62 61 73 65  >..    <li>\$base
c960: 75 72 6c 2e 20 54 68 65 20 66 69 72 73 74 20 70  url. The first p
c970: 61 72 74 20 6f 66 20 74 68 65 20 75 72 6c 2e 20  art of the url.
c980: 46 6f 72 20 65 78 61 6d 70 6c 65 0d 0a 20 20 20  For example..
c990: 20 3c 73 74 72 6f 6e 67 3e 68 74 74 70 3a 2f 2f   <strong>http://
c9a0: 6c 6f 63 61 6c 68 6f 73 74 3a 38 30 38 30 3c 2f  localhost:8080</
c9b0: 73 74 72 6f 6e 67 3e 3c 2f 6c 69 3e 0d 0a 20 20  strong></li>..
c9c0: 20 20 3c 6c 69 3e 24 63 75 72 72 65 6e 74 5f 70    <li>\$current_p
c9d0: 61 67 65 2e 20 54 68 65 20 70 61 67 65 20 72 65  age. The page re
c9e0: 71 75 65 73 74 65 64 2e 20 46 6f 72 20 65 78 61  quested. For exa
c9f0: 6d 70 6c 65 20 65 64 69 74 69 6e 67 20 61 0d 0a  mple editing a..
ca00: 20 20 20 20 77 69 6b 69 70 61 67 65 20 69 73 20      wikipage is
ca10: 64 6f 6e 65 20 62 79 20 24 62 61 73 65 75 72 6c  done by \$baseurl
ca20: 2f 77 69 6b 69 65 64 69 74 20 24 63 75 72 72 65  /wikiedit \$curre
ca30: 6e 74 5f 70 61 67 65 20 69 73 0d 0a 20 20 20 20  nt_page is..
ca40: 3c 73 74 72 6f 6e 67 3e 77 69 6b 69 65 64 69 74  <strong>wikiedit
ca50: 3c 2f 73 74 72 6f 6e 67 3e 3c 2f 6c 69 3e 0d 0a  </strong></li>..
ca60: 20 20 20 20 3c 6c 69 3e 24 69 6e 64 65 78 5f 70      <li>\$index_p
ca70: 61 67 65 3c 73 74 72 6f 6e 67 3e 2e 3c 2f 73 74  age<strong>.</st
ca80: 72 6f 6e 67 3e 20 4d 6f 73 74 6c 79 20 74 68 65  rong> Mostly the
ca90: 20 76 61 6c 75 65 20 69 73 0d 0a 20 20 20 20 3c   value is..    <
caa0: 73 74 72 6f 6e 67 3e 2f 68 6f 6d 65 3c 2f 73 74  strong>/home</st
cab0: 72 6f 6e 67 3e 20 73 65 74 61 62 6c 65 20 69 6e  rong> setable in
cac0: 20 41 64 6d 69 6e 2f 43 6f 6e 66 69 67 75 72 61   Admin/Configura
cad0: 74 69 6f 6e 3c 2f 6c 69 3e 0d 0a 20 20 20 20 3c  tion</li>..    <
cae0: 6c 69 3e 24 74 69 74 6c 65 2e 20 54 68 65 20 74  li>\$title. The t
caf0: 69 74 6c 65 20 6f 66 20 74 68 65 20 24 63 75 72  itle of the \$cur
cb00: 72 65 6e 74 5f 70 61 67 65 3c 2f 6c 69 3e 0d 0a  rent_page</li>..
cb10: 20 20 20 20 3c 6c 69 3e 24 6c 6f 67 69 6e 2e 20      <li>\$login.
cb20: 54 68 65 20 6e 61 6d 65 20 6f 66 20 75 73 65 72  The name of user
cb30: 20 69 66 20 61 20 6c 6f 67 69 6e 20 68 61 73 20   if a login has
cb40: 6f 63 63 75 72 72 65 64 2e 20 69 66 20 79 6f 75  occurred. if you
cb50: 0d 0a 20 20 20 20 75 73 65 20 74 68 69 73 20 76  ..    use this v
cb60: 61 72 69 61 62 6c 65 20 61 6c 77 61 79 73 20 63  ariable always c
cb70: 68 65 63 6b 20 69 66 20 69 74 20 65 78 69 73 74  heck if it exist
cb80: 73 20 76 69 61 0d 0a 20 20 20 20 3c 73 74 72 6f  s via..    <stro
cb90: 6e 67 3e 3c 63 6f 64 65 3e 69 6e 66 6f 20 65 78  ng><code>info ex
cba0: 69 73 74 73 20 6c 6f 67 69 6e 3c 2f 63 6f 64 65  ists login</code
cbb0: 3e 3c 2f 73 74 72 6f 6e 67 3e 3c 2f 6c 69 3e 0d  ></strong></li>.
cbc0: 0a 20 20 20 20 3c 6c 69 3e 24 6d 61 6e 69 66 65  .    <li>\$manife
cbd0: 73 74 5f 76 65 72 73 69 6f 6e 2e 20 54 68 65 20  st_version. The
cbe0: 66 6f 73 73 69 6c 20 76 65 72 73 69 6f 6e 3c 2f  fossil version</
cbf0: 6c 69 3e 0d 0a 20 20 20 20 3c 6c 69 3e 24 6d 61  li>..    <li>\$ma
cc00: 6e 69 66 65 73 74 5f 64 61 74 65 2e 20 54 68 65  nifest_date. The
cc10: 20 64 61 74 65 20 74 68 61 74 20 66 6f 73 73 69   date that fossi
cc20: 6c 20 76 65 72 73 69 6f 6e 20 77 61 73 0d 0a 20  l version was..
cc30: 20 20 20 63 6f 6d 70 69 6c 65 64 3c 2f 6c 69 3e     compiled</li>
cc40: 0d 0a 20 20 3c 2f 75 6c 3e 0d 0a 0d 0a 20 20 3c  ..  </ul>....  <
cc50: 68 33 3e 46 75 6e 63 74 69 6f 6e 73 3c 2f 68 33  h3>Functions</h3
cc60: 3e 0d 0a 20 20 3c 70 3e 0d 0a 20 20 20 20 20 54  >..  <p>..     T
cc70: 68 65 73 65 20 61 72 65 20 6f 6e 6c 79 20 61 76  hese are only av
cc80: 61 69 62 6c 65 20 62 65 74 77 65 65 6e 20 0d 0a  aible between ..
cc90: 20 20 26 6c 74 3b 74 68 31 26 67 74 3b 20 61 6e    &lt;th1&gt; an
cca0: 64 20 26 6c 74 3b 2f 74 68 31 26 67 74 3b 0d 0a  d &lt;/th1&gt;..
ccb0: 20 20 3c 2f 70 3e 0d 0a 20 20 3c 75 6c 20 63 6f    </p>..  <ul co
ccc0: 6d 70 61 63 74 3d 27 63 6f 6d 70 61 63 74 27 3e  mpact='compact'>
ccd0: 0d 0a 20 20 20 20 3c 6c 69 3e 63 6f 6d 62 6f 62  ..    <li>combob
cce0: 6f 78 20 6e 61 6d 65 20 74 65 78 74 2d 6c 69 73  ox name text-lis
ccf0: 74 20 6e 75 6d 6c 69 6e 65 73 2e 20 47 65 6e 65  t numlines. Gene
cd00: 72 61 74 65 73 20 61 20 73 65 6c 65 63 74 20 62  rates a select b
cd10: 6f 78 0d 0a 20 20 20 20 77 69 74 68 20 6e 61 6d  ox..    with nam
cd20: 65 3d 22 6e 61 6d 65 22 20 61 6e 64 20 61 20 63  e="name" and a c
cd30: 67 69 2d 70 61 72 61 6d 65 74 65 72 20 6f 66 20  gi-parameter of
cd40: 22 6e 61 6d 65 22 3c 2f 6c 69 3e 0d 0a 20 20 20  "name"</li>..
cd50: 20 3c 6c 69 3e 65 6e 61 62 6c 65 5f 6f 75 74 70   <li>enable_outp
cd60: 75 74 20 62 6f 6f 6c 65 61 6e 3c 2f 6c 69 3e 0d  ut boolean</li>.
cd70: 0a 20 20 20 20 3c 6c 69 3e 6c 69 6e 65 63 6f 75  .    <li>linecou
cd80: 6e 74 20 73 74 72 69 6e 67 20 6d 61 78 20 6d 69  nt string max mi
cd90: 6e 2e 20 43 6f 75 6e 74 73 20 74 68 65 20 6e 75  n. Counts the nu
cda0: 6d 65 72 20 6f 66 20 6e 65 77 6c 69 6e 65 73 20  mer of newlines
cdb0: 69 6e 0d 0a 20 20 20 20 73 74 72 69 6e 67 20 62  in..    string b
cdc0: 75 74 20 6e 6f 74 20 6d 6f 72 65 20 74 68 65 6e  ut not more then
cdd0: 20 6d 61 78 20 61 6e 64 20 6e 6f 74 20 6c 65 73   max and not les
cde0: 73 20 74 68 65 6e 20 6d 69 6e 3c 2f 6c 69 3e 0d  s then min</li>.
cdf0: 0a 20 20 20 20 3c 6c 69 3e 68 61 73 63 61 70 20  .    <li>hascap
ce00: 73 74 72 69 6e 67 2e 20 72 65 74 75 72 6e 20 74  string. return t
ce10: 72 75 65 20 69 66 20 75 73 65 72 20 68 61 73 20  rue if user has
ce20: 61 6c 6c 0d 0a 20 20 20 20 63 61 70 61 62 69 6c  all..    capabil
ce30: 69 74 69 65 73 20 69 6e 20 73 74 72 69 6e 67 3c  ities in string<
ce40: 2f 6c 69 3e 0d 0a 20 20 20 20 3c 6c 69 3e 68 74  /li>..    <li>ht
ce50: 6d 6c 69 7a 65 20 73 74 72 69 6e 67 2e 20 65 78  mlize string. ex
ce60: 63 61 70 65 73 20 61 6c 6c 20 63 68 61 72 73 20  capes all chars
ce70: 69 6e 20 73 74 72 69 6e 67 20 77 68 69 63 68 20  in string which
ce80: 68 61 76 65 0d 0a 20 20 20 20 73 70 65 63 69 61  have..    specia
ce90: 6c 20 6d 65 61 6e 69 6e 67 20 69 6e 20 48 54 4d  l meaning in HTM
cea0: 4c 3c 2f 6c 69 3e 0d 0a 20 20 20 20 3c 6c 69 3e  L</li>..    <li>
ceb0: 64 61 74 65 20 72 65 74 75 72 6e 73 20 74 68 65  date returns the
cec0: 20 73 71 6c 69 74 65 20 76 61 6c 75 65 20 6f 66   sqlite value of
ced0: 20 64 61 74 65 74 69 6d 65 28 27 6e 6f 77 27 29   datetime('now')
cee0: 3c 2f 6c 69 3e 0d 0a 20 20 20 20 3c 6c 69 3e 68  </li>..    <li>h
cef0: 74 6d 6c 20 73 74 72 69 6e 67 20 6f 75 74 70 75  tml string outpu
cf00: 74 20 68 74 6d 6c 3c 2f 6c 69 3e 0d 0a 20 20 20  t html</li>..
cf10: 20 3c 6c 69 3e 70 75 74 73 20 73 74 72 69 6e 67   <li>puts string
cf20: 20 70 72 69 6e 74 73 20 74 68 65 20 73 74 72 69   prints the stri
cf30: 6e 67 3c 2f 6c 69 3e 0d 0a 20 20 20 20 3c 6c 69  ng</li>..    <li
cf40: 3e 77 69 6b 69 20 73 74 72 69 6e 67 2e 20 54 68  >wiki string. Th
cf50: 65 20 73 74 72 69 6e 67 20 69 73 20 69 6e 20 77  e string is in w
cf60: 69 6b 69 20 66 6f 72 6d 61 74 2e 20 74 72 61 6e  iki format. tran
cf70: 73 6c 61 74 65 20 69 74 20 74 6f 0d 0a 20 20 20  slate it to..
cf80: 20 48 54 4d 4c 3c 2f 6c 69 3e 0d 0a 20 20 3c 2f   HTML</li>..  </
cf90: 75 6c 3e 0d 0a 3c 6e 6f 77 69 6b 69 3e 0d 0a 20  ul>..<nowiki>..
cfa0: 20 3c 68 33 3e 45 78 61 6d 70 6c 65 20 66 72 6f   <h3>Example fro
cfb0: 6d 20 61 64 6d 69 6e 2f 68 65 61 64 65 72 3c 2f  m admin/header</
cfc0: 68 33 3e 0d 0a 20 20 3c 70 72 65 3e 0d 0a 26 6c  h3>..  <pre>..&l
cfd0: 74 3b 68 74 6d 6c 26 67 74 3b 0d 0a 26 6c 74 3b  t;html&gt;..&lt;
cfe0: 68 65 61 64 26 67 74 3b 0d 0a 26 6c 74 3b 74 69  head&gt;..&lt;ti
cff0: 74 6c 65 26 67 74 3b 3c 73 74 72 6f 6e 67 3e 24  tle&gt;<strong>\$
d000: 26 6c 74 3b 70 72 6f 6a 65 63 74 5f 6e 61 6d 65  &lt;project_name
d010: 26 67 74 3b 3c 2f 73 74 72 6f 6e 67 3e 3a 20 3c  &gt;</strong>: <
d020: 73 74 72 6f 6e 67 3e 24 26 6c 74 3b 74 69 74 6c  strong>\$&lt;titl
d030: 65 26 67 74 3b 3c 2f 73 74 72 6f 6e 67 3e 26 6c  e&gt;</strong>&l
d040: 74 3b 2f 74 69 74 6c 65 26 67 74 3b 0d 0a 26 6c  t;/title&gt;..&l
d050: 74 3b 6c 69 6e 6b 20 72 65 6c 3d 22 61 6c 74 65  t;link rel="alte
d060: 72 6e 61 74 65 22 20 74 79 70 65 3d 22 61 70 70  rnate" type="app
d070: 6c 69 63 61 74 69 6f 6e 2f 72 73 73 2b 78 6d 6c  lication/rss+xml
d080: 22 20 74 69 74 6c 65 3d 22 52 53 53 20 46 65 65  " title="RSS Fee
d090: 64 22 0d 0a 20 20 20 20 20 20 68 72 65 66 3d 22  d"..      href="
d0a0: 3c 73 74 72 6f 6e 67 3e 24 62 61 73 65 75 72 6c  <strong>\$baseurl
d0b0: 3c 2f 73 74 72 6f 6e 67 3e 2f 74 69 6d 65 6c 69  </strong>/timeli
d0c0: 6e 65 2e 72 73 73 22 26 67 74 3b 0d 0a 26 6c 74  ne.rss"&gt;..&lt
d0d0: 3b 6c 69 6e 6b 20 72 65 6c 3d 22 73 74 79 6c 65  ;link rel="style
d0e0: 73 68 65 65 74 22 20 68 72 65 66 3d 22 24 62 61  sheet" href="\$ba
d0f0: 73 65 75 72 6c 2f 73 74 79 6c 65 2e 63 73 73 22  seurl/style.css"
d100: 20 74 79 70 65 3d 22 74 65 78 74 2f 63 73 73 22   type="text/css"
d110: 0d 0a 20 20 20 20 20 20 6d 65 64 69 61 3d 22 73  ..      media="s
d120: 63 72 65 65 6e 22 26 67 74 3b 0d 0a 26 6c 74 3b  creen"&gt;..&lt;
d130: 2f 68 65 61 64 26 67 74 3b 0d 0a 26 6c 74 3b 62  /head&gt;..&lt;b
d140: 6f 64 79 26 67 74 3b 0d 0a 26 6c 74 3b 64 69 76  ody&gt;..&lt;div
d150: 20 63 6c 61 73 73 3d 22 68 65 61 64 65 72 22 26   class="header"&
d160: 67 74 3b 0d 0a 20 20 26 6c 74 3b 64 69 76 20 63  gt;..  &lt;div c
d170: 6c 61 73 73 3d 22 6c 6f 67 6f 22 26 67 74 3b 0d  lass="logo"&gt;.
d180: 0a 20 20 20 20 26 6c 74 3b 69 6d 67 20 73 72 63  .    &lt;img src
d190: 3d 22 3c 73 74 72 6f 6e 67 3e 24 62 61 73 65 75  ="<strong>\$baseu
d1a0: 72 6c 3c 2f 73 74 72 6f 6e 67 3e 2f 6c 6f 67 6f  rl</strong>/logo
d1b0: 22 20 61 6c 74 3d 22 6c 6f 67 6f 22 26 67 74 3b  " alt="logo"&gt;
d1c0: 0d 0a 20 20 20 20 26 6c 74 3b 62 72 26 67 74 3b  ..    &lt;br&gt;
d1d0: 26 6c 74 3b 6e 6f 62 72 26 67 74 3b 3c 73 74 72  &lt;nobr&gt;<str
d1e0: 6f 6e 67 3e 24 26 6c 74 3b 70 72 6f 6a 65 63 74  ong>\$&lt;project
d1f0: 5f 6e 61 6d 65 26 67 74 3b 3c 2f 73 74 72 6f 6e  _name&gt;</stron
d200: 67 3e 26 6c 74 3b 2f 6e 6f 62 72 26 67 74 3b 0d  g>&lt;/nobr&gt;.
d210: 0a 20 20 26 6c 74 3b 2f 64 69 76 26 67 74 3b 0d  .  &lt;/div&gt;.
d220: 0a 20 20 26 6c 74 3b 64 69 76 20 63 6c 61 73 73  .  &lt;div class
d230: 3d 22 74 69 74 6c 65 22 26 67 74 3b 3c 73 74 72  ="title"&gt;<str
d240: 6f 6e 67 3e 24 26 6c 74 3b 74 69 74 6c 65 26 67  ong>\$&lt;title&g
d250: 74 3b 3c 2f 73 74 72 6f 6e 67 3e 26 6c 74 3b 2f  t;</strong>&lt;/
d260: 64 69 76 26 67 74 3b 0d 0a 20 20 26 6c 74 3b 64  div&gt;..  &lt;d
d270: 69 76 20 63 6c 61 73 73 3d 22 73 74 61 74 75 73  iv class="status
d280: 22 26 67 74 3b 26 6c 74 3b 6e 6f 62 72 26 67 74  "&gt;&lt;nobr&gt
d290: 3b 3c 73 74 72 6f 6e 67 3e 26 6c 74 3b 74 68 31  ;<strong>&lt;th1
d2a0: 26 67 74 3b 3c 2f 73 74 72 6f 6e 67 3e 0d 0a 20  &gt;</strong>..
d2b0: 20 20 20 20 69 66 20 7b 3c 73 74 72 6f 6e 67 3e      if {<strong>
d2c0: 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 6c 6f 67  [info exists log
d2d0: 69 6e 5d 3c 2f 73 74 72 6f 6e 67 3e 7d 20 7b 0d  in]</strong>} {.
d2e0: 0a 20 20 20 20 20 20 20 70 75 74 73 20 22 4c 6f  .       puts "Lo
d2f0: 67 67 65 64 20 69 6e 20 61 73 20 3c 73 74 72 6f  gged in as <stro
d300: 6e 67 3e 24 6c 6f 67 69 6e 3c 2f 73 74 72 6f 6e  ng>\$login</stron
d310: 67 3e 22 0d 0a 20 20 20 20 20 7d 20 65 6c 73 65  g>"..     } else
d320: 20 7b 0d 0a 20 20 20 20 20 20 20 70 75 74 73 20   {..       puts
d330: 22 4e 6f 74 20 6c 6f 67 67 65 64 20 69 6e 22 0d  "Not logged in".
d340: 0a 20 20 20 20 20 7d 0d 0a 20 20 26 6c 74 3b 2f  .     }..  &lt;/
d350: 74 68 31 26 67 74 3b 26 6c 74 3b 2f 6e 6f 62 72  th1&gt;&lt;/nobr
d360: 26 67 74 3b 26 6c 74 3b 2f 64 69 76 26 67 74 3b  &gt;&lt;/div&gt;
d370: 0d 0a 26 6c 74 3b 2f 64 69 76 26 67 74 3b 0d 0a  ..&lt;/div&gt;..
d380: 26 6c 74 3b 64 69 76 20 63 6c 61 73 73 3d 22 6d  &lt;div class="m
d390: 61 69 6e 6d 65 6e 75 22 26 67 74 3b 26 6c 74 3b  ainmenu"&gt;&lt;
d3a0: 74 68 31 26 67 74 3b 0d 0a 68 74 6d 6c 20 22 26  th1&gt;..html "&
d3b0: 6c 74 3b 61 20 68 72 65 66 3d 27 3c 73 74 72 6f  lt;a href='<stro
d3c0: 6e 67 3e 24 62 61 73 65 75 72 6c 24 69 6e 64 65  ng>\$baseurl\$inde
d3d0: 78 5f 70 61 67 65 3c 2f 73 74 72 6f 6e 67 3e 27  x_page</strong>'
d3e0: 26 67 74 3b 48 6f 6d 65 26 6c 74 3b 2f 61 26 67  &gt;Home&lt;/a&g
d3f0: 74 3b 20 22 0d 0a 69 66 20 7b 3c 73 74 72 6f 6e  t; "..if {<stron
d400: 67 3e 5b 68 61 73 63 61 70 20 68 5d 3c 2f 73 74  g>[hascap h]</st
d410: 72 6f 6e 67 3e 5d 7d 20 7b 0d 0a 20 20 68 74 6d  rong>]} {..  htm
d420: 6c 20 22 26 6c 74 3b 61 20 68 72 65 66 3d 27 24  l "&lt;a href='\$
d430: 62 61 73 65 75 72 6c 2f 64 69 72 27 26 67 74 3b  baseurl/dir'&gt;
d440: 46 69 6c 65 73 26 6c 74 3b 2f 61 26 67 74 3b 20  Files&lt;/a&gt;
d450: 22 0d 0a 7d 0d 0a 3c 2f 70 72 65 3e 0d 0a 0d 0a  "..}..</pre>....
d460: 20 20 3c 68 33 3e 43 61 76 65 61 74 73 3c 2f 68    <h3>Caveats</h
d470: 33 3e 0d 0a 0d 0a 20 20 3c 75 6c 20 63 6f 6d 70  3>....  <ul comp
d480: 61 63 74 3d 27 63 6f 6d 70 61 63 74 27 3e 0d 0a  act='compact'>..
d490: 20 20 20 20 3c 6c 69 3e 70 75 74 73 20 22 5b 68      <li>puts "[h
d4a0: 65 6c 6c 6f 20 68 65 6c 6c 6f 5d 22 20 64 6f 65  ello hello]" doe
d4b0: 73 6e 27 74 20 77 6f 72 6b 20 62 65 63 61 75 73  sn't work becaus
d4c0: 65 20 5b 20 74 72 69 67 67 65 72 73 20 74 68 65  e [ triggers the
d4d0: 0d 0a 20 20 20 20 69 6e 74 65 72 70 65 74 65 72  ..    interpeter
d4e0: 2c 20 75 73 65 20 70 75 74 73 20 22 26 61 6d 70  , use puts "&amp
d4f0: 3b 23 39 31 68 65 6c 6c 6f 20 68 65 6c 6c 6f 5d  ;#91hello hello]
d500: 27 3c 2f 6c 69 3e 0d 0a 20 20 3c 2f 75 6c 3e 0d  '</li>..  </ul>.
d510: 0a 3c 2f 6e 6f 77 69 6b 69 3e 0d 0a 3c 2f 64 69  .</nowiki>..</di
d520: 76 3e 0d 0a 3c 64 69 76 3e 0d 0a 20 20 3c 68 32  v>..<div>..  <h2
d530: 3e 3c 61 20 6e 61 6d 65 3d 22 76 65 72 73 69 6f  ><a name="versio
d540: 6e 43 6f 6d 70 72 65 73 73 65 64 22 3e 56 65 72  nCompressed">Ver
d550: 73 69 6f 6e 69 6e 67 20 63 6f 6d 70 72 65 73 73  sioning compress
d560: 65 64 20 66 69 6c 65 73 3c 2f 61 3e 3c 2f 68 32  ed files</a></h2
d570: 3e 0d 0a 20 20 3c 68 33 3e 47 6f 61 6c 3c 2f 68  >..  <h3>Goal</h
d580: 33 3e 0d 0a 20 20 3c 70 3e 53 6f 6d 65 20 66 69  3>..  <p>Some fi
d590: 6c 65 20 66 6f 72 6d 61 74 73 20 61 72 65 20 61  le formats are a
d5a0: 63 74 75 61 6c 6c 79 20 7a 69 70 20 61 72 63 68  ctually zip arch
d5b0: 69 76 65 73 20 63 6f 6e 74 61 69 6e 69 6e 67 20  ives containing
d5c0: 74 65 78 74 20 66 69 6c 65 73 2e 20 46 6f 72 0d  text files. For.
d5d0: 0a 20 20 65 78 61 6d 70 6c 65 20 4d 69 63 72 6f  .  example Micro
d5e0: 73 6f 66 74 20 4f 66 66 69 63 65 20 32 30 30 37  soft Office 2007
d5f0: 20 61 6e 64 20 6e 65 77 65 72 20 75 73 65 20 64   and newer use d
d600: 6f 63 78 2c 20 78 6c 73 78 20 61 6e 64 20 70 70  ocx, xlsx and pp
d610: 74 78 20 65 78 74 65 6e 73 69 6f 6e 73 20 74 6f  tx extensions to
d620: 0d 0a 20 20 73 74 6f 72 65 20 77 68 61 74 20 69  ..  store what i
d630: 73 20 6d 65 72 65 6c 79 20 78 6d 6c 20 66 69 6c  s merely xml fil
d640: 65 73 20 7a 69 70 70 65 64 20 69 6e 74 6f 20 61  es zipped into a
d650: 20 66 69 6c 65 2e 3c 2f 70 3e 0d 0a 20 20 3c 70   file.</p>..  <p
d660: 3e 57 68 65 6e 20 65 64 69 74 73 20 61 72 65 20  >When edits are
d670: 6d 61 64 65 20 74 6f 20 73 75 63 68 20 66 69 6c  made to such fil
d680: 65 73 20 61 20 76 65 72 73 69 6f 6e 69 6e 67 20  es a versioning
d690: 73 79 73 74 65 6d 20 69 73 20 6e 6f 74 20 65 66  system is not ef
d6a0: 66 69 63 69 65 6e 74 0d 0a 20 20 62 65 63 61 75  ficient..  becau
d6b0: 73 65 20 64 69 66 66 69 6e 67 20 69 73 20 6e 6f  se diffing is no
d6c0: 20 6d 6f 72 65 20 61 70 70 72 6f 70 72 69 61 74   more appropriat
d6d0: 65 3c 2f 70 3e 0d 0a 20 20 3c 70 3e 54 68 65 20  e</p>..  <p>The
d6e0: 69 64 65 61 20 69 73 20 74 6f 20 76 65 72 73 69  idea is to versi
d6f0: 6f 6e 20 74 68 65 20 64 65 63 6f 6d 70 72 65 73  on the decompres
d700: 73 65 64 20 66 6f 6c 64 65 72 2e 20 41 20 73 63  sed folder. A sc
d710: 72 69 70 74 20 77 69 6c 6c 20 74 6f 67 67 6c 65  ript will toggle
d720: 0d 0a 20 20 43 6f 6d 70 72 65 73 73 65 64 2f 55  ..  Compressed/U
d730: 6e 63 6f 6d 70 72 65 73 73 65 64 20 73 74 61 74  ncompressed stat
d740: 65 3c 2f 70 3e 0d 0a 20 20 3c 68 33 3e 53 61 6d  e</p>..  <h3>Sam
d750: 70 6c 65 20 62 61 74 63 68 20 73 63 72 69 70 74  ple batch script
d760: 20 66 6f 72 20 75 73 65 20 77 69 74 68 20 64 6f   for use with do
d770: 63 78 2c 20 78 6c 73 78 20 61 6e 64 20 70 70 74  cx, xlsx and ppt
d780: 78 20 64 6f 63 75 6d 65 6e 74 73 3c 2f 68 33 3e  x documents</h3>
d790: 0d 0a 20 20 3c 70 3e 54 68 69 73 20 73 63 72 69  ..  <p>This scri
d7a0: 70 74 20 69 73 20 69 6e 74 65 6e 64 65 64 20 74  pt is intended t
d7b0: 6f 20 77 6f 72 6b 20 75 6e 64 65 72 20 4d 53 20  o work under MS
d7c0: 57 69 6e 64 6f 77 73 2e 20 49 74 20 72 65 71 75  Windows. It requ
d7d0: 69 72 65 73 0d 0a 20 20 7a 69 70 2e 65 78 65 20  ires..  zip.exe
d7e0: 61 6e 64 20 75 6e 7a 69 70 2e 65 78 65 0d 0a 20  and unzip.exe..
d7f0: 20 74 68 61 74 20 79 6f 75 20 63 61 6e 20 66 69   that you can fi
d800: 6e 64 20 66 6f 72 20 65 78 61 6d 70 6c 65 20 69  nd for example i
d810: 6e 20 67 6e 75 77 69 6e 33 32 20 28 5b 68 74 74  n gnuwin32 ([htt
d820: 70 3a 2f 2f 67 65 74 67 6e 75 77 69 6e 33 32 2e  p://getgnuwin32.
d830: 73 66 2e 6e 65 74 5d 29 2e 3c 2f 70 3e 0d 0a 20  sf.net]).</p>..
d840: 20 3c 70 3e 59 6f 75 20 68 61 76 65 20 74 68 72   <p>You have thr
d850: 65 65 20 76 61 72 69 61 62 6c 65 73 20 74 6f 20  ee variables to
d860: 73 65 74 2e 20 52 75 6e 6e 69 6e 67 20 74 68 69  set. Running thi
d870: 73 20 73 63 72 69 70 74 20 77 69 6c 6c 3c 2f 70  s script will</p
d880: 3e 0d 0a 20 20 3c 75 6c 20 63 6f 6d 70 61 63 74  >..  <ul compact
d890: 3d 27 63 6f 6d 70 61 63 74 27 3e 0d 0a 20 20 20  ='compact'>..
d8a0: 20 3c 6c 69 3e 41 75 74 6f 64 65 74 65 63 74 20   <li>Autodetect
d8b0: 77 68 65 74 68 65 72 20 74 68 65 20 64 6f 63 75  whether the docu
d8c0: 6d 65 6e 74 20 69 73 20 69 6e 20 63 6f 6d 70 72  ment is in compr
d8d0: 65 73 73 65 64 20 6f 72 20 75 6e 63 6f 6d 70 72  essed or uncompr
d8e0: 65 73 73 65 64 0d 0a 20 20 20 20 73 74 61 74 65  essed..    state
d8f0: 3c 2f 6c 69 3e 0d 0a 20 20 20 20 3c 6c 69 3e 43  </li>..    <li>C
d900: 6f 6e 76 65 72 74 20 66 69 6c 65 20 4d 79 5f 64  onvert file My_d
d910: 6f 63 75 6d 65 6e 74 2e 64 6f 63 78 20 69 6e 74  ocument.docx int
d920: 6f 20 61 20 64 69 72 65 63 74 6f 72 79 20 6f 66  o a directory of
d930: 20 74 68 65 20 73 61 6d 65 20 6e 61 6d 65 3c 2f   the same name</
d940: 6c 69 3e 0d 0a 20 20 20 20 3c 6c 69 3e 52 65 6e  li>..    <li>Ren
d950: 61 6d 65 20 66 69 6c 65 20 3c 6e 6f 77 69 6b 69  ame file <nowiki
d960: 3e 5b 43 6f 6e 74 65 6e 74 5f 54 79 70 65 73 5d  >[Content_Types]
d970: 3c 2f 6e 6f 77 69 6b 69 3e 2e 78 6d 6c 20 74 6f  </nowiki>.xml to
d980: 20 61 20 6e 61 6d 65 20 77 69 74 68 6f 75 74 0d   a name without.
d990: 0a 20 20 20 20 62 72 61 63 6b 65 74 73 20 28 62  .    brackets (b
d9a0: 72 61 63 6b 65 74 73 20 69 6e 20 66 69 6c 65 20  rackets in file
d9b0: 6e 61 6d 65 73 20 61 72 65 20 6e 6f 74 20 73 75  names are not su
d9c0: 70 70 6f 72 74 65 64 20 62 79 20 46 6f 73 73 69  pported by Fossi
d9d0: 6c 29 3c 2f 6c 69 3e 0d 0a 20 20 20 20 3c 6c 69  l)</li>..    <li
d9e0: 3e 70 65 72 66 6f 72 6d 20 72 65 76 65 72 73 65  >perform reverse
d9f0: 20 6f 70 65 72 61 74 69 6f 6e 73 20 74 6f 20 63   operations to c
da00: 6f 6e 76 65 72 74 20 64 69 72 65 63 74 6f 72 79  onvert directory
da10: 20 74 6f 20 63 6f 6d 70 72 65 73 73 65 64 0d 0a   to compressed..
da20: 20 20 20 20 64 6f 63 78 2f 78 6c 73 78 2f 70 70      docx/xlsx/pp
da30: 74 78 20 66 69 6c 65 2e 3c 2f 6c 69 3e 0d 0a 20  tx file.</li>..
da40: 20 3c 2f 75 6c 3e 0d 0a 20 20 3c 70 3e 49 6e 20   </ul>..  <p>In
da50: 74 68 69 73 20 77 61 79 20 79 6f 75 20 63 61 6e  this way you can
da60: 20 77 6f 72 6b 20 6f 6e 20 61 20 64 6f 63 78 20   work on a docx
da70: 64 6f 63 75 6d 65 6e 74 2c 20 72 75 6e 20 74 68  document, run th
da80: 65 20 73 63 72 69 70 74 2c 20 69 6e 73 65 72 74  e script, insert
da90: 20 74 68 65 0d 0a 20 20 75 6e 63 6f 6d 70 72 65   the..  uncompre
daa0: 73 73 65 64 20 66 6f 6c 64 65 72 20 69 6e 74 6f  ssed folder into
dab0: 20 66 6f 73 73 69 6c 20 61 6e 64 20 72 75 6e 20   fossil and run
dac0: 74 68 65 20 73 63 72 69 70 74 20 61 67 61 69 6e  the script again
dad0: 20 74 6f 20 67 65 74 20 79 6f 75 72 20 64 6f 63   to get your doc
dae0: 75 6d 65 6e 74 0d 0a 20 20 62 61 63 6b 20 69 6e  ument..  back in
daf0: 20 65 64 69 74 61 62 6c 65 20 73 74 61 74 65 2e   editable state.
db00: 3c 2f 70 3e 0d 0a 20 20 3c 70 3e 3c 73 74 72 6f  </p>..  <p><stro
db10: 6e 67 3e 49 6d 70 6f 72 74 61 6e 74 3a 3c 2f 73  ng>Important:</s
db20: 74 72 6f 6e 67 3e 20 55 73 65 20 74 68 65 20 3c  trong> Use the <
db30: 74 74 3e 2d 2d 64 6f 74 66 69 6c 65 73 3c 2f 74  tt>--dotfiles</t
db40: 74 3e 20 6f 70 74 69 6f 6e 20 74 6f 20 74 68 65  t> option to the
db50: 20 61 64 64 20 63 6f 6d 6d 61 6e 64 20 74 6f 20   add command to
db60: 69 6e 63 6c 75 64 65 20 3c 74 74 3e 72 65 6c 73  include <tt>rels
db70: 2f 2e 72 65 6c 73 3c 2f 74 74 3e 20 66 69 6c 65  /.rels</tt> file
db80: 2e 3c 2f 70 3e 0d 0a 20 20 3c 66 6f 6e 74 20 66  .</p>..  <font f
db90: 61 63 65 3d 22 6d 6f 6e 6f 73 70 61 63 65 22 3e  ace="monospace">
dba0: 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  ..<font color="#
dbb0: 38 30 38 30 38 30 22 3e 26 6e 62 73 70 3b 31 20  808080">&nbsp;1
dbc0: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
dbd0: 6f 72 3d 22 23 33 61 35 66 63 64 22 3e 3c 69 3e  or="#3a5fcd"><i>
dbe0: 3a 3a 20 74 6f 67 67 6c 65 20 64 6f 63 78 20 73  :: toggle docx s
dbf0: 74 61 74 65 20 28 63 6f 6d 70 72 65 73 73 65 64  tate (compressed
dc00: 20 2f 20 75 6e 63 6f 6d 70 72 65 73 73 65 64 29   / uncompressed)
dc10: 3c 2f 69 3e 3c 2f 66 6f 6e 74 3e 3c 62 72 20 2f  </i></font><br /
dc20: 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  >..<font color="
dc30: 23 38 30 38 30 38 30 22 3e 26 6e 62 73 70 3b 32  #808080">&nbsp;2
dc40: 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f   </font><font co
dc50: 6c 6f 72 3d 22 23 33 61 35 66 63 64 22 3e 3c 69  lor="#3a5fcd"><i
dc60: 3e 3a 3a 20 40 65 63 68 6f 20 6f 66 66 3c 2f 69  >:: @echo off</i
dc70: 3e 3c 2f 66 6f 6e 74 3e 3c 62 72 20 2f 3e 0d 0a  ></font><br />..
dc80: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 30  <font color="#80
dc90: 38 30 38 30 22 3e 26 6e 62 73 70 3b 33 20 3c 2f  8080">&nbsp;3 </
dca0: 66 6f 6e 74 3e 3c 62 72 20 2f 3e 0d 0a 3c 66 6f  font><br />..<fo
dcb0: 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 30 38 30 38  nt color="#80808
dcc0: 30 22 3e 26 6e 62 73 70 3b 34 20 3c 2f 66 6f 6e  0">&nbsp;4 </fon
dcd0: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
dce0: 38 62 34 37 32 36 22 3e 53 45 54 3c 2f 66 6f 6e  8b4726">SET</fon
dcf0: 74 3e 3c 66 6f 6e 74 0d 0a 63 6f 6c 6f 72 3d 22  t><font..color="
dd00: 23 38 62 34 37 32 36 22 3e 26 6e 62 73 70 3b 44  #8b4726">&nbsp;D
dd10: 4f 43 58 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 0d  OCX</font><font.
dd20: 0a 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36 22  .color="#8b4726"
dd30: 3e 3c 62 3e 3d 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e  ><b>=</b></font>
dd40: 4d 79 5f 64 6f 63 75 6d 65 6e 74 2e 64 6f 63 78  My_document.docx
dd50: 3c 62 72 20 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f  <br />..<font co
dd60: 6c 6f 72 3d 22 23 38 30 38 30 38 30 22 3e 26 6e  lor="#808080">&n
dd70: 62 73 70 3b 35 20 3c 2f 66 6f 6e 74 3e 3c 66 6f  bsp;5 </font><fo
dd80: 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32  nt color="#8b472
dd90: 36 22 3e 53 45 54 3c 2f 66 6f 6e 74 3e 3c 66 6f  6">SET</font><fo
dda0: 6e 74 0d 0a 63 6f 6c 6f 72 3d 22 23 38 62 34 37  nt..color="#8b47
ddb0: 32 36 22 3e 26 6e 62 73 70 3b 54 4d 50 46 49 4c  26">&nbsp;TMPFIL
ddc0: 45 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 0d 0a 63  E</font><font..c
ddd0: 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36 22 3e 3c  olor="#8b4726"><
dde0: 62 3e 3d 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 74 6d  b>=</b></font>tm
ddf0: 70 5f 76 65 72 73 69 6f 6e 5f 63 6f 6d 70 72 65  p_version_compre
de00: 73 73 65 64 5f 61 72 63 68 69 76 65 2e 7a 69 70  ssed_archive.zip
de10: 3c 62 72 20 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f  <br />..<font co
de20: 6c 6f 72 3d 22 23 38 30 38 30 38 30 22 3e 26 6e  lor="#808080">&n
de30: 62 73 70 3b 36 20 3c 2f 66 6f 6e 74 3e 3c 66 6f  bsp;6 </font><fo
de40: 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32  nt color="#8b472
de50: 36 22 3e 53 45 54 3c 2f 66 6f 6e 74 3e 3c 66 6f  6">SET</font><fo
de60: 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32  nt color="#8b472
de70: 36 22 3e 26 6e 62 73 70 3b 43 4d 44 5a 49 50 3c  6">&nbsp;CMDZIP<
de80: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
de90: 72 3d 22 23 38 62 34 37 32 36 22 3e 3c 62 3e 3d  r="#8b4726"><b>=
dea0: 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74  </b></font><font
deb0: 20 63 6f 6c 6f 72 3d 22 23 32 32 38 62 32 32 22   color="#228b22"
dec0: 3e 26 71 75 6f 74 3b 50 3a 5c 62 69 6e 5c 7a 69  >&quot;P:\bin\zi
ded0: 70 2e 65 78 65 26 71 75 6f 74 3b 3c 2f 66 6f 6e  p.exe&quot;</fon
dee0: 74 3e 3c 62 72 20 2f 3e 0d 0a 3c 66 6f 6e 74 20  t><br />..<font
def0: 63 6f 6c 6f 72 3d 22 23 38 30 38 30 38 30 22 3e  color="#808080">
df00: 26 6e 62 73 70 3b 37 20 3c 2f 66 6f 6e 74 3e 3c  &nbsp;7 </font><
df10: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34  font color="#8b4
df20: 37 32 36 22 3e 53 45 54 3c 2f 66 6f 6e 74 3e 3c  726">SET</font><
df30: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34  font color="#8b4
df40: 37 32 36 22 3e 26 6e 62 73 70 3b 43 4d 44 55 4e  726">&nbsp;CMDUN
df50: 5a 49 50 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  ZIP</font><font
df60: 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36 22 3e  color="#8b4726">
df70: 3c 62 3e 3d 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c  <b>=</b></font><
df80: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 32 32 38  font color="#228
df90: 62 32 32 22 3e 26 71 75 6f 74 3b 50 3a 5c 62 69  b22">&quot;P:\bi
dfa0: 6e 5c 75 6e 7a 69 70 2e 65 78 65 26 71 75 6f 74  n\unzip.exe&quot
dfb0: 3b 3c 2f 66 6f 6e 74 3e 3c 62 72 20 2f 3e 0d 0a  ;</font><br />..
dfc0: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 30  <font color="#80
dfd0: 38 30 38 30 22 3e 26 6e 62 73 70 3b 38 20 3c 2f  8080">&nbsp;8 </
dfe0: 66 6f 6e 74 3e 3c 62 72 20 2f 3e 0d 0a 3c 66 6f  font><br />..<fo
dff0: 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 30 38 30 38  nt color="#80808
e000: 30 22 3e 26 6e 62 73 70 3b 39 20 3c 2f 66 6f 6e  0">&nbsp;9 </fon
e010: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
e020: 33 61 35 66 63 64 22 3e 3c 69 3e 3a 3a 20 63 68  3a5fcd"><i>:: ch
e030: 65 63 6b 20 77 68 65 74 68 65 72 20 69 74 20 69  eck whether it i
e040: 73 20 69 6e 20 61 20 64 69 72 65 63 74 6f 72 79  s in a directory
e050: 20 6f 72 20 66 69 6c 65 20 73 74 61 74 65 3c 2f   or file state</
e060: 69 3e 3c 2f 66 6f 6e 74 3e 3c 62 72 20 2f 3e 0d  i></font><br />.
e070: 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38  .<font color="#8
e080: 30 38 30 38 30 22 3e 31 30 20 3c 2f 66 6f 6e 74  08080">10 </font
e090: 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38  ><font color="#8
e0a0: 62 34 37 32 36 22 3e 3c 62 3e 69 66 3c 2f 62 3e  b4726"><b>if</b>
e0b0: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
e0c0: 6f 72 3d 22 23 38 62 34 37 32 36 22 3e 3c 62 3e  or="#8b4726"><b>
e0d0: 26 6e 62 73 70 3b 65 78 69 73 74 3c 2f 62 3e 3c  &nbsp;exist</b><
e0e0: 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e  /font>&nbsp;<fon
e0f0: 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36  t color="#8b4726
e100: 22 3e 25 54 45 4d 50 25 3c 2f 66 6f 6e 74 3e 5c  ">%TEMP%</font>\
e110: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62  <font color="#8b
e120: 34 37 32 36 22 3e 25 54 4d 50 46 49 4c 45 25 3c  4726">%TMPFILE%<
e130: 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e  /font>&nbsp;<fon
e140: 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36  t color="#8b4726
e150: 22 3e 64 65 6c 3c 2f 66 6f 6e 74 3e 26 6e 62 73  ">del</font>&nbs
e160: 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  p;<font color="#
e170: 32 37 34 30 38 62 22 3e 2f 71 3c 2f 66 6f 6e 74  27408b">/q</font
e180: 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c  >&nbsp;<font col
e190: 6f 72 3d 22 23 32 32 38 62 32 32 22 3e 26 71 75  or="#228b22">&qu
e1a0: 6f 74 3b 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  ot;</font><font
e1b0: 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36 22 3e  color="#8b4726">
e1c0: 25 54 45 4d 50 25 3c 2f 66 6f 6e 74 3e 3c 66 6f  %TEMP%</font><fo
e1d0: 6e 74 20 63 6f 6c 6f 72 3d 22 23 32 32 38 62 32  nt color="#228b2
e1e0: 32 22 3e 5c 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74  2">\</font><font
e1f0: 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36 22   color="#8b4726"
e200: 3e 25 54 4d 50 46 49 4c 45 25 3c 2f 66 6f 6e 74  >%TMPFILE%</font
e210: 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 32  ><font color="#2
e220: 32 38 62 32 32 22 3e 26 71 75 6f 74 3b 3c 2f 66  28b22">&quot;</f
e230: 6f 6e 74 3e 3c 62 72 20 2f 3e 0d 0a 3c 66 6f 6e  ont><br />..<fon
e240: 74 20 63 6f 6c 6f 72 3d 22 23 38 30 38 30 38 30  t color="#808080
e250: 22 3e 31 31 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  ">11 </font><fon
e260: 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36  t color="#8b4726
e270: 22 3e 3c 62 3e 69 66 3c 2f 62 3e 3c 2f 66 6f 6e  "><b>if</b></fon
e280: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
e290: 38 62 34 37 32 36 22 3e 3c 62 3e 26 6e 62 73 70  8b4726"><b>&nbsp
e2a0: 3b 65 78 69 73 74 3c 2f 62 3e 3c 2f 66 6f 6e 74  ;exist</b></font
e2b0: 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c  >&nbsp;<font col
e2c0: 6f 72 3d 22 23 38 62 34 37 32 36 22 3e 25 44 4f  or="#8b4726">%DO
e2d0: 43 58 25 3c 2f 66 6f 6e 74 3e 5c 4e 55 4c 20 28  CX%</font>\NUL (
e2e0: 3c 62 72 20 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f  <br />..<font co
e2f0: 6c 6f 72 3d 22 23 38 30 38 30 38 30 22 3e 31 32  lor="#808080">12
e300: 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e   </font>&nbsp;&n
e310: 62 73 70 3b 26 6e 62 73 70 3b 26 6e 62 73 70 3b  bsp;&nbsp;&nbsp;
e320: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62  <font color="#8b
e330: 34 37 32 36 22 3e 3c 62 3e 63 61 6c 6c 3c 2f 62  4726"><b>call</b
e340: 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f  ></font><font co
e350: 6c 6f 72 3d 22 23 38 62 34 37 32 36 22 3e 3c 62  lor="#8b4726"><b
e360: 3e 3c 75 3e 26 6e 62 73 70 3b 3a 7a 69 70 5f 64  ><u>&nbsp;:zip_d
e370: 69 72 65 63 74 6f 72 79 3c 2f 75 3e 3c 2f 62 3e  irectory</u></b>
e380: 3c 2f 66 6f 6e 74 3e 3c 62 72 20 2f 3e 0d 0a 3c  </font><br />..<
e390: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 30 38  font color="#808
e3a0: 30 38 30 22 3e 31 33 20 3c 2f 66 6f 6e 74 3e 26  080">13 </font>&
e3b0: 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e 62 73 70  nbsp;&nbsp;&nbsp
e3c0: 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c  ;&nbsp;<font col
e3d0: 6f 72 3d 22 23 38 62 34 37 32 36 22 3e 3c 62 3e  or="#8b4726"><b>
e3e0: 67 6f 74 6f 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c  goto</b></font><
e3f0: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34  font color="#8b4
e400: 37 32 36 22 3e 3c 62 3e 3c 75 3e 26 6e 62 73 70  726"><b><u>&nbsp
e410: 3b 3a 65 6e 64 3c 2f 75 3e 3c 2f 62 3e 3c 2f 66  ;:end</u></b></f
e420: 6f 6e 74 3e 3c 62 72 20 2f 3e 0d 0a 3c 66 6f 6e  ont><br />..<fon
e430: 74 20 63 6f 6c 6f 72 3d 22 23 38 30 38 30 38 30  t color="#808080
e440: 22 3e 31 34 20 3c 2f 66 6f 6e 74 3e 29 3c 62 72  ">14 </font>)<br
e450: 20 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72   />..<font color
e460: 3d 22 23 38 30 38 30 38 30 22 3e 31 35 20 3c 2f  ="#808080">15 </
e470: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
e480: 3d 22 23 38 62 34 37 32 36 22 3e 3c 62 3e 69 66  ="#8b4726"><b>if
e490: 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74  </b></font><font
e4a0: 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36 22   color="#8b4726"
e4b0: 3e 3c 62 3e 26 6e 62 73 70 3b 65 78 69 73 74 3c  ><b>&nbsp;exist<
e4c0: 2f 62 3e 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b  /b></font>&nbsp;
e4d0: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62  <font color="#8b
e4e0: 34 37 32 36 22 3e 25 44 4f 43 58 25 3c 2f 66 6f  4726">%DOCX%</fo
e4f0: 6e 74 3e 26 6e 62 73 70 3b 28 3c 62 72 20 2f 3e  nt>&nbsp;(<br />
e500: 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  ..<font color="#
e510: 38 30 38 30 38 30 22 3e 31 36 20 3c 2f 66 6f 6e  808080">16 </fon
e520: 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e  t>&nbsp;&nbsp;&n
e530: 62 73 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74 20  bsp;&nbsp;<font
e540: 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36 22 3e  color="#8b4726">
e550: 3c 62 3e 63 61 6c 6c 3c 2f 62 3e 3c 2f 66 6f 6e  <b>call</b></fon
e560: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
e570: 38 62 34 37 32 36 22 3e 3c 62 3e 3c 75 3e 26 6e  8b4726"><b><u>&n
e580: 62 73 70 3b 3a 75 6e 7a 69 70 5f 66 69 6c 65 3c  bsp;:unzip_file<
e590: 2f 75 3e 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 62  /u></b></font><b
e5a0: 72 20 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f  r />..<font colo
e5b0: 72 3d 22 23 38 30 38 30 38 30 22 3e 31 37 20 3c  r="#808080">17 <
e5c0: 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73  /font>&nbsp;&nbs
e5d0: 70 3b 26 6e 62 73 70 3b 26 6e 62 73 70 3b 3c 66  p;&nbsp;&nbsp;<f
e5e0: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37  ont color="#8b47
e5f0: 32 36 22 3e 3c 62 3e 67 6f 74 6f 3c 2f 62 3e 3c  26"><b>goto</b><
e600: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
e610: 72 3d 22 23 38 62 34 37 32 36 22 3e 3c 62 3e 3c  r="#8b4726"><b><
e620: 75 3e 26 6e 62 73 70 3b 3a 65 6e 64 3c 2f 75 3e  u>&nbsp;:end</u>
e630: 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 62 72 20 2f  </b></font><br /
e640: 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  >..<font color="
e650: 23 38 30 38 30 38 30 22 3e 31 38 20 3c 2f 66 6f  #808080">18 </fo
e660: 6e 74 3e 29 3c 62 72 20 2f 3e 0d 0a 3c 66 6f 6e  nt>)<br />..<fon
e670: 74 20 63 6f 6c 6f 72 3d 22 23 38 30 38 30 38 30  t color="#808080
e680: 22 3e 31 39 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  ">19 </font><fon
e690: 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36  t color="#8b4726
e6a0: 22 3e 65 63 68 6f 3c 2f 66 6f 6e 74 3e 3c 66 6f  ">echo</font><fo
e6b0: 6e 74 20 63 6f 6c 6f 72 3d 22 23 32 32 38 62 32  nt color="#228b2
e6c0: 32 22 3e 26 6e 62 73 70 3b 3c 2f 66 6f 6e 74 3e  2">&nbsp;</font>
e6d0: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62  <font color="#8b
e6e0: 34 37 32 36 22 3e 25 44 4f 43 58 25 3c 2f 66 6f  4726">%DOCX%</fo
e6f0: 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  nt><font color="
e700: 23 32 32 38 62 32 32 22 3e 26 6e 62 73 70 3b 6e  #228b22">&nbsp;n
e710: 6f 74 20 66 6f 75 6e 64 3c 2f 66 6f 6e 74 3e 3c  ot found</font><
e720: 62 72 20 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c  br />..<font col
e730: 6f 72 3d 22 23 38 30 38 30 38 30 22 3e 32 30 20  or="#808080">20
e740: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
e750: 6f 72 3d 22 23 38 62 34 37 32 36 22 3e 3c 62 3e  or="#8b4726"><b>
e760: 67 6f 74 6f 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c  goto</b></font><
e770: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34  font color="#8b4
e780: 37 32 36 22 3e 3c 62 3e 3c 75 3e 26 6e 62 73 70  726"><b><u>&nbsp
e790: 3b 3a 65 6e 64 3c 2f 75 3e 3c 2f 62 3e 3c 2f 66  ;:end</u></b></f
e7a0: 6f 6e 74 3e 3c 62 72 20 2f 3e 0d 0a 3c 66 6f 6e  ont><br />..<fon
e7b0: 74 20 63 6f 6c 6f 72 3d 22 23 38 30 38 30 38 30  t color="#808080
e7c0: 22 3e 32 31 20 3c 2f 66 6f 6e 74 3e 3c 62 72 20  ">21 </font><br
e7d0: 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  />..<font color=
e7e0: 22 23 38 30 38 30 38 30 22 3e 32 32 20 3c 2f 66  "#808080">22 </f
e7f0: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
e800: 22 23 38 62 34 37 32 36 22 3e 3c 62 3e 3c 75 3e  "#8b4726"><b><u>
e810: 3a 7a 69 70 5f 64 69 72 65 63 74 6f 72 79 3c 2f  :zip_directory</
e820: 75 3e 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 62 72  u></b></font><br
e830: 20 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72   />..<font color
e840: 3d 22 23 38 30 38 30 38 30 22 3e 32 33 20 3c 2f  ="#808080">23 </
e850: 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70  font>&nbsp;&nbsp
e860: 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38  ;<font color="#8
e870: 62 34 37 32 36 22 3e 65 63 68 6f 3c 2f 66 6f 6e  b4726">echo</fon
e880: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
e890: 32 32 38 62 32 32 22 3e 26 6e 62 73 70 3b 5a 69  228b22">&nbsp;Zi
e8a0: 70 70 69 6e 67 20 3c 2f 66 6f 6e 74 3e 3c 66 6f  pping </font><fo
e8b0: 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32  nt color="#8b472
e8c0: 36 22 3e 25 44 4f 43 58 25 3c 2f 66 6f 6e 74 3e  6">%DOCX%</font>
e8d0: 3c 62 72 20 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f  <br />..<font co
e8e0: 6c 6f 72 3d 22 23 38 30 38 30 38 30 22 3e 32 34  lor="#808080">24
e8f0: 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e   </font>&nbsp;&n
e900: 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  bsp;<font color=
e910: 22 23 38 62 34 37 32 36 22 3e 70 75 73 68 64 3c  "#8b4726">pushd<
e920: 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e  /font>&nbsp;<fon
e930: 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36  t color="#8b4726
e940: 22 3e 25 44 4f 43 58 25 3c 2f 66 6f 6e 74 3e 3c  ">%DOCX%</font><
e950: 62 72 20 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c  br />..<font col
e960: 6f 72 3d 22 23 38 30 38 30 38 30 22 3e 32 35 20  or="#808080">25
e970: 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62  </font>&nbsp;&nb
e980: 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  sp;<font color="
e990: 23 38 62 34 37 32 36 22 3e 72 65 6e 3c 2f 66 6f  #8b4726">ren</fo
e9a0: 6e 74 3e 26 6e 62 73 70 3b 43 6f 6e 74 65 6e 74  nt>&nbsp;Content
e9b0: 5f 54 79 70 65 73 2e 78 6d 6c 20 3c 6e 6f 77 69  _Types.xml <nowi
e9c0: 6b 69 3e 5b 43 6f 6e 74 65 6e 74 5f 54 79 70 65  ki>[Content_Type
e9d0: 73 5d 2e 78 6d 6c 3c 2f 6e 6f 77 69 6b 69 3e 3c  s].xml</nowiki><
e9e0: 62 72 20 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c  br />..<font col
e9f0: 6f 72 3d 22 23 38 30 38 30 38 30 22 3e 32 36 20  or="#808080">26
ea00: 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62  </font>&nbsp;&nb
ea10: 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  sp;<font color="
ea20: 23 38 62 34 37 32 36 22 3e 25 43 4d 44 5a 49 50  #8b4726">%CMDZIP
ea30: 25 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 2d 39  %</font>&nbsp;-9
ea40: 20 2d 72 20 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d   -r <font color=
ea50: 22 23 32 32 38 62 32 32 22 3e 26 71 75 6f 74 3b  "#228b22">&quot;
ea60: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
ea70: 6f 72 3d 22 23 38 62 34 37 32 36 22 3e 25 54 45  or="#8b4726">%TE
ea80: 4d 50 25 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  MP%</font><font
ea90: 63 6f 6c 6f 72 3d 22 23 32 32 38 62 32 32 22 3e  color="#228b22">
eaa0: 5c 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f  \</font><font co
eab0: 6c 6f 72 3d 22 23 38 62 34 37 32 36 22 3e 25 54  lor="#8b4726">%T
eac0: 4d 50 46 49 4c 45 25 3c 2f 66 6f 6e 74 3e 3c 66  MPFILE%</font><f
ead0: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 32 32 38 62  ont color="#228b
eae0: 32 32 22 3e 26 71 75 6f 74 3b 3c 2f 66 6f 6e 74  22">&quot;</font
eaf0: 3e 26 6e 62 73 70 3b 2e 5c 2a 3c 62 72 20 2f 3e  >&nbsp;.\*<br />
eb00: 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  ..<font color="#
eb10: 38 30 38 30 38 30 22 3e 32 37 20 3c 2f 66 6f 6e  808080">27 </fon
eb20: 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b 3c 66  t>&nbsp;&nbsp;<f
eb30: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37  ont color="#8b47
eb40: 32 36 22 3e 3c 62 3e 69 66 3c 2f 62 3e 3c 2f 66  26"><b>if</b></f
eb50: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
eb60: 22 23 38 62 34 37 32 36 22 3e 3c 62 3e 26 6e 62  "#8b4726"><b>&nb
eb70: 73 70 3b 6e 6f 74 20 65 78 69 73 74 3c 2f 62 3e  sp;not exist</b>
eb80: 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f  </font>&nbsp;<fo
eb90: 6e 74 20 63 6f 6c 6f 72 3d 22 23 32 32 38 62 32  nt color="#228b2
eba0: 32 22 3e 26 71 75 6f 74 3b 3c 2f 66 6f 6e 74 3e  2">&quot;</font>
ebb0: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62  <font color="#8b
ebc0: 34 37 32 36 22 3e 25 54 45 4d 50 25 3c 2f 66 6f  4726">%TEMP%</fo
ebd0: 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  nt><font color="
ebe0: 23 32 32 38 62 32 32 22 3e 5c 3c 2f 66 6f 6e 74  #228b22">\</font
ebf0: 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38  ><font color="#8
ec00: 62 34 37 32 36 22 3e 25 54 4d 50 46 49 4c 45 25  b4726">%TMPFILE%
ec10: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
ec20: 6f 72 3d 22 23 32 32 38 62 32 32 22 3e 26 71 75  or="#228b22">&qu
ec30: 6f 74 3b 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b  ot;</font>&nbsp;
ec40: 28 3c 62 72 20 2f 3e 0d 0a 3c 66 6f 6e 74 20 63  (<br />..<font c
ec50: 6f 6c 6f 72 3d 22 23 38 30 38 30 38 30 22 3e 32  olor="#808080">2
ec60: 38 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63  8 </font><font c
ec70: 6f 6c 6f 72 3d 22 23 33 61 35 66 63 64 22 3e 3c  olor="#3a5fcd"><
ec80: 69 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e  i>&nbsp;&nbsp;&n
ec90: 62 73 70 3b 26 6e 62 73 70 3b 3a 3a 20 63 61 6e  bsp;&nbsp;:: can
eca0: 63 65 6c 3c 2f 69 3e 3c 2f 66 6f 6e 74 3e 3c 62  cel</i></font><b
ecb0: 72 20 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f  r />..<font colo
ecc0: 72 3d 22 23 38 30 38 30 38 30 22 3e 32 39 20 3c  r="#808080">29 <
ecd0: 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73  /font>&nbsp;&nbs
ece0: 70 3b 26 6e 62 73 70 3b 26 6e 62 73 70 3b 3c 66  p;&nbsp;&nbsp;<f
ecf0: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37  ont color="#8b47
ed00: 32 36 22 3e 72 65 6e 3c 2f 66 6f 6e 74 3e 26 6e  26">ren</font>&n
ed10: 62 73 70 3b 3c 6e 6f 77 69 6b 69 3e 5b 43 6f 6e  bsp;<nowiki>[Con
ed20: 74 65 6e 74 5f 54 79 70 65 73 5d 3c 2f 6e 6f 77  tent_Types]</now
ed30: 69 6b 69 3e 2e 78 6d 6c 20 43 6f 6e 74 65 6e 74  iki>.xml Content
ed40: 5f 54 79 70 65 73 2e 78 6d 6c 3c 62 72 20 2f 3e  _Types.xml<br />
ed50: 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  ..<font color="#
ed60: 38 30 38 30 38 30 22 3e 33 30 20 3c 2f 66 6f 6e  808080">30 </fon
ed70: 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e  t>&nbsp;&nbsp;&n
ed80: 62 73 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74 20  bsp;&nbsp;<font
ed90: 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36 22 3e  color="#8b4726">
eda0: 70 6f 70 64 3c 2f 66 6f 6e 74 3e 3c 62 72 20 2f  popd</font><br /
edb0: 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  >..<font color="
edc0: 23 38 30 38 30 38 30 22 3e 33 31 20 3c 2f 66 6f  #808080">31 </fo
edd0: 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26  nt>&nbsp;&nbsp;&
ede0: 6e 62 73 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74  nbsp;&nbsp;<font
edf0: 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36 22   color="#8b4726"
ee00: 3e 3c 62 3e 67 6f 74 6f 3c 2f 62 3e 3c 2f 66 6f  ><b>goto</b></fo
ee10: 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  nt><font color="
ee20: 23 38 62 34 37 32 36 22 3e 3c 62 3e 3c 75 3e 26  #8b4726"><b><u>&
ee30: 6e 62 73 70 3b 3a 65 6e 64 3c 2f 75 3e 3c 2f 62  nbsp;:end</u></b
ee40: 3e 3c 2f 66 6f 6e 74 3e 3c 62 72 20 2f 3e 0d 0a  ></font><br />..
ee50: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 30  <font color="#80
ee60: 38 30 38 30 22 3e 33 32 20 3c 2f 66 6f 6e 74 3e  8080">32 </font>
ee70: 26 6e 62 73 70 3b 26 6e 62 73 70 3b 29 3c 62 72  &nbsp;&nbsp;)<br
ee80: 20 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72   />..<font color
ee90: 3d 22 23 38 30 38 30 38 30 22 3e 33 33 20 3c 2f  ="#808080">33 </
eea0: 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70  font>&nbsp;&nbsp
eeb0: 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38  ;<font color="#8
eec0: 62 34 37 32 36 22 3e 70 6f 70 64 3c 2f 66 6f 6e  b4726">popd</fon
eed0: 74 3e 3c 62 72 20 2f 3e 0d 0a 3c 66 6f 6e 74 20  t><br />..<font
eee0: 63 6f 6c 6f 72 3d 22 23 38 30 38 30 38 30 22 3e  color="#808080">
eef0: 33 34 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b  34 </font>&nbsp;
ef00: 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f  &nbsp;<font colo
ef10: 72 3d 22 23 38 62 34 37 32 36 22 3e 72 6d 64 69  r="#8b4726">rmdi
ef20: 72 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66  r</font>&nbsp;<f
ef30: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 32 32 38 62  ont color="#228b
ef40: 32 32 22 3e 26 71 75 6f 74 3b 3c 2f 66 6f 6e 74  22">&quot;</font
ef50: 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38  ><font color="#8
ef60: 62 34 37 32 36 22 3e 25 44 4f 43 58 25 3c 2f 66  b4726">%DOCX%</f
ef70: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
ef80: 22 23 32 32 38 62 32 32 22 3e 26 71 75 6f 74 3b  "#228b22">&quot;
ef90: 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f  </font>&nbsp;<fo
efa0: 6e 74 20 63 6f 6c 6f 72 3d 22 23 32 37 34 30 38  nt color="#27408
efb0: 62 22 3e 2f 73 3c 2f 66 6f 6e 74 3e 26 6e 62 73  b">/s</font>&nbs
efc0: 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  p;<font color="#
efd0: 32 37 34 30 38 62 22 3e 2f 71 3c 2f 66 6f 6e 74  27408b">/q</font
efe0: 3e 3c 62 72 20 2f 3e 0d 0a 3c 66 6f 6e 74 20 63  ><br />..<font c
eff0: 6f 6c 6f 72 3d 22 23 38 30 38 30 38 30 22 3e 33  olor="#808080">3
f000: 35 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26  5 </font>&nbsp;&
f010: 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72  nbsp;<font color
f020: 3d 22 23 38 62 34 37 32 36 22 3e 6d 6f 76 65 3c  ="#8b4726">move<
f030: 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e  /font>&nbsp;<fon
f040: 74 20 63 6f 6c 6f 72 3d 22 23 32 32 38 62 32 32  t color="#228b22
f050: 22 3e 26 71 75 6f 74 3b 3c 2f 66 6f 6e 74 3e 3c  ">&quot;</font><
f060: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34  font color="#8b4
f070: 37 32 36 22 3e 25 54 45 4d 50 25 3c 2f 66 6f 6e  726">%TEMP%</fon
f080: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
f090: 32 32 38 62 32 32 22 3e 5c 3c 2f 66 6f 6e 74 3e  228b22">\</font>
f0a0: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62  <font color="#8b
f0b0: 34 37 32 36 22 3e 25 54 4d 50 46 49 4c 45 25 3c  4726">%TMPFILE%<
f0c0: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
f0d0: 72 3d 22 23 32 32 38 62 32 32 22 3e 26 71 75 6f  r="#228b22">&quo
f0e0: 74 3b 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 2e  t;</font>&nbsp;.
f0f0: 3c 62 72 20 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f  <br />..<font co
f100: 6c 6f 72 3d 22 23 38 30 38 30 38 30 22 3e 33 36  lor="#808080">36
f110: 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e   </font>&nbsp;&n
f120: 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  bsp;<font color=
f130: 22 23 38 62 34 37 32 36 22 3e 72 65 6e 3c 2f 66  "#8b4726">ren</f
f140: 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20  ont>&nbsp;<font
f150: 63 6f 6c 6f 72 3d 22 23 32 32 38 62 32 32 22 3e  color="#228b22">
f160: 26 71 75 6f 74 3b 3c 2f 66 6f 6e 74 3e 3c 66 6f  &quot;</font><fo
f170: 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32  nt color="#8b472
f180: 36 22 3e 25 54 4d 50 46 49 4c 45 25 3c 2f 66 6f  6">%TMPFILE%</fo
f190: 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  nt><font color="
f1a0: 23 32 32 38 62 32 32 22 3e 26 71 75 6f 74 3b 3c  #228b22">&quot;<
f1b0: 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e  /font>&nbsp;<fon
f1c0: 74 20 63 6f 6c 6f 72 3d 22 23 32 32 38 62 32 32  t color="#228b22
f1d0: 22 3e 26 71 75 6f 74 3b 3c 2f 66 6f 6e 74 3e 3c  ">&quot;</font><
f1e0: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34  font color="#8b4
f1f0: 37 32 36 22 3e 25 44 4f 43 58 25 3c 2f 66 6f 6e  726">%DOCX%</fon
f200: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
f210: 32 32 38 62 32 32 22 3e 26 71 75 6f 74 3b 3c 2f  228b22">&quot;</
f220: 66 6f 6e 74 3e 3c 62 72 20 2f 3e 0d 0a 3c 66 6f  font><br />..<fo
f230: 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 30 38 30 38  nt color="#80808
f240: 30 22 3e 33 37 20 3c 2f 66 6f 6e 74 3e 26 6e 62  0">37 </font>&nb
f250: 73 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63  sp;&nbsp;<font c
f260: 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36 22 3e 3c  olor="#8b4726"><
f270: 62 3e 67 6f 74 6f 3c 2f 62 3e 3c 2f 66 6f 6e 74  b>goto</b></font
f280: 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38  ><font color="#8
f290: 62 34 37 32 36 22 3e 3c 62 3e 3c 75 3e 26 6e 62  b4726"><b><u>&nb
f2a0: 73 70 3b 3a 65 6e 64 3c 2f 75 3e 3c 2f 62 3e 3c  sp;:end</u></b><
f2b0: 2f 66 6f 6e 74 3e 3c 62 72 20 2f 3e 0d 0a 3c 66  /font><br />..<f
f2c0: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 30 38 30  ont color="#8080
f2d0: 38 30 22 3e 33 38 20 3c 2f 66 6f 6e 74 3e 3c 62  80">38 </font><b
f2e0: 72 20 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f  r />..<font colo
f2f0: 72 3d 22 23 38 30 38 30 38 30 22 3e 33 39 20 3c  r="#808080">39 <
f300: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
f310: 72 3d 22 23 38 62 34 37 32 36 22 3e 3c 62 3e 3c  r="#8b4726"><b><
f320: 75 3e 3a 75 6e 7a 69 70 5f 66 69 6c 65 3c 2f 75  u>:unzip_file</u
f330: 3e 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 62 72 20  ></b></font><br
f340: 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  />..<font color=
f350: 22 23 38 30 38 30 38 30 22 3e 34 30 20 3c 2f 66  "#808080">40 </f
f360: 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b  ont>&nbsp;&nbsp;
f370: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62  <font color="#8b
f380: 34 37 32 36 22 3e 72 65 6e 3c 2f 66 6f 6e 74 3e  4726">ren</font>
f390: 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f  &nbsp;<font colo
f3a0: 72 3d 22 23 32 32 38 62 32 32 22 3e 26 71 75 6f  r="#228b22">&quo
f3b0: 74 3b 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63  t;</font><font c
f3c0: 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36 22 3e 25  olor="#8b4726">%
f3d0: 44 4f 43 58 25 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  DOCX%</font><fon
f3e0: 74 20 63 6f 6c 6f 72 3d 22 23 32 32 38 62 32 32  t color="#228b22
f3f0: 22 3e 26 71 75 6f 74 3b 3c 2f 66 6f 6e 74 3e 26  ">&quot;</font>&
f400: 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72  nbsp;<font color
f410: 3d 22 23 32 32 38 62 32 32 22 3e 26 71 75 6f 74  ="#228b22">&quot
f420: 3b 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f  ;</font><font co
f430: 6c 6f 72 3d 22 23 38 62 34 37 32 36 22 3e 25 54  lor="#8b4726">%T
f440: 4d 50 46 49 4c 45 25 3c 2f 66 6f 6e 74 3e 3c 66  MPFILE%</font><f
f450: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 32 32 38 62  ont color="#228b
f460: 32 32 22 3e 26 71 75 6f 74 3b 3c 2f 66 6f 6e 74  22">&quot;</font
f470: 3e 3c 62 72 20 2f 3e 0d 0a 3c 66 6f 6e 74 20 63  ><br />..<font c
f480: 6f 6c 6f 72 3d 22 23 38 30 38 30 38 30 22 3e 34  olor="#808080">4
f490: 31 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26  1 </font>&nbsp;&
f4a0: 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72  nbsp;<font color
f4b0: 3d 22 23 38 62 34 37 32 36 22 3e 6d 6f 76 65 3c  ="#8b4726">move<
f4c0: 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e  /font>&nbsp;<fon
f4d0: 74 20 63 6f 6c 6f 72 3d 22 23 32 32 38 62 32 32  t color="#228b22
f4e0: 22 3e 26 71 75 6f 74 3b 3c 2f 66 6f 6e 74 3e 3c  ">&quot;</font><
f4f0: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34  font color="#8b4
f500: 37 32 36 22 3e 25 54 4d 50 46 49 4c 45 25 3c 2f  726">%TMPFILE%</
f510: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
f520: 3d 22 23 32 32 38 62 32 32 22 3e 26 71 75 6f 74  ="#228b22">&quot
f530: 3b 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66  ;</font>&nbsp;<f
f540: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 32 32 38 62  ont color="#228b
f550: 32 32 22 3e 26 71 75 6f 74 3b 3c 2f 66 6f 6e 74  22">&quot;</font
f560: 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38  ><font color="#8
f570: 62 34 37 32 36 22 3e 25 54 45 4d 50 25 3c 2f 66  b4726">%TEMP%</f
f580: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
f590: 22 23 32 32 38 62 32 32 22 3e 26 71 75 6f 74 3b  "#228b22">&quot;
f5a0: 3c 2f 66 6f 6e 74 3e 5c 3c 62 72 20 2f 3e 0d 0a  </font>\<br />..
f5b0: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 30  <font color="#80
f5c0: 38 30 38 30 22 3e 34 32 20 3c 2f 66 6f 6e 74 3e  8080">42 </font>
f5d0: 26 6e 62 73 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e  &nbsp;&nbsp;<fon
f5e0: 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36  t color="#8b4726
f5f0: 22 3e 6d 6b 64 69 72 3c 2f 66 6f 6e 74 3e 26 6e  ">mkdir</font>&n
f600: 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  bsp;<font color=
f610: 22 23 32 32 38 62 32 32 22 3e 26 71 75 6f 74 3b  "#228b22">&quot;
f620: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
f630: 6f 72 3d 22 23 38 62 34 37 32 36 22 3e 25 44 4f  or="#8b4726">%DO
f640: 43 58 25 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  CX%</font><font
f650: 63 6f 6c 6f 72 3d 22 23 32 32 38 62 32 32 22 3e  color="#228b22">
f660: 26 71 75 6f 74 3b 3c 2f 66 6f 6e 74 3e 3c 62 72  &quot;</font><br
f670: 20 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72   />..<font color
f680: 3d 22 23 38 30 38 30 38 30 22 3e 34 33 20 3c 2f  ="#808080">43 </
f690: 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70  font>&nbsp;&nbsp
f6a0: 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38  ;<font color="#8
f6b0: 62 34 37 32 36 22 3e 70 75 73 68 64 3c 2f 66 6f  b4726">pushd</fo
f6c0: 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63  nt>&nbsp;<font c
f6d0: 6f 6c 6f 72 3d 22 23 32 32 38 62 32 32 22 3e 26  olor="#228b22">&
f6e0: 71 75 6f 74 3b 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  quot;</font><fon
f6f0: 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36  t color="#8b4726
f700: 22 3e 25 44 4f 43 58 25 3c 2f 66 6f 6e 74 3e 3c  ">%DOCX%</font><
f710: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 32 32 38  font color="#228
f720: 62 32 32 22 3e 26 71 75 6f 74 3b 3c 2f 66 6f 6e  b22">&quot;</fon
f730: 74 3e 3c 62 72 20 2f 3e 0d 0a 3c 66 6f 6e 74 20  t><br />..<font
f740: 63 6f 6c 6f 72 3d 22 23 38 30 38 30 38 30 22 3e  color="#808080">
f750: 34 34 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b  44 </font>&nbsp;
f760: 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f  &nbsp;<font colo
f770: 72 3d 22 23 38 62 34 37 32 36 22 3e 25 43 4d 44  r="#8b4726">%CMD
f780: 55 4e 5a 49 50 25 3c 2f 66 6f 6e 74 3e 26 6e 62  UNZIP%</font>&nb
f790: 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  sp;<font color="
f7a0: 23 32 32 38 62 32 32 22 3e 26 71 75 6f 74 3b 3c  #228b22">&quot;<
f7b0: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
f7c0: 72 3d 22 23 38 62 34 37 32 36 22 3e 25 54 45 4d  r="#8b4726">%TEM
f7d0: 50 25 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63  P%</font><font c
f7e0: 6f 6c 6f 72 3d 22 23 32 32 38 62 32 32 22 3e 5c  olor="#228b22">\
f7f0: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
f800: 6f 72 3d 22 23 38 62 34 37 32 36 22 3e 25 54 4d  or="#8b4726">%TM
f810: 50 46 49 4c 45 25 3c 2f 66 6f 6e 74 3e 3c 66 6f  PFILE%</font><fo
f820: 6e 74 20 63 6f 6c 6f 72 3d 22 23 32 32 38 62 32  nt color="#228b2
f830: 32 22 3e 26 71 75 6f 74 3b 3c 2f 66 6f 6e 74 3e  2">&quot;</font>
f840: 3c 62 72 20 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f  <br />..<font co
f850: 6c 6f 72 3d 22 23 38 30 38 30 38 30 22 3e 34 35  lor="#808080">45
f860: 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e   </font>&nbsp;&n
f870: 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  bsp;<font color=
f880: 22 23 38 62 34 37 32 36 22 3e 3c 62 3e 69 66 3c  "#8b4726"><b>if<
f890: 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  /b></font><font
f8a0: 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36 22 3e  color="#8b4726">
f8b0: 3c 62 3e 26 6e 62 73 70 3b 6e 6f 74 20 65 78 69  <b>&nbsp;not exi
f8c0: 73 74 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 26 6e 62  st</b></font>&nb
f8d0: 73 70 3b 3c 6e 6f 77 69 6b 69 3e 5b 43 6f 6e 74  sp;<nowiki>[Cont
f8e0: 65 6e 74 5f 54 79 70 65 73 5d 2e 78 6d 6c 3c 2f  ent_Types].xml</
f8f0: 6e 6f 77 69 6b 69 3e 20 28 3c 62 72 20 2f 3e 0d  nowiki> (<br />.
f900: 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38  .<font color="#8
f910: 30 38 30 38 30 22 3e 34 36 20 3c 2f 66 6f 6e 74  08080">46 </font
f920: 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 33  ><font color="#3
f930: 61 35 66 63 64 22 3e 3c 69 3e 26 6e 62 73 70 3b  a5fcd"><i>&nbsp;
f940: 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e 62 73  &nbsp;&nbsp;&nbs
f950: 70 3b 3a 3a 20 63 61 6e 63 65 6c 3c 2f 69 3e 3c  p;:: cancel</i><
f960: 2f 66 6f 6e 74 3e 3c 62 72 20 2f 3e 0d 0a 3c 66  /font><br />..<f
f970: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 30 38 30  ont color="#8080
f980: 38 30 22 3e 34 37 20 3c 2f 66 6f 6e 74 3e 26 6e  80">47 </font>&n
f990: 62 73 70 3b 26 6e 62 73 70 3b 26 6e 62 73 70 3b  bsp;&nbsp;&nbsp;
f9a0: 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f  &nbsp;<font colo
f9b0: 72 3d 22 23 38 62 34 37 32 36 22 3e 70 6f 70 64  r="#8b4726">popd
f9c0: 3c 2f 66 6f 6e 74 3e 3c 62 72 20 2f 3e 0d 0a 3c  </font><br />..<
f9d0: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 30 38  font color="#808
f9e0: 30 38 30 22 3e 34 38 20 3c 2f 66 6f 6e 74 3e 26  080">48 </font>&
f9f0: 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e 62 73 70  nbsp;&nbsp;&nbsp
fa00: 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c  ;&nbsp;<font col
fa10: 6f 72 3d 22 23 38 62 34 37 32 36 22 3e 72 6d 64  or="#8b4726">rmd
fa20: 69 72 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c  ir</font>&nbsp;<
fa30: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 32 32 38  font color="#228
fa40: 62 32 32 22 3e 26 71 75 6f 74 3b 3c 2f 66 6f 6e  b22">&quot;</fon
fa50: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
fa60: 38 62 34 37 32 36 22 3e 25 44 4f 43 58 25 3c 2f  8b4726">%DOCX%</
fa70: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
fa80: 3d 22 23 32 32 38 62 32 32 22 3e 26 71 75 6f 74  ="#228b22">&quot
fa90: 3b 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66  ;</font>&nbsp;<f
faa0: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 32 37 34 30  ont color="#2740
fab0: 38 62 22 3e 2f 73 3c 2f 66 6f 6e 74 3e 26 6e 62  8b">/s</font>&nb
fac0: 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  sp;<font color="
fad0: 23 32 37 34 30 38 62 22 3e 2f 71 3c 2f 66 6f 6e  #27408b">/q</fon
fae0: 74 3e 3c 62 72 20 2f 3e 0d 0a 3c 66 6f 6e 74 20  t><br />..<font
faf0: 63 6f 6c 6f 72 3d 22 23 38 30 38 30 38 30 22 3e  color="#808080">
fb00: 34 39 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b  49 </font>&nbsp;
fb10: 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e 62 73  &nbsp;&nbsp;&nbs
fb20: 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  p;<font color="#
fb30: 38 62 34 37 32 36 22 3e 6d 6f 76 65 3c 2f 66 6f  8b4726">move</fo
fb40: 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63  nt>&nbsp;<font c
fb50: 6f 6c 6f 72 3d 22 23 32 32 38 62 32 32 22 3e 26  olor="#228b22">&
fb60: 71 75 6f 74 3b 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  quot;</font><fon
fb70: 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36  t color="#8b4726
fb80: 22 3e 25 54 45 4d 50 25 3c 2f 66 6f 6e 74 3e 3c  ">%TEMP%</font><
fb90: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 32 32 38  font color="#228
fba0: 62 32 32 22 3e 5c 3c 2f 66 6f 6e 74 3e 3c 66 6f  b22">\</font><fo
fbb0: 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32  nt color="#8b472
fbc0: 36 22 3e 25 54 4d 50 46 49 4c 45 25 3c 2f 66 6f  6">%TMPFILE%</fo
fbd0: 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  nt><font color="
fbe0: 23 32 32 38 62 32 32 22 3e 26 71 75 6f 74 3b 3c  #228b22">&quot;<
fbf0: 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 2e 3c 62 72  /font>&nbsp;.<br
fc00: 20 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72   />..<font color
fc10: 3d 22 23 38 30 38 30 38 30 22 3e 35 30 20 3c 2f  ="#808080">50 </
fc20: 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70  font>&nbsp;&nbsp
fc30: 3b 26 6e 62 73 70 3b 26 6e 62 73 70 3b 3c 66 6f  ;&nbsp;&nbsp;<fo
fc40: 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32  nt color="#8b472
fc50: 36 22 3e 72 65 6e 3c 2f 66 6f 6e 74 3e 26 6e 62  6">ren</font>&nb
fc60: 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  sp;<font color="
fc70: 23 32 32 38 62 32 32 22 3e 26 71 75 6f 74 3b 3c  #228b22">&quot;<
fc80: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
fc90: 72 3d 22 23 38 62 34 37 32 36 22 3e 25 54 4d 50  r="#8b4726">%TMP
fca0: 46 49 4c 45 25 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  FILE%</font><fon
fcb0: 74 20 63 6f 6c 6f 72 3d 22 23 32 32 38 62 32 32  t color="#228b22
fcc0: 22 3e 26 71 75 6f 74 3b 3c 2f 66 6f 6e 74 3e 26  ">&quot;</font>&
fcd0: 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72  nbsp;<font color
fce0: 3d 22 23 32 32 38 62 32 32 22 3e 26 71 75 6f 74  ="#228b22">&quot
fcf0: 3b 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f  ;</font><font co
fd00: 6c 6f 72 3d 22 23 38 62 34 37 32 36 22 3e 25 44  lor="#8b4726">%D
fd10: 4f 43 58 25 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74  OCX%</font><font
fd20: 20 63 6f 6c 6f 72 3d 22 23 32 32 38 62 32 32 22   color="#228b22"
fd30: 3e 26 71 75 6f 74 3b 3c 2f 66 6f 6e 74 3e 3c 62  >&quot;</font><b
fd40: 72 20 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f  r />..<font colo
fd50: 72 3d 22 23 38 30 38 30 38 30 22 3e 35 31 20 3c  r="#808080">51 <
fd60: 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73  /font>&nbsp;&nbs
fd70: 70 3b 26 6e 62 73 70 3b 26 6e 62 73 70 3b 3c 66  p;&nbsp;&nbsp;<f
fd80: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37  ont color="#8b47
fd90: 32 36 22 3e 3c 62 3e 67 6f 74 6f 3c 2f 62 3e 3c  26"><b>goto</b><
fda0: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
fdb0: 72 3d 22 23 38 62 34 37 32 36 22 3e 3c 62 3e 3c  r="#8b4726"><b><
fdc0: 75 3e 26 6e 62 73 70 3b 3a 65 6e 64 3c 2f 75 3e  u>&nbsp;:end</u>
fdd0: 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 62 72 20 2f  </b></font><br /
fde0: 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  >..<font color="
fdf0: 23 38 30 38 30 38 30 22 3e 35 32 20 3c 2f 66 6f  #808080">52 </fo
fe00: 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b 29  nt>&nbsp;&nbsp;)
fe10: 3c 62 72 20 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f  <br />..<font co
fe20: 6c 6f 72 3d 22 23 38 30 38 30 38 30 22 3e 35 33  lor="#808080">53
fe30: 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e   </font>&nbsp;&n
fe40: 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  bsp;<font color=
fe50: 22 23 38 62 34 37 32 36 22 3e 72 65 6e 3c 2f 66  "#8b4726">ren</f
fe60: 6f 6e 74 3e 26 6e 62 73 70 3b 3c 6e 6f 77 69 6b  ont>&nbsp;<nowik
fe70: 69 3e 5b 43 6f 6e 74 65 6e 74 5f 54 79 70 65 73  i>[Content_Types
fe80: 5d 2e 78 6d 6c 3c 2f 6e 6f 77 69 6b 69 3e 20 43  ].xml</nowiki> C
fe90: 6f 6e 74 65 6e 74 5f 54 79 70 65 73 2e 78 6d 6c  ontent_Types.xml
fea0: 3c 62 72 20 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f  <br />..<font co
feb0: 6c 6f 72 3d 22 23 38 30 38 30 38 30 22 3e 35 34  lor="#808080">54
fec0: 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e   </font>&nbsp;&n
fed0: 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  bsp;<font color=
fee0: 22 23 38 62 34 37 32 36 22 3e 64 65 6c 3c 2f 66  "#8b4726">del</f
fef0: 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20  ont>&nbsp;<font
ff00: 63 6f 6c 6f 72 3d 22 23 32 32 38 62 32 32 22 3e  color="#228b22">
ff10: 26 71 75 6f 74 3b 3c 2f 66 6f 6e 74 3e 3c 66 6f  &quot;</font><fo
ff20: 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32  nt color="#8b472
ff30: 36 22 3e 25 54 45 4d 50 25 3c 2f 66 6f 6e 74 3e  6">%TEMP%</font>
ff40: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 32 32  <font color="#22
ff50: 38 62 32 32 22 3e 5c 3c 2f 66 6f 6e 74 3e 3c 66  8b22">\</font><f
ff60: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37  ont color="#8b47
ff70: 32 36 22 3e 25 54 4d 50 46 49 4c 45 25 3c 2f 66  26">%TMPFILE%</f
ff80: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
ff90: 22 23 32 32 38 62 32 32 22 3e 26 71 75 6f 74 3b  "#228b22">&quot;
ffa0: 3c 2f 66 6f 6e 74 3e 3c 62 72 20 2f 3e 0d 0a 3c  </font><br />..<
ffb0: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 30 38  font color="#808
ffc0: 30 38 30 22 3e 35 35 20 3c 2f 66 6f 6e 74 3e 26  080">55 </font>&
ffd0: 6e 62 73 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74  nbsp;&nbsp;<font
ffe0: 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36 22   color="#8b4726"
fff0: 3e 70 6f 70 64 3c 2f 66 6f 6e 74 3e 3c 62 72 20  >popd</font><br
10000 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  />..<font color=
10010 22 23 38 30 38 30 38 30 22 3e 35 36 20 3c 2f 66  "#808080">56 </f
10020 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b  ont>&nbsp;&nbsp;
10030 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62  <font color="#8b
10040 34 37 32 36 22 3e 3c 62 3e 67 6f 74 6f 3c 2f 62  4726"><b>goto</b
10050 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f  ></font><font co
10060 6c 6f 72 3d 22 23 38 62 34 37 32 36 22 3e 3c 62  lor="#8b4726"><b
10070 3e 3c 75 3e 26 6e 62 73 70 3b 3a 65 6e 64 3c 2f  ><u>&nbsp;:end</
10080 75 3e 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 62 72  u></b></font><br
10090 20 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72   />..<font color
100a0 3d 22 23 38 30 38 30 38 30 22 3e 35 37 20 3c 2f  ="#808080">57 </
100b0 66 6f 6e 74 3e 3c 62 72 20 2f 3e 0d 0a 3c 66 6f  font><br />..<fo
100c0 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 30 38 30 38  nt color="#80808
100d0 30 22 3e 35 38 20 3c 2f 66 6f 6e 74 3e 3c 66 6f  0">58 </font><fo
100e0 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32  nt color="#8b472
100f0 36 22 3e 3c 62 3e 3c 75 3e 3a 65 6e 64 3c 2f 75  6"><b><u>:end</u
10100 3e 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 62 72 20  ></b></font><br
10110 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  />..<font color=
10120 22 23 38 30 38 30 38 30 22 3e 35 39 20 3c 2f 66  "#808080">59 </f
10130 6f 6e 74 3e 3c 62 72 20 2f 3e 0d 0a 3c 66 6f 6e  ont><br />..<fon
10140 74 20 63 6f 6c 6f 72 3d 22 23 38 30 38 30 38 30  t color="#808080
10150 22 3e 36 30 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  ">60 </font><fon
10160 74 20 63 6f 6c 6f 72 3d 22 23 33 61 35 66 63 64  t color="#3a5fcd
10170 22 3e 3c 69 3e 3a 3a 20 76 69 6d 3a 20 66 65 6e  "><i>:: vim: fen
10180 63 3d 63 70 34 33 37 3c 2f 69 3e 3c 2f 66 6f 6e  c=cp437</i></fon
10190 74 3e 0d 0a 20 20 3c 2f 66 6f 6e 74 3e 0d 0a 0d  t>..  </font>...
101a0 0a 3c 2f 64 69 76 3e 0d 0a 0d 0a 3c 68 32 3e 3c  .</div>....<h2><
101b0 61 20 6e 61 6d 65 3d 22 43 6f 6c 6f 72 50 69 63  a name="ColorPic
101c0 6b 65 72 22 3e 43 6f 6c 6f 72 20 73 65 6c 65 63  ker">Color selec
101d0 74 6f 72 20 69 6e 20 63 68 65 63 6b 2d 69 6e 20  tor in check-in
101e0 70 72 6f 70 65 72 74 69 65 73 3c 2f 61 3e 3c 2f  properties</a></
101f0 68 32 3e 0d 0a 49 66 20 79 6f 75 20 77 61 6e 74  h2>..If you want
10200 20 61 20 6e 69 63 65 20 4a 53 20 63 6f 6c 6f 72   a nice JS color
10210 20 73 65 6c 65 63 74 6f 72 20 69 6e 20 79 6f 75   selector in you
10220 72 20 63 68 65 63 6b 2d 69 6e 20 70 72 6f 70 65  r check-in prope
10230 72 74 69 65 73 2c 20 70 75 74 20 74 68 65 20 66  rties, put the f
10240 6f 6c 6c 6f 77 69 6e 67 20 69 6e 74 6f 20 79 6f  ollowing into yo
10250 75 72 20 66 6f 6f 74 65 72 3a 0d 0a 0d 0a 3c 76  ur footer:....<v
10260 65 72 62 61 74 69 6d 3e 0d 0a 3c 74 68 31 3e 0d  erbatim>..<th1>.
10270 0a 20 20 69 66 20 7b 20 22 24 63 75 72 72 65 6e  .  if { "\$curren
10280 74 5f 70 61 67 65 22 20 65 71 20 22 63 69 5f 65  t_page" eq "ci_e
10290 64 69 74 22 20 7d 20 7b 0d 0a 20 20 20 20 68 74  dit" } {..    ht
102a0 6d 6c 20 22 3c 73 63 72 69 70 74 20 73 72 63 3d  ml "<script src=
102b0 5c 22 68 74 74 70 3a 2f 2f 6a 73 63 6f 6c 6f 72  \"http://jscolor
102c0 2e 63 6f 6d 2f 6a 73 63 6f 6c 6f 72 2f 6a 73 63  .com/jscolor/jsc
102d0 6f 6c 6f 72 2e 6a 73 5c 22 20 74 79 70 65 3d 5c  olor.js\" type=\
102e0 22 74 65 78 74 2f 6a 61 76 61 73 63 72 69 70 74  "text/javascript
102f0 5c 22 3e 3c 2f 73 63 72 69 70 74 3e 22 0d 0a 20  \"></script>"..
10300 20 20 20 68 74 6d 6c 20 22 3c 73 63 72 69 70 74     html "<script
10310 20 74 79 70 65 3d 5c 22 74 65 78 74 2f 6a 61 76   type=\"text/jav
10320 61 73 63 72 69 70 74 5c 22 3e 22 0d 0a 20 20 20  ascript\">"..
10330 20 68 74 6d 6c 20 22 76 61 72 20 6d 79 50 69 63   html "var myPic
10340 6b 65 72 20 3d 20 6e 65 77 20 6a 73 63 6f 6c 6f  ker = new jscolo
10350 72 2e 63 6f 6c 6f 72 28 64 6f 63 75 6d 65 6e 74  r.color(document
10360 2e 67 65 74 45 6c 65 6d 65 6e 74 42 79 49 64 28  .getElementById(
10370 27 63 6c 72 63 75 73 74 27 29 2c 20 7b 68 61 73  'clrcust'), {has
10380 68 3a 74 72 75 65 7d 29 22 0d 0a 20 20 20 20 68  h:true})"..    h
10390 74 6d 6c 20 22 3c 2f 73 63 72 69 70 74 3e 22 0d  tml "</script>".
103a0 0a 20 20 7d 0d 0a 3c 2f 74 68 31 3e 0d 0a 3c 2f  .  }..</th1>..</
103b0 76 65 72 62 61 74 69 6d 3e 0d 0a 0d 0a 54 68 69  verbatim>....Thi
103c0 73 20 77 69 6c 6c 20 6f 6e 6c 79 20 77 6f 72 6b  s will only work
103d0 20 77 69 74 68 20 61 20 76 65 72 73 69 6f 6e 20   with a version
103e0 61 66 74 65 72 20 32 30 31 30 20 53 65 70 20 32  after 2010 Sep 2
103f0 39 2c 20 31 30 3a 33 30 0d 0a 0d 0a 3c 68 32 3e  9, 10:30....<h2>
10400 3c 61 20 6e 61 6d 65 3d 22 53 65 61 72 63 68 57  <a name="SearchW
10410 69 6b 69 22 3e 53 65 61 72 63 68 69 6e 67 20 77  iki">Searching w
10420 69 6b 69 20 74 65 78 74 3c 2f 61 3e 3c 2f 68 32  iki text</a></h2
10430 3e 0d 0a 41 74 20 70 72 65 73 65 6e 74 2c 20 46  >..At present, F
10440 6f 73 73 69 6c 20 64 6f 65 73 20 6e 6f 74 20 68  ossil does not h
10450 61 76 65 20 61 20 6d 65 74 68 6f 64 20 66 6f 72  ave a method for
10460 20 73 65 61 72 63 68 69 6e 67 20 74 68 65 20 77   searching the w
10470 69 6b 69 20 70 61 67 65 73 20 66 6f 72 20 70 61  iki pages for pa
10480 72 74 69 63 75 6c 61 72 20 74 65 78 74 2e 20 20  rticular text.
10490 53 6f 6d 65 74 69 6d 65 73 20 74 68 61 74 20 69  Sometimes that i
104a0 73 20 61 6e 6e 6f 79 69 6e 67 3b 20 62 75 74 20  s annoying; but
104b0 69 74 20 69 73 20 70 6f 73 73 69 62 6c 65 20 74  it is possible t
104c0 6f 20 67 65 74 20 61 72 6f 75 6e 64 20 74 68 69  o get around thi
104d0 73 20 77 69 74 68 20 61 20 6c 69 74 74 6c 65 20  s with a little
104e0 62 61 73 68 2d 73 63 72 69 70 74 20 28 6f 72 20  bash-script (or
104f0 70 65 72 6c 20 6f 72 20 2e 2e 2e 29 3a 0d 0a 3c  perl or ...):..<
10500 76 65 72 62 61 74 69 6d 3e 0d 0a 23 21 2f 62 69  verbatim>..#!/bi
10510 6e 2f 62 61 73 68 0d 0a 73 65 61 72 63 68 66 6f  n/bash..searchfo
10520 72 3d 24 31 0d 0a 0d 0a 23 20 67 65 74 20 77 69  r=\$1....# get wi
10530 6b 69 20 70 61 67 65 20 6e 61 6d 65 73 2c 20 73  ki page names, s
10540 75 62 73 74 69 74 75 74 65 20 73 70 61 63 65 73  ubstitute spaces
10550 20 66 6f 72 20 73 6f 6d 65 74 68 69 6e 67 20 65   for something e
10560 6c 73 65 3a 0d 0a 70 61 67 65 73 72 61 77 3d 60  lse:..pagesraw=`
10570 66 6f 73 73 69 6c 20 77 69 6b 69 20 6c 69 73 74  fossil wiki list
10580 60 0d 0a 70 61 67 65 73 3d 24 7b 70 61 67 65 73  `..pages=\${pages
10590 72 61 77 2f 2f 20 2f 2a 7d 0d 0a 0d 0a 23 20 66  raw// /*}....# f
105a0 6f 72 20 65 61 63 68 20 70 61 67 65 2c 20 73 65  or each page, se
105b0 65 20 69 66 20 6f 75 72 20 73 65 61 72 63 68 20  e if our search
105c0 74 65 72 6d 20 69 73 20 69 6e 20 69 74 3a 0d 0a  term is in it:..
105d0 66 6f 72 20 70 61 67 65 20 69 6e 20 24 70 61 67  for page in \$pag
105e0 65 73 0d 0a 64 6f 0d 0a 09 70 3d 24 7b 70 61 67  es..do...p=\${pag
105f0 65 2f 2f 5c 2a 2f 20 7d 0d 0a 09 66 6f 75 6e 64  e//\*/ }...found
10600 74 65 78 74 3d 60 66 6f 73 73 69 6c 20 77 69 6b  text=`fossil wik
10610 69 20 65 78 70 6f 72 74 20 22 24 70 22 20 7c 20  i export "\$p" |
10620 67 72 65 70 20 2d 6e 20 22 24 73 65 61 72 63 68  grep -n "\$search
10630 66 6f 72 22 60 0d 0a 0d 0a 09 69 66 20 5b 20 21  for"`.....if [ !
10640 20 2d 7a 20 22 24 66 6f 75 6e 64 74 65 78 74 22   -z "\$foundtext"
10650 20 5d 0d 0a 09 74 68 65 6e 0d 0a 09 09 23 20 66   ]...then....# f
10660 6f 75 6e 64 20 74 68 65 20 73 65 61 72 63 68 2d  ound the search-
10670 74 65 72 6d 2c 20 73 6f 20 70 72 69 6e 74 20 77  term, so print w
10680 68 65 72 65 20 61 6e 64 20 77 68 61 74 20 77 61  here and what wa
10690 73 20 66 6f 75 6e 64 3a 0d 0a 09 09 65 63 68 6f  s found:....echo
106a0 20 22 24 70 22 0d 0a 09 09 65 63 68 6f 20 22 24   "\$p"....echo "\$
106b0 66 6f 75 6e 64 74 65 78 74 22 0d 0a 09 09 65 63  foundtext"....ec
106c0 68 6f 20 22 2d 2d 2d 2d 22 0d 0a 09 66 69 0d 0a  ho "----"...fi..
106d0 64 6f 6e 65 0d 0a 3c 2f 76 65 72 62 61 74 69 6d  done..</verbatim
106e0 3e 0d 0a 0d 0a 0d 0a 3c 68 32 3e 3c 61 20 6e 61  >......<h2><a na
106f0 6d 65 3d 22 48 69 67 68 6c 69 67 68 74 44 69 66  me="HighlightDif
10700 66 22 3e 48 69 67 68 6c 69 67 68 74 20 64 69 66  f">Highlight dif
10710 66 73 3c 2f 61 3e 3c 2f 68 32 3e 0d 0a 3c 68 33  fs</a></h2>..<h3
10720 3e 50 72 6f 62 6c 65 6d 3c 2f 68 33 3e 0d 0a 46  >Problem</h3>..F
10730 6f 73 73 69 6c 20 73 68 6f 77 73 20 61 20 64 69  ossil shows a di
10740 66 66 20 6f 66 20 61 20 63 68 65 63 6b 69 6e 2e  ff of a checkin.
10750 20 49 74 20 75 73 65 73 20 74 68 65 20 74 65 78   It uses the tex
10760 74 75 61 6c 20 72 65 70 72 65 73 65 6e 74 61 74  tual representat
10770 69 6f 6e 20 28 27 2b 27 20 73 69 67 6e 20 66 6f  ion ('+' sign fo
10780 72 20 61 64 64 65 64 20 6c 69 6e 65 2c 20 27 2d  r added line, '-
10790 27 20 66 6f 72 20 61 20 63 68 61 6e 67 65 64 2f  ' for a changed/
107a0 64 65 6c 65 74 65 64 20 6c 69 6e 65 29 2e 20 48  deleted line). H
107b0 61 76 69 6e 67 20 61 20 63 6f 6c 6f 72 20 66 6f  aving a color fo
107c0 72 20 61 64 64 65 64 20 6c 69 6e 65 73 2c 20 65  r added lines, e
107d0 2e 67 2e 20 67 72 65 65 6e 2c 20 61 6e 64 20 66  .g. green, and f
107e0 6f 72 20 63 68 61 6e 67 65 64 20 6c 69 6e 65 73  or changed lines
107f0 2c 20 65 2e 67 2e 20 72 65 64 2c 20 77 6f 75 6c  , e.g. red, woul
10800 64 20 6d 61 6b 65 20 74 68 65 20 63 68 61 6e 67  d make the chang
10810 65 73 20 6d 6f 72 65 20 76 69 73 69 62 6c 65 2e  es more visible.
10820 0d 0a 0d 0a 3c 68 33 3e 53 6f 6c 75 74 69 6f 6e  ....<h3>Solution
10830 3c 2f 68 33 3e 0d 0a 54 68 65 20 73 6f 6c 75 74  </h3>..The solut
10840 69 6f 6e 20 77 61 73 20 70 72 65 73 65 6e 74 65  ion was presente
10850 64 20 6f 6e 20 74 68 65 20 6d 61 69 6c 69 6e 67  d on the mailing
10860 20 6c 69 73 74 20 28 32 30 2d 4a 61 6e 2d 32 30   list (20-Jan-20
10870 31 31 29 2e 0d 0a 0d 0a 3c 76 65 72 62 61 74 69  11).....<verbati
10880 6d 3e 0d 0a 4a 75 73 74 20 70 75 74 20 74 68 65  m>..Just put the
10890 20 66 6f 6c 6c 6f 77 69 6e 67 20 73 6f 6d 65 77   following somew
108a0 68 65 72 65 20 69 6e 74 6f 20 46 6f 6f 74 65 72  here into Footer
108b0 20 28 6e 6f 74 20 68 65 61 64 65 72 21 29 20 61   (not header!) a
108c0 62 6f 76 65 20 3c 2f 62 6f 64 79 3e 3a 0d 0a 0d  bove </body>:...
108d0 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  .===============
108e0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
108f0 3d 0d 0a 0d 0a 3c 73 63 72 69 70 74 3e 0d 0a 2f  =....<script>../
10900 2a 20 20 53 69 6d 70 6c 65 20 64 69 66 66 20 68  *  Simple diff h
10910 69 67 68 6c 69 67 68 74 69 6e 67 20 2a 2f 0d 0a  ighlighting */..
10920 76 61 72 20 44 69 66 66 48 69 67 68 6c 69 67 68  var DiffHighligh
10930 74 65 72 20 3d 20 7b 0d 0a 0d 0a 20 69 73 44 69  ter = {.... isDi
10940 66 66 20 3a 20 66 75 6e 63 74 69 6f 6e 28 73 29  ff : function(s)
10950 7b 0d 0a 20 20 20 72 65 74 75 72 6e 20 28 73 2e  {..   return (s.
10960 6d 61 74 63 68 28 2f 5e 40 40 2e 2a 40 40 2f 6d  match(/^@@.*@@/m
10970 29 20 26 26 20 73 2e 6d 61 74 63 68 28 2f 5e 5b  ) && s.match(/^[
10980 2b 2d 5d 2f 6d 29 29 3b 0d 0a 20 7d 2c 0d 0a 0d  +-]/m));.. },...
10990 0a 20 68 69 67 68 6c 69 67 68 74 45 6c 65 6d 65  . highlightEleme
109a0 6e 74 20 3a 20 66 75 6e 63 74 69 6f 6e 28 65 6c  nt : function(el
109b0 29 7b 0d 0a 20 20 20 76 61 72 20 73 20 3d 20 65  ){..   var s = e
109c0 6c 2e 69 6e 6e 65 72 48 54 4d 4c 3b 0d 0a 20 20  l.innerHTML;..
109d0 20 69 66 20 28 21 74 68 69 73 2e 69 73 44 69 66   if (!this.isDif
109e0 66 28 73 29 29 7b 0d 0a 20 20 20 20 20 72 65 74  f(s)){..     ret
109f0 75 72 6e 3b 0d 0a 20 20 20 7d 0d 0a 20 20 20 73  urn;..   }..   s
10a00 20 3d 20 73 2e 72 65 70 6c 61 63 65 28 22 3c 22   = s.replace("<"
10a10 2c 20 22 26 6c 74 3b 22 29 3b 0d 0a 20 20 20 73  , "&lt;");..   s
10a20 20 3d 20 73 2e 72 65 70 6c 61 63 65 28 2f 5e 5c   = s.replace(/^\
10a30 2b 2e 2a 24 2f 6d 67 2c 20 27 3c 73 70 61 6e 20  +.*\$/mg, '<span
10a40 63 6c 61 73 73 3d 22 64 69 66 66 2d 61 64 64 65  class="diff-adde
10a50 64 22 3e 24 26 3c 2f 73 70 61 6e 3e 27 29 3b 0d  d">\$&</span>');.
10a60 0a 20 20 20 73 20 3d 20 73 2e 72 65 70 6c 61 63  .   s = s.replac
10a70 65 28 2f 5e 5c 2d 2e 2a 24 2f 6d 67 2c 20 27 3c  e(/^\-.*\$/mg, '<
10a80 73 70 61 6e 20 63 6c 61 73 73 3d 22 64 69 66 66  span class="diff
10a90 2d 72 65 6d 6f 76 65 64 22 3e 24 26 3c 2f 73 70  -removed">\$&</sp
10aa0 61 6e 3e 27 29 3b 0d 0a 20 20 20 73 20 3d 20 73  an>');..   s = s
10ab0 2e 72 65 70 6c 61 63 65 28 2f 5e 40 40 2e 2a 24  .replace(/^@@.*\$
10ac0 2f 6d 67 2c 20 27 3c 73 70 61 6e 20 63 6c 61 73  /mg, '<span clas
10ad0 73 3d 22 64 69 66 66 2d 70 6f 73 69 74 69 6f 6e  s="diff-position
10ae0 22 3e 24 26 3c 2f 73 70 61 6e 3e 27 29 3b 0d 0a  ">\$&</span>');..
10af0 20 20 20 73 20 3d 20 22 3c 70 72 65 20 63 6c 61     s = "<pre cla
10b00 73 73 3d 27 64 69 66 66 27 3e 22 20 2b 20 73 20  ss='diff'>" + s
10b10 2b 20 22 3c 2f 70 72 65 3e 22 3b 20 2f 2f 20 77  + "</pre>"; // w
10b20 6f 72 6b 61 72 6f 75 6e 64 20 66 6f 72 20 49 45  orkaround for IE
10b30 0d 0a 20 20 20 65 6c 2e 69 6e 6e 65 72 48 54 4d  ..   el.innerHTM
10b40 4c 20 3d 20 73 3b 0d 0a 20 7d 2c 0d 0a 0d 0a 20  L = s;.. },....
10b50 68 69 67 68 6c 69 67 68 74 45 6c 65 6d 65 6e 74  highlightElement
10b60 73 57 69 74 68 54 61 67 4e 61 6d 65 20 3a 20 66  sWithTagName : f
10b70 75 6e 63 74 69 6f 6e 28 74 61 67 4e 61 6d 65 29  unction(tagName)
10b80 7b 0d 0a 20 20 20 76 61 72 20 65 6c 73 20 3d 20  {..   var els =
10b90 64 6f 63 75 6d 65 6e 74 2e 67 65 74 45 6c 65 6d  document.getElem
10ba0 65 6e 74 73 42 79 54 61 67 4e 61 6d 65 28 74 61  entsByTagName(ta
10bb0 67 4e 61 6d 65 29 3b 0d 0a 20 20 20 66 6f 72 20  gName);..   for
10bc0 28 76 61 72 20 69 3d 30 3b 20 69 20 3c 20 65 6c  (var i=0; i < el
10bd0 73 2e 6c 65 6e 67 74 68 3b 20 69 2b 2b 29 7b 0d  s.length; i++){.
10be0 0a 20 20 20 20 20 74 68 69 73 2e 68 69 67 68 6c  .     this.highl
10bf0 69 67 68 74 45 6c 65 6d 65 6e 74 28 65 6c 73 5b  ightElement(els[
10c00 69 5d 29 3b 0d 0a 20 20 20 7d 0d 0a 20 7d 0d 0a  i]);..   }.. }..
10c10 7d 3b 0d 0a 0d 0a 44 69 66 66 48 69 67 68 6c 69  };....DiffHighli
10c20 67 68 74 65 72 2e 68 69 67 68 6c 69 67 68 74 45  ghter.highlightE
10c30 6c 65 6d 65 6e 74 73 57 69 74 68 54 61 67 4e 61  lementsWithTagNa
10c40 6d 65 28 27 70 72 65 27 29 3b 0d 0a 3c 2f 73 63  me('pre');..</sc
10c50 72 69 70 74 3e 0d 0a 0d 0a 3d 3d 3d 3d 3d 3d 3d  ript>....=======
10c60 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
10c70 3d 3d 3d 3d 3d 3d 3d 3d 3d 0d 0a 0d 0a 41 6e 64  =========....And
10c80 20 61 64 64 20 74 68 69 73 20 28 6f 72 20 73 6f   add this (or so
10c90 6d 65 74 68 69 6e 67 20 74 6f 20 79 6f 75 72 20  mething to your
10ca0 74 61 73 74 65 29 20 74 6f 20 79 6f 75 72 20 43  taste) to your C
10cb0 53 53 3a 0d 0a 0d 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d  SS:....=========
10cc0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
10cd0 3d 3d 3d 3d 3d 3d 3d 0d 0a 0d 0a 70 72 65 2e 64  =======....pre.d
10ce0 69 66 66 20 7b 0d 0a 20 63 6f 6c 6f 72 3a 20 23  iff {.. color: #
10cf0 30 30 30 3b 0d 0a 7d 0d 0a 0d 0a 70 72 65 20 2e  000;..}....pre .
10d00 64 69 66 66 2d 70 6f 73 69 74 69 6f 6e 20 7b 0d  diff-position {.
10d10 0a 20 64 69 73 70 6c 61 79 3a 2d 6d 6f 7a 2d 69  . display:-moz-i
10d20 6e 6c 69 6e 65 2d 73 74 61 63 6b 3b 0d 0a 20 64  nline-stack;.. d
10d30 69 73 70 6c 61 79 3a 69 6e 6c 69 6e 65 2d 62 6c  isplay:inline-bl
10d40 6f 63 6b 3b 0d 0a 20 7a 6f 6f 6d 3a 31 3b 0d 0a  ock;.. zoom:1;..
10d50 20 2a 64 69 73 70 6c 61 79 3a 62 6c 6f 63 6b 3b   *display:block;
10d60 0d 0a 20 77 69 64 74 68 3a 20 31 30 30 25 3b 0d  .. width: 100%;.
10d70 0a 20 66 6f 6e 74 2d 73 74 79 6c 65 3a 20 69 74  . font-style: it
10d80 61 6c 69 63 3b 0d 0a 20 70 61 64 64 69 6e 67 3a  alic;.. padding:
10d90 20 30 2e 35 65 6d 20 30 3b 0d 0a 20 6d 61 72 67   0.5em 0;.. marg
10da0 69 6e 3a 20 30 2e 35 65 6d 20 30 3b 0d 0a 20 62  in: 0.5em 0;.. b
10db0 6f 72 64 65 72 2d 74 6f 70 3a 20 31 70 78 20 64  order-top: 1px d
10dc0 6f 74 74 65 64 20 23 41 32 42 35 43 44 3b 0d 0a  otted #A2B5CD;..
10dd0 20 62 6f 72 64 65 72 2d 62 6f 74 74 6f 6d 3a 20   border-bottom:
10de0 31 70 78 20 64 6f 74 74 65 64 20 23 41 32 42 35  1px dotted #A2B5
10df0 43 44 3b 0d 0a 20 63 6f 6c 6f 72 3a 20 23 41 32  CD;.. color: #A2
10e00 42 35 43 44 3b 0d 0a 7d 0d 0a 0d 0a 70 72 65 20  B5CD;..}....pre
10e10 2e 64 69 66 66 2d 61 64 64 65 64 20 7b 0d 0a 20  .diff-added {..
10e20 62 61 63 6b 67 72 6f 75 6e 64 2d 63 6f 6c 6f 72  background-color
10e30 3a 20 23 43 45 46 42 43 33 20 21 69 6d 70 6f 72  : #CEFBC3 !impor
10e40 74 61 6e 74 3b 0d 0a 7d 0d 0a 0d 0a 70 72 65 20  tant;..}....pre
10e50 2e 64 69 66 66 2d 72 65 6d 6f 76 65 64 20 7b 0d  .diff-removed {.
10e60 0a 20 62 61 63 6b 67 72 6f 75 6e 64 2d 63 6f 6c  . background-col
10e70 6f 72 3a 20 23 46 35 43 32 43 31 20 21 69 6d 70  or: #F5C2C1 !imp
10e80 6f 72 74 61 6e 74 3b 0d 0a 7d 0d 0a 0d 0a 3d 3d  ortant;..}....==
10e90 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
10ea0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0d 0a  ==============..
10eb0 0d 0a 54 68 61 74 27 73 20 69 74 3a 20 74 68 65  ..That's it: the
10ec0 20 73 63 72 69 70 74 20 77 69 6c 6c 20 61 75 74   script will aut
10ed0 6f 6d 61 74 69 63 61 6c 6c 79 20 64 65 74 65 63  omatically detec
10ee0 74 20 64 69 66 66 73 20 61 6e 64 20 63 6f 6c 6f  t diffs and colo
10ef0 72 20 74 68 65 6d 2e 0d 0a 3c 2f 76 65 72 62 61  r them...</verba
10f00 74 69 6d 3e 0d 0a 0d 0a 0d 0a 3c 68 32 3e 3c 61  tim>......<h2><a
10f10 20 6e 61 6d 65 3d 22 4d 65 72 63 75 72 69 61 6c   name="Mercurial
10f20 22 3e 49 6d 70 6f 72 74 69 6e 67 20 66 72 6f 6d  ">Importing from
10f30 20 4d 65 72 63 75 72 69 61 6c 3c 2f 61 3e 3c 2f   Mercurial</a></
10f40 68 32 3e 0d 0a 0d 0a 3c 68 33 3e 50 72 6f 62 6c  h2>....<h3>Probl
10f50 65 6d 3c 2f 68 33 3e 0d 0a 0d 0a 46 6f 73 73 69  em</h3>....Fossi
10f60 6c 20 73 75 70 70 6f 72 74 73 20 5b 2f 64 6f 63  l supports [/doc
10f70 2f 74 72 75 6e 6b 2f 77 77 77 2f 69 6e 6f 75 74  /trunk/www/inout
10f80 2e 77 69 6b 69 7c 69 6d 70 6f 72 74 69 6e 67 20  .wiki|importing
10f90 66 72 6f 6d 20 47 69 74 5d 2c 20 62 75 74 20 6e  from Git], but n
10fa0 6f 74 20 66 72 6f 6d 20 4d 65 72 63 75 72 69 61  ot from Mercuria
10fb0 6c 2e 0d 0a 0d 0a 3c 68 33 3e 53 6f 6c 75 74 69  l.....<h3>Soluti
10fc0 6f 6e 31 3c 2f 68 33 3e 0d 0a 0d 0a 57 65 27 6c  on1</h3>....We'l
10fd0 6c 20 75 73 65 20 47 69 74 20 61 73 20 61 6e 20  l use Git as an
10fe0 69 6e 74 65 72 6d 65 64 69 61 72 79 3a 20 66 69  intermediary: fi
10ff0 72 73 74 20 62 79 20 63 6f 6e 76 65 72 74 69 6e  rst by convertin
11000 67 20 4d 65 72 63 75 72 69 61 6c 20 72 65 70 6f  g Mercurial repo
11010 73 69 74 6f 72 79 20 74 6f 20 47 69 74 2c 20 61  sitory to Git, a
11020 6e 64 20 74 68 65 6e 20 62 79 20 63 6f 6e 76 65  nd then by conve
11030 72 74 69 6e 67 20 47 69 74 20 72 65 70 6f 73 69  rting Git reposi
11040 74 6f 72 79 0d 0a 74 6f 20 46 6f 73 73 69 6c 2e  tory..to Fossil.
11050 20 59 6f 75 27 6c 6c 20 6e 65 65 64 20 62 6f 74   You'll need bot
11060 68 20 47 69 74 20 61 6e 64 20 4d 65 72 63 75 72  h Git and Mercur
11070 69 61 6c 20 69 6e 73 74 61 6c 6c 65 64 20 66 6f  ial installed fo
11080 72 20 74 68 69 73 20 74 6f 20 77 6f 72 6b 2e 0d  r this to work..
11090 0a 0d 0a 47 65 74 20 3c 69 3e 68 67 32 67 69 74  ...Get <i>hg2git
110a0 2e 70 79 3c 2f 69 3e 2c 20 3c 69 3e 68 67 2d 66  .py</i>, <i>hg-f
110b0 61 73 74 2d 65 78 70 6f 72 74 2e 70 79 3c 2f 69  ast-export.py</i
110c0 3e 2c 20 61 6e 64 20 3c 69 3e 68 67 2d 66 61 73  >, and <i>hg-fas
110d0 74 2d 65 78 70 6f 72 74 2e 73 68 3c 2f 69 3e 20  t-export.sh</i>
110e0 66 72 6f 6d 20 5b 68 74 74 70 3a 2f 2f 72 65 70  from [http://rep
110f0 6f 2e 6f 72 2e 63 7a 2f 77 2f 66 61 73 74 2d 65  o.or.cz/w/fast-e
11100 78 70 6f 72 74 2e 67 69 74 2f 74 72 65 65 5d 2c  xport.git/tree],
11110 0d 0a 61 6e 64 20 70 75 74 20 74 68 65 6d 20 69  ..and put them i
11120 6e 74 6f 20 61 20 73 69 6e 67 6c 65 20 64 69 72  nto a single dir
11130 65 63 74 6f 72 79 20 28 77 65 27 6c 6c 20 75 73  ectory (we'll us
11140 65 20 7e 2f 44 6f 77 6e 6c 6f 61 64 73 2f 29 2e  e ~/Downloads/).
11150 0d 0a 0d 0a 43 68 61 6e 67 65 20 64 69 72 65 63  ....Change direc
11160 74 6f 72 79 20 74 6f 20 79 6f 75 72 20 4d 65 72  tory to your Mer
11170 63 75 72 69 61 6c 20 77 6f 72 6b 69 6e 67 20 63  curial working c
11180 6f 70 79 20 28 66 6f 72 20 74 68 65 20 65 78 61  opy (for the exa
11190 6d 70 6c 65 20 77 65 27 6c 6c 20 75 73 65 20 22  mple we'll use "
111a0 70 72 6f 6a 65 63 74 22 29 2c 20 61 6e 64 20 63  project"), and c
111b0 72 65 61 74 65 20 61 20 6e 65 77 20 47 69 74 20  reate a new Git
111c0 72 65 70 6f 73 69 74 6f 72 79 0d 0a 74 68 65 72  repository..ther
111d0 65 3a 0d 0a 0d 0a 3c 76 65 72 62 61 74 69 6d 3e  e:....<verbatim>
111e0 0d 0a 20 20 63 64 20 70 72 6f 6a 65 63 74 0d 0a  ..  cd project..
111f0 20 20 67 69 74 20 69 6e 69 74 0d 0a 3c 2f 76 65    git init..</ve
11200 72 62 61 74 69 6d 3e 0d 0a 0d 0a 52 75 6e 20 65  rbatim>....Run e
11210 78 70 6f 72 74 3a 0d 0a 0d 0a 3c 76 65 72 62 61  xport:....<verba
11220 74 69 6d 3e 0d 0a 20 20 73 68 20 7e 2f 44 6f 77  tim>..  sh ~/Dow
11230 6e 6c 6f 61 64 73 2f 68 67 2d 66 61 73 74 2d 65  nloads/hg-fast-e
11240 78 70 6f 72 74 2e 73 68 0d 0a 3c 2f 76 65 72 62  xport.sh..</verb
11250 61 74 69 6d 3e 0d 0a 0d 0a 4f 6e 63 65 20 69 74  atim>....Once it
11260 20 66 69 6e 69 73 68 65 73 2c 20 63 68 65 63 6b   finishes, check
11270 20 69 66 20 69 74 20 63 6f 72 72 65 63 74 6c 79   if it correctly
11280 20 69 6d 70 6f 72 74 65 64 20 65 76 65 72 79 74   imported everyt
11290 68 69 6e 67 20 62 79 20 72 75 6e 6e 69 6e 67 20  hing by running
112a0 22 67 69 74 20 6c 6f 67 22 2e 20 0d 0a 0d 0a 49  "git log". ....I
112b0 66 20 79 6f 75 20 67 6f 74 20 22 49 6d 70 6f 72  f you got "Impor
112c0 74 45 72 72 6f 72 3a 20 4e 6f 20 6d 6f 64 75 6c  tError: No modul
112d0 65 20 6e 61 6d 65 64 20 6d 65 72 63 75 72 69 61  e named mercuria
112e0 6c 22 20 6d 61 6b 65 20 73 75 72 65 20 79 6f 75  l" make sure you
112f0 72 20 50 59 54 48 4f 4e 50 41 54 48 20 76 61 72  r PYTHONPATH var
11300 69 61 62 6c 65 20 69 73 20 73 65 74 20 74 6f 20  iable is set to
11310 70 6f 69 6e 74 20 74 6f 20 74 68 65 20 6c 6f 63  point to the loc
11320 61 74 69 6f 6e 0d 0a 77 68 65 72 65 20 6d 65 72  ation..where mer
11330 63 75 72 69 61 6c 20 6d 6f 64 75 6c 65 73 20 61  curial modules a
11340 72 65 20 69 6e 73 74 61 6c 6c 65 64 20 28 6f 6e  re installed (on
11350 20 4d 61 63 20 4f 53 20 58 20 77 68 65 6e 20 4d   Mac OS X when M
11360 65 72 63 75 72 69 61 6c 20 77 61 73 20 69 6e 73  ercurial was ins
11370 74 61 6c 6c 65 64 20 76 69 61 20 22 73 75 64 6f  talled via "sudo
11380 20 65 61 73 79 5f 69 6e 73 74 61 6c 6c 20 6d 65   easy_install me
11390 72 63 75 72 69 61 6c 22 2c 20 65 6e 74 65 72 20  rcurial", enter
113a0 74 68 65 0d 0a 66 6f 6c 6c 6f 77 69 6e 67 20 69  the..following i
113b0 6e 74 6f 20 62 61 73 68 3a 20 22 65 78 70 6f 72  nto bash: "expor
113c0 74 20 50 59 54 48 4f 4e 50 41 54 48 3d 2f 4c 69  t PYTHONPATH=/Li
113d0 62 72 61 72 79 2f 50 79 74 68 6f 6e 2f 32 2e 36  brary/Python/2.6
113e0 2f 73 69 74 65 2d 70 61 63 6b 61 67 65 73 22 29  /site-packages")
113f0 2e 0d 0a 0d 0a 4e 6f 77 20 77 65 20 63 61 6e 20  .....Now we can
11400 69 6d 70 6f 72 74 20 47 69 74 20 72 65 70 6f 73  import Git repos
11410 69 74 6f 72 79 20 69 6e 74 6f 20 46 6f 73 73 69  itory into Fossi
11420 6c 20 28 77 65 27 6c 6c 20 70 75 74 20 69 74 20  l (we'll put it
11430 69 6e 74 6f 0d 0a 70 61 72 65 6e 74 20 64 69 72  into..parent dir
11440 65 63 74 6f 72 79 20 75 6e 64 65 72 20 74 68 65  ectory under the
11450 20 22 6f 75 72 2d 72 65 70 6f 73 69 74 6f 72 79   "our-repository
11460 2e 66 6f 73 73 69 6c 22 20 6e 61 6d 65 29 3a 0d  .fossil" name):.
11470 0a 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 20  ...<verbatim>..
11480 20 67 69 74 20 66 61 73 74 2d 65 78 70 6f 72 74   git fast-export
11490 20 2d 2d 61 6c 6c 20 7c 20 66 6f 73 73 69 6c 20   --all | fossil
114a0 69 6d 70 6f 72 74 20 2d 2d 67 69 74 20 2e 2e 2f  import --git ../
114b0 6f 75 72 2d 72 65 70 6f 73 69 74 6f 72 79 2e 66  our-repository.f
114c0 6f 73 73 69 6c 0d 0a 3c 2f 76 65 72 62 61 74 69  ossil..</verbati
114d0 6d 3e 0d 0a 20 20 0d 0a 3c 68 33 3e 53 6f 6c 75  m>..  ..<h3>Solu
114e0 74 69 6f 6e 32 3c 2f 68 33 3e 0d 0a 0d 0a 54 68  tion2</h3>....Th
114f0 69 73 20 73 6f 6c 75 74 69 6f 6e 20 75 73 65 73  is solution uses
11500 20 48 67 47 69 74 20 66 72 6f 6d 20 5b 68 74 74   HgGit from [htt
11510 70 3a 2f 2f 68 67 2d 67 69 74 2e 67 69 74 68 75  p://hg-git.githu
11520 62 2e 63 6f 6d 2f 5d 2c 20 68 67 2c 20 67 69 74  b.com/], hg, git
11530 2c 20 61 6e 64 20 66 6f 73 73 69 6c 20 6e 65 65  , and fossil nee
11540 64 20 74 6f 20 62 65 20 69 6e 73 74 61 6c 6c 65  d to be installe
11550 64 20 6f 6e 20 79 6f 75 72 20 73 79 73 74 65 6d  d on your system
11560 2e 20 20 4d 6f 73 74 20 4f 53 73 20 68 61 76 65  .  Most OSs have
11570 20 61 20 70 61 63 6b 61 67 65 20 66 6f 72 20 48   a package for H
11580 67 47 69 74 2c 20 62 75 74 20 49 20 72 61 6e 20  gGit, but I ran
11590 69 6e 74 6f 20 61 20 62 75 67 20 69 6e 20 61 6e  into a bug in an
115a0 20 6f 6c 64 65 72 20 76 65 72 73 69 6f 6e 20 6f   older version o
115b0 66 20 48 67 47 69 74 20 61 6e 64 20 68 61 76 65  f HgGit and have
115c0 20 66 6f 75 6e 64 20 74 68 61 74 20 61 20 63 6c   found that a cl
115d0 65 61 6e 20 63 68 65 63 6b 20 6f 75 74 20 77 6f  ean check out wo
115e0 72 6b 73 20 6a 75 73 74 20 66 69 6e 65 2e 0d 0a  rks just fine...
115f0 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20  ..The following
11600 65 78 61 6d 70 6c 65 20 77 6f 72 6b 65 64 20 76  example worked v
11610 65 72 79 20 6e 69 63 65 6c 79 20 66 6f 72 20 6d  ery nicely for m
11620 65 20 6f 6e 20 61 20 4d 65 72 63 75 72 69 61 6c  e on a Mercurial
11630 20 72 65 70 6f 73 69 74 6f 72 79 20 63 61 6c 6c   repository call
11640 65 64 20 22 77 70 6b 67 22 2e 0d 0a 0d 0a 3c 68  ed "wpkg".....<h
11650 34 3e 54 68 65 20 62 61 73 69 63 20 73 74 65 70  4>The basic step
11660 73 20 61 72 65 3a 3c 2f 68 34 3e 0d 0a 20 20 31  s are:</h4>..  1
11670 2e 20 20 43 6c 6f 6e 65 20 74 68 65 20 4d 65 72  .  Clone the Mer
11680 63 75 72 69 61 6c 20 72 65 70 6f 73 69 74 6f 72  curial repositor
11690 79 2e 0d 0a 20 20 32 2e 20 20 43 6c 6f 6e 65 20  y...  2.  Clone
116a0 68 67 2d 67 69 74 2e 0d 0a 20 20 33 2e 20 20 49  hg-git...  3.  I
116b0 6e 69 74 69 61 6c 69 7a 65 20 61 20 6e 65 77 20  nitialize a new
116c0 67 69 74 20 72 65 70 6f 73 69 74 6f 72 79 2e 0d  git repository..
116d0 0a 20 20 34 2e 20 20 4d 6f 64 69 66 79 20 74 68  .  4.  Modify th
116e0 65 20 2e 68 67 2f 68 67 72 63 20 66 69 6c 65 2e  e .hg/hgrc file.
116f0 0d 0a 20 20 35 2e 20 20 50 75 73 68 20 74 68 65  ..  5.  Push the
11700 20 4d 65 72 63 75 72 69 61 6c 20 72 65 70 6f 73   Mercurial repos
11710 69 74 6f 72 79 20 69 6e 74 6f 20 74 68 65 20 6e  itory into the n
11720 65 77 20 67 69 74 20 72 65 70 6f 73 69 74 6f 72  ew git repositor
11730 79 2e 0d 0a 20 20 36 2e 20 20 45 78 70 6f 72 74  y...  6.  Export
11740 20 67 69 74 20 74 6f 20 66 6f 73 73 69 6c 2e 0d   git to fossil..
11750 0a 20 20 37 2e 20 20 54 61 6b 65 20 61 20 6c 6f  .  7.  Take a lo
11760 6f 6b 20 61 74 20 79 6f 75 72 20 6e 65 77 20 66  ok at your new f
11770 6f 73 73 69 6c 20 72 65 70 6f 73 69 74 6f 72 79  ossil repository
11780 2e 0d 0a 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d  .....<verbatim>.
11790 0a 6d 6b 64 69 72 20 2f 74 6d 70 2f 6d 6f 72 65  .mkdir /tmp/more
117a0 74 6d 70 0d 0a 63 64 20 2f 74 6d 70 2f 6d 6f 72  tmp..cd /tmp/mor
117b0 65 74 6d 70 0d 0a 68 67 20 63 6c 6f 6e 65 20 73  etmp..hg clone s
117c0 73 68 3a 2f 2f 68 67 40 68 67 2f 72 65 70 6f 73  sh://hg@hg/repos
117d0 2f 77 70 6b 67 0d 0a 67 69 74 20 63 6c 6f 6e 65  /wpkg..git clone
117e0 20 67 69 74 3a 2f 2f 67 69 74 68 75 62 2e 63 6f   git://github.co
117f0 6d 2f 73 63 68 61 63 6f 6e 2f 68 67 2d 67 69 74  m/schacon/hg-git
11800 2e 67 69 74 0d 0a 67 69 74 20 69 6e 69 74 20 2d  .git..git init -
11810 2d 62 61 72 65 20 67 69 74 2d 77 70 6b 67 0d 0a  -bare git-wpkg..
11820 63 64 20 77 70 6b 67 0d 0a 63 61 74 20 3e 3e 20  cd wpkg..cat >>
11830 2e 68 67 2f 68 67 72 63 20 3c 3c 20 45 4f 46 0d  .hg/hgrc << EOF.
11840 0a 0d 0a 5b 65 78 74 65 6e 73 69 6f 6e 73 5d 0d  ...[extensions].
11850 0a 68 67 65 78 74 2e 62 6f 6f 6b 6d 61 72 6b 73  .hgext.bookmarks
11860 20 3d 0d 0a 68 67 67 69 74 20 3d 20 2f 74 6d 70   =..hggit = /tmp
11870 2f 6d 6f 72 65 74 6d 70 2f 68 67 2d 67 69 74 2f  /moretmp/hg-git/
11880 68 67 67 69 74 0d 0a 45 4f 46 0d 0a 0d 0a 68 67  hggit..EOF....hg
11890 20 70 75 73 68 20 2e 2e 2f 67 69 74 2d 77 70 6b   push ../git-wpk
118a0 67 0d 0a 63 64 20 2e 2e 2f 67 69 74 2d 77 70 6b  g..cd ../git-wpk
118b0 67 0d 0a 67 69 74 20 66 61 73 74 2d 65 78 70 6f  g..git fast-expo
118c0 72 74 20 2d 2d 61 6c 6c 20 7c 20 66 6f 73 73 69  rt --all | fossi
118d0 6c 20 69 6d 70 6f 72 74 20 2d 2d 67 69 74 20 7e  l import --git ~
118e0 2f 77 70 6b 67 2e 66 6f 73 73 69 6c 0d 0a 63 64  /wpkg.fossil..cd
118f0 20 7e 0d 0a 72 6d 20 2d 72 66 20 2f 74 6d 70 2f   ~..rm -rf /tmp/
11900 6d 6f 72 65 74 6d 70 0d 0a 66 6f 73 73 69 6c 20  moretmp..fossil
11910 75 69 20 77 70 6b 67 2e 66 6f 73 73 69 6c 0d 0a  ui wpkg.fossil..
11920 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 0d 0a 3c  </verbatim>....<
11930 68 32 3e 3c 61 20 6e 61 6d 65 3d 22 53 56 4e 22  h2><a name="SVN"
11940 3e 49 6d 70 6f 72 74 69 6e 67 20 66 72 6f 6d 20  >Importing from
11950 53 56 4e 3c 2f 61 3e 3c 2f 68 32 3e 0d 0a 0d 0a  SVN</a></h2>....
11960 3c 68 33 3e 50 72 6f 62 6c 65 6d 3c 2f 68 33 3e  <h3>Problem</h3>
11970 0d 0a 0d 0a 46 6f 73 73 69 6c 20 73 75 70 70 6f  ....Fossil suppo
11980 72 74 73 20 5b 2f 64 6f 63 2f 74 72 75 6e 6b 2f  rts [/doc/trunk/
11990 77 77 77 2f 69 6e 6f 75 74 2e 77 69 6b 69 7c 69  www/inout.wiki|i
119a0 6d 70 6f 72 74 69 6e 67 20 66 72 6f 6d 20 47 69  mporting from Gi
119b0 74 5d 2c 20 62 75 74 20 6e 6f 74 20 66 72 6f 6d  t], but not from
119c0 20 53 56 4e 2e 0d 0a 0d 0a 3c 68 33 3e 53 6f 6c   SVN.....<h3>Sol
119d0 75 74 69 6f 6e 3c 2f 68 33 3e 0d 0a 0d 0a 20 20  ution</h3>....
119e0 2a 20 20 45 6e 73 75 72 65 20 79 6f 75 20 68 61  *  Ensure you ha
119f0 76 65 20 22 67 69 74 2d 73 76 6e 22 20 61 6e 64  ve "git-svn" and
11a00 20 22 73 65 64 22 2e 0d 0a 20 20 2a 20 20 53 61   "sed"...  *  Sa
11a10 76 65 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67  ve the following
11a20 20 62 61 73 68 20 73 63 72 69 70 74 20 73 6f 6d   bash script som
11a30 65 77 68 65 72 65 2c 20 63 61 6c 6c 20 69 74 20  ewhere, call it
11a40 3c 74 74 3e 73 76 6e 32 66 6f 73 73 69 6c 3c 2f  <tt>svn2fossil</
11a50 74 74 3e 0d 0a 20 20 2a 20 20 43 72 65 61 74 65  tt>..  *  Create
11a60 20 61 6e 20 65 6d 70 74 79 20 64 69 72 65 63 74   an empty direct
11a70 6f 72 79 0d 0a 20 20 2a 20 20 49 6e 20 74 68 61  ory..  *  In tha
11a80 74 20 64 69 72 65 63 74 6f 72 79 2c 20 74 79 70  t directory, typ
11a90 65 20 3c 74 74 3e 73 76 6e 32 66 6f 73 73 69 6c  e <tt>svn2fossil
11aa0 20 75 73 65 72 6e 61 6d 65 20 73 76 6e 72 65 70   username svnrep
11ab0 6f 20 66 6f 73 73 69 6c 72 65 70 6f 3c 2f 74 74  o fossilrepo</tt
11ac0 3e 0d 0a 0d 0a 49 6e 20 74 68 69 73 20 63 61 73  >....In this cas
11ad0 65 20 27 75 73 65 72 6e 61 6d 65 27 20 69 73 20  e 'username' is
11ae0 74 68 65 20 53 56 4e 20 75 73 65 72 20 79 6f 75  the SVN user you
11af0 20 77 69 73 68 20 74 6f 20 6d 61 6b 65 20 63 68   wish to make ch
11b00 61 6e 67 65 73 20 61 73 2c 20 27 73 76 6e 72 65  anges as, 'svnre
11b10 70 6f 27 20 69 73 20 74 68 65 20 66 75 6c 6c 20  po' is the full
11b20 73 76 6e 20 75 72 6c 20 28 65 2e 67 2e 20 22 73  svn url (e.g. "s
11b30 76 6e 2b 73 73 68 3a 2f 2f 6a 6f 65 40 73 6f 6d  vn+ssh://joe@som
11b40 65 70 6c 61 63 65 2e 6f 72 67 2f 73 76 6e 2f 77  eplace.org/svn/w
11b50 68 61 74 65 76 65 72 22 29 2c 20 61 6e 64 20 22  hatever"), and "
11b60 66 6f 73 73 69 6c 72 65 70 6f 22 20 69 73 20 74  fossilrepo" is t
11b70 68 65 20 6e 61 6d 65 20 79 6f 75 20 77 69 73 68  he name you wish
11b80 20 74 68 65 20 72 65 73 75 6c 74 61 6e 74 20 66   the resultant f
11b90 6f 73 73 69 6c 20 72 65 70 6f 73 69 74 6f 72 79  ossil repository
11ba0 20 74 6f 20 68 61 76 65 2e 0d 0a 0d 0a 54 68 65   to have.....The
11bb0 20 22 73 76 6e 32 66 6f 73 73 69 6c 22 20 73 63   "svn2fossil" sc
11bc0 72 69 70 74 20 77 69 6c 6c 20 66 69 72 73 74 20  ript will first
11bd0 69 6d 70 6f 72 74 20 74 68 65 20 53 56 4e 20 72  import the SVN r
11be0 65 70 6f 73 69 74 6f 72 79 20 69 6e 74 6f 20 27  epository into '
11bf0 67 69 74 27 2e 20 20 54 68 65 6e 20 69 74 20 77  git'.  Then it w
11c00 69 6c 6c 20 65 78 70 6f 72 74 20 66 72 6f 6d 20  ill export from
11c10 27 67 69 74 27 20 74 6f 20 66 6f 73 73 69 6c 2e  'git' to fossil.
11c20 20 20 54 68 65 6e 20 69 74 20 77 69 6c 6c 20 69    Then it will i
11c30 6d 70 6f 72 74 20 61 6c 6c 20 74 68 65 20 53 56  mport all the SV
11c40 4e 20 75 73 65 72 73 20 77 68 6f 20 61 72 65 20  N users who are
11c50 6c 69 73 74 65 64 20 69 6e 20 74 68 65 20 53 56  listed in the SV
11c60 4e 20 6c 6f 67 2c 20 61 73 20 27 64 65 76 65 6c  N log, as 'devel
11c70 6f 70 65 72 73 27 20 69 6e 20 74 68 65 20 66 6f  opers' in the fo
11c80 73 73 69 6c 20 72 65 70 6f 73 69 74 6f 72 79 2c  ssil repository,
11c90 20 77 69 74 68 20 61 20 70 61 73 73 77 6f 72 64   with a password
11ca0 20 63 6f 6e 73 69 73 74 69 6e 67 20 6f 66 20 74   consisting of t
11cb0 68 65 20 75 73 65 72 20 6e 61 6d 65 20 77 69 74  he user name wit
11cc0 68 20 27 31 32 33 34 27 20 61 70 70 65 6e 64 65  h '1234' appende
11cd0 64 20 74 6f 20 69 74 2e 20 20 46 69 6e 61 6c 6c  d to it.  Finall
11ce0 79 2c 20 74 68 65 20 73 63 72 69 70 74 20 77 69  y, the script wi
11cf0 6c 6c 20 6c 61 75 6e 63 68 20 27 66 6f 73 73 69  ll launch 'fossi
11d00 6c 20 75 69 27 20 6f 6e 20 74 68 65 20 6e 65 77  l ui' on the new
11d10 20 72 65 70 6f 73 69 74 6f 72 79 20 73 6f 20 79   repository so y
11d20 6f 75 20 63 61 6e 20 6d 61 6b 65 20 61 6e 79 20  ou can make any
11d30 61 64 64 69 74 69 6f 6e 61 6c 20 63 68 61 6e 67  additional chang
11d40 65 73 20 79 6f 75 20 77 61 6e 74 2e 0d 0a 0d 0a  es you want.....
11d50 49 20 68 61 76 65 20 73 75 63 63 65 73 73 66 75  I have successfu
11d60 6c 6c 79 20 75 73 65 64 20 74 68 69 73 20 73 63  lly used this sc
11d70 72 69 70 74 20 74 6f 20 63 6f 6e 76 65 72 74 20  ript to convert
11d80 70 72 65 74 74 79 20 6c 61 72 67 65 20 53 56 4e  pretty large SVN
11d90 20 72 65 70 6f 73 69 74 6f 72 69 65 73 20 74 6f   repositories to
11da0 20 66 6f 73 73 69 6c 2c 20 69 6e 20 61 20 63 6f   fossil, in a co
11db0 72 70 6f 72 61 74 65 20 65 6e 76 69 72 6f 6e 6d  rporate environm
11dc0 65 6e 74 2e 20 20 54 68 65 20 73 63 72 69 70 74  ent.  The script
11dd0 20 66 6f 6c 6c 6f 77 73 3a 0d 0a 3c 76 65 72 62   follows:..<verb
11de0 61 74 69 6d 3e 0d 0a 23 21 2f 62 69 6e 2f 62 61  atim>..#!/bin/ba
11df0 73 68 0d 0a 0d 0a 64 69 65 28 29 7b 0d 0a 09 65  sh....die(){...e
11e00 63 68 6f 20 24 31 0d 0a 09 65 78 69 74 20 31 0d  cho \$1...exit 1.
11e10 0a 7d 0d 0a 0d 0a 61 75 74 68 6f 72 73 3d 27 61  .}....authors='a
11e20 75 74 68 6f 72 73 2e 74 78 74 27 0d 0a 66 6f 73  uthors.txt'..fos
11e30 73 69 6c 75 73 65 72 73 3d 27 75 73 65 72 73 2e  silusers='users.
11e40 74 78 74 27 0d 0a 0d 0a 23 20 70 61 72 61 6d 65  txt'....# parame
11e50 74 65 72 73 3a 0d 0a 23 20 31 20 2d 20 75 73 65  ters:..# 1 - use
11e60 72 6e 61 6d 65 20 6f 66 20 61 64 6d 69 6e 0d 0a  rname of admin..
11e70 23 20 32 20 2d 20 73 76 6e 20 72 65 70 6f 73 69  # 2 - svn reposi
11e80 74 6f 72 79 20 74 6f 20 63 6f 6e 76 65 72 74 0d  tory to convert.
11e90 0a 23 20 33 20 2d 20 6e 61 6d 65 20 6f 66 20 66  .# 3 - name of f
11ea0 6f 73 73 69 6c 20 72 65 70 6f 0d 0a 23 20 6e 6f  ossil repo..# no
11eb0 74 65 3a 20 74 68 65 20 72 65 70 6f 73 69 74 6f  te: the reposito
11ec0 72 79 20 77 69 6c 6c 20 62 65 20 63 72 65 61 74  ry will be creat
11ed0 65 64 20 72 69 67 68 74 20 68 65 72 65 21 0d 0a  ed right here!..
11ee0 0d 0a 69 66 20 5b 20 22 24 33 22 20 3d 3d 20 22  ..if [ "\$3" == "
11ef0 22 20 5d 0d 0a 74 68 65 6e 0d 0a 09 65 63 68 6f  " ]..then...echo
11f00 20 22 53 79 6e 74 61 78 3a 22 0d 0a 09 65 63 68   "Syntax:"...ech
11f10 6f 20 22 20 20 73 76 6e 32 66 6f 73 73 69 6c 20  o "  svn2fossil
11f20 75 73 65 72 6e 61 6d 65 20 20 73 76 6e 2d 72 65  username  svn-re
11f30 70 6f 2d 75 72 6c 20 20 66 6f 73 73 69 6c 2d 72  po-url  fossil-r
11f40 65 70 6f 2d 6e 61 6d 65 22 0d 0a 09 64 69 65 20  epo-name"...die
11f50 20 22 50 6c 65 61 73 65 20 6d 61 6b 65 20 73 75   "Please make su
11f60 72 65 20 79 6f 75 20 68 61 76 65 20 61 6c 6c 20  re you have all
11f70 74 68 72 65 65 20 70 61 72 61 6d 65 74 65 72 73  three parameters
11f80 20 73 65 74 21 22 0d 0a 66 69 0d 0a 0d 0a 65 63   set!"..fi....ec
11f90 68 6f 20 22 47 65 74 74 69 6e 67 20 75 73 65 72  ho "Getting user
11fa0 20 6e 61 6d 65 73 2e 2e 2e 22 0d 0a 0d 0a 73 76   names..."....sv
11fb0 6e 20 6c 6f 67 20 22 24 32 22 20 7c 20 67 72 65  n log "\$2" | gre
11fc0 70 20 27 5e 72 5b 30 2d 39 5d 27 20 7c 20 63 75  p '^r[0-9]' | cu
11fd0 74 20 2d 66 33 20 2d 64 27 20 27 20 7c 20 73 6f  t -f3 -d' ' | so
11fe0 72 74 20 2d 75 20 3e 20 24 66 6f 73 73 69 6c 75  rt -u > \$fossilu
11ff0 73 65 72 73 20 7c 7c 20 64 69 65 20 22 53 6f 6d  sers || die "Som
12000 65 74 68 69 6e 67 20 77 65 6e 74 20 77 72 6f 6e  ething went wron
12010 67 20 67 65 74 74 69 6e 67 20 75 73 65 72 20 6e  g getting user n
12020 61 6d 65 73 22 0d 0a 0d 0a 65 63 68 6f 20 22 43  ames"....echo "C
12030 6f 6e 76 65 72 74 69 6e 67 20 75 73 65 72 20 6e  onverting user n
12040 61 6d 65 73 20 74 6f 20 75 73 61 62 6c 65 20 66  ames to usable f
12050 6f 72 6d 61 74 2e 2e 2e 22 0d 0a 73 65 64 20 2d  ormat..."..sed -
12060 65 20 27 73 2f 2e 2a 2f 26 20 3d 20 26 20 3c 26  e 's/.*/& = & <&
12070 3e 2f 27 20 24 66 6f 73 73 69 6c 75 73 65 72 73  >/' \$fossilusers
12080 20 3e 20 24 61 75 74 68 6f 72 73 20 7c 7c 20 64   > \$authors || d
12090 69 65 20 22 43 6f 75 6c 64 20 6e 6f 74 20 63 6f  ie "Could not co
120a0 6e 76 65 72 74 20 75 73 65 72 20 6e 61 6d 65 73  nvert user names
120b0 22 0d 0a 0d 0a 65 63 68 6f 20 22 49 6d 70 6f 72  "....echo "Impor
120c0 74 69 6e 67 20 66 72 6f 6d 20 53 56 4e 20 74 6f  ting from SVN to
120d0 20 67 69 74 2e 20 20 54 68 69 73 20 77 69 6c 6c   git.  This will
120e0 20 74 61 6b 65 20 73 6f 6d 65 20 74 69 6d 65 2c   take some time,
120f0 20 62 65 20 70 61 74 69 65 6e 74 21 22 0d 0a 0d   be patient!"...
12100 0a 67 69 74 20 73 76 6e 20 63 6c 6f 6e 65 20 2d  .git svn clone -
12110 2d 61 75 74 68 6f 72 73 2d 66 69 6c 65 3d 24 61  -authors-file=\$a
12120 75 74 68 6f 72 73 20 2d 2d 75 73 65 72 6e 61 6d  uthors --usernam
12130 65 3d 22 24 31 22 20 2d 2d 6e 6f 2d 6d 65 74 61  e="\$1" --no-meta
12140 64 61 74 61 20 22 24 32 22 20 74 6d 70 20 7c 7c  data "\$2" tmp ||
12150 20 64 69 65 20 22 55 6e 61 62 6c 65 20 74 6f 20   die "Unable to
12160 69 6d 70 6f 72 74 20 74 6f 20 67 69 74 22 0d 0a  import to git"..
12170 0d 0a 65 63 68 6f 20 22 49 6d 70 6f 72 74 69 6e  ..echo "Importin
12180 67 20 66 72 6f 6d 20 67 69 74 20 74 6f 20 66 6f  g from git to fo
12190 73 73 69 6c 2e 20 20 54 68 69 73 20 77 69 6c 6c  ssil.  This will
121a0 20 61 6c 73 6f 20 74 61 6b 65 20 73 6f 6d 65 20   also take some
121b0 74 69 6d 65 2c 20 73 61 64 6c 79 22 0d 0a 0d 0a  time, sadly"....
121c0 28 0d 0a 63 64 20 74 6d 70 0d 0a 67 69 74 20 66  (..cd tmp..git f
121d0 61 73 74 2d 65 78 70 6f 72 74 20 2d 2d 66 75 6c  ast-export --ful
121e0 6c 2d 74 72 65 65 20 2d 2d 61 6c 6c 20 7c 20 66  l-tree --all | f
121f0 6f 73 73 69 6c 20 69 6d 70 6f 72 74 20 2d 2d 67  ossil import --g
12200 69 74 20 2e 2e 2f 24 33 20 7c 7c 20 64 69 65 20  it ../\$3 || die
12210 22 55 6e 61 62 6c 65 20 74 6f 20 69 6d 70 6f 72  "Unable to impor
12220 74 20 69 6e 74 6f 20 66 6f 73 73 69 6c 22 0d 0a  t into fossil"..
12230 29 0d 0a 0d 0a 65 63 68 6f 20 22 41 64 64 69 6e  )....echo "Addin
12240 67 20 75 73 65 72 73 20 74 6f 20 66 6f 73 73 69  g users to fossi
12250 6c 20 72 65 70 6f 73 69 74 6f 72 79 3a 22 0d 0a  l repository:"..
12260 66 6f 72 20 75 73 65 72 20 69 6e 20 60 63 61 74  for user in `cat
12270 20 24 66 6f 73 73 69 6c 75 73 65 72 73 60 0d 0a   \$fossilusers`..
12280 64 6f 0d 0a 09 66 6f 73 73 69 6c 20 75 73 65 72  do...fossil user
12290 20 6e 65 77 20 24 75 73 65 72 20 27 27 20 22 24   new \$user '' "\$
122a0 7b 75 73 65 72 7d 31 32 33 34 22 20 2d 52 20 24  {user}1234" -R \$
122b0 33 0d 0a 09 66 6f 73 73 69 6c 20 75 73 65 72 20  3...fossil user
122c0 63 61 70 61 62 69 6c 69 74 69 65 73 20 24 75 73  capabilities \$us
122d0 65 72 20 27 76 27 20 2d 52 20 24 33 0d 0a 64 6f  er 'v' -R \$3..do
122e0 6e 65 0d 0a 0d 0a 65 63 68 6f 20 22 44 6f 6e 65  ne....echo "Done
122f0 21 2e 20 20 4e 6f 77 20 6c 61 75 6e 63 68 69 6e  !.  Now launchin
12300 67 20 27 66 6f 73 73 69 6c 20 75 69 20 24 33 27  g 'fossil ui \$3'
12310 20 74 6f 20 63 68 65 63 6b 20 6f 75 74 20 74 68   to check out th
12320 65 20 6e 65 77 20 66 6f 73 73 69 6c 20 72 65 70  e new fossil rep
12330 6f 73 69 74 6f 72 79 22 0d 0a 66 6f 73 73 69 6c  ository"..fossil
12340 20 75 69 20 24 33 0d 0a 3c 2f 76 65 72 62 61 74   ui \$3..</verbat
12350 69 6d 3e 0a 5a 20 31 37 31 62 31 65 34 33 36 30  im>.Z 171b1e4360
12360 39 30 32 35 39 32 62 38 62 37 39 33 37 31 31 37  902592b8b7937117
12370 38 33 35 35 35 31 0a                             835551.