Hex Artifact Content
Not logged in

Artifact fea41fe1a34f7532d5648d8e980f49efbc94babf:

Wiki page [Cookbook] by dmitry 2011-01-28 11:04:31.
0000: 44 20 32 30 31 31 2d 30 31 2d 32 38 54 31 31 3a  D 2011-01-28T11:
0010: 30 34 3a 33 31 2e 33 36 39 0a 4c 20 43 6f 6f 6b  04:31.369.L Cook
0020: 62 6f 6f 6b 0a 50 20 39 36 39 35 33 34 65 36 32  book.P 969534e62
0030: 62 62 30 32 37 61 33 33 34 34 63 31 37 61 66 37  bb027a3344c17af7
0040: 34 36 34 36 62 37 62 61 38 31 36 66 34 35 34 0a  4646b7ba816f454.
0050: 55 20 64 6d 69 74 72 79 0a 57 20 36 35 32 31 30  U dmitry.W 65210
0060: 0a 3c 68 31 3e 46 6f 73 73 69 6c 20 43 6f 6f 6b  .<h1>Fossil Cook
0070: 62 6f 6f 6b 3c 2f 68 31 3e 0d 0a 54 68 65 20 3c  book</h1>..The <
0080: 63 69 74 65 3e 46 6f 73 73 69 6c 3c 2f 63 69 74  cite>Fossil</cit
0090: 65 3e 20 43 6f 6f 6b 62 6f 6f 6b 20 69 73 20 61  e> Cookbook is a
00a0: 20 63 6f 6c 6c 65 63 74 69 6f 6e 20 6f 66 20 74   collection of t
00b0: 61 73 6b 2d 6f 72 69 65 6e 74 65 64 20 69 6e 73  ask-oriented ins
00c0: 74 72 75 63 74 69 6f 6e 73 20 66 6f 72 20 69 6e  tructions for in
00d0: 74 65 72 6d 65 64 69 61 74 65 20 75 73 65 72 73  termediate users
00e0: 20 77 68 6f 20 77 69 73 68 20 74 6f 20 64 6f 20   who wish to do 
00f0: 6d 6f 72 65 20 74 68 61 6e 20 62 61 73 69 63 20  more than basic 
0100: 6f 70 65 72 61 74 69 6f 6e 73 20 77 69 74 68 20  operations with 
0110: 74 68 65 69 72 20 3c 63 69 74 65 3e 46 6f 73 73  their <cite>Foss
0120: 69 6c 3c 2f 63 69 74 65 3e 20 72 65 70 6f 73 69  il</cite> reposi
0130: 74 6f 72 69 65 73 2e 20 20 54 68 65 20 5b 54 75  tories.  The [Tu
0140: 74 6f 72 69 61 6c 7c 74 75 74 6f 72 69 61 6c 5d  torial|tutorial]
0150: 20 69 73 20 61 20 6d 6f 72 65 20 73 75 69 74 61   is a more suita
0160: 62 6c 65 20 70 6c 61 63 65 20 66 6f 72 20 6e 65  ble place for ne
0170: 77 63 6f 6d 65 72 73 20 74 72 79 69 6e 67 20 74  wcomers trying t
0180: 6f 20 6c 65 61 72 6e 20 74 68 65 20 62 61 73 69  o learn the basi
0190: 63 20 63 6f 6e 63 65 70 74 73 20 74 6f 20 67 6f  c concepts to go
01a0: 20 66 69 72 73 74 20 62 65 66 6f 72 65 20 74 61   first before ta
01b0: 63 6b 6c 69 6e 67 20 74 68 65 73 65 20 72 65 63  ckling these rec
01c0: 69 70 65 73 2e 0d 0a 0d 0a 3c 68 32 3e 49 6e 64  ipes.....<h2>Ind
01d0: 65 78 3c 2f 68 32 3e 0d 0a 3c 75 6c 3e 0d 0a 20  ex</h2>..<ul>.. 
01e0: 20 3c 6c 69 3e 53 65 72 76 65 72 20 72 65 63 69   <li>Server reci
01f0: 70 65 73 3a 0d 0a 20 20 20 20 3c 75 6c 3e 0d 0a  pes:..    <ul>..
0200: 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65        <li><a hre
0210: 66 3d 22 23 43 47 49 22 3e 55 73 69 6e 67 20 3c  f="#CGI">Using <
0220: 63 69 74 65 3e 46 6f 73 73 69 6c 3c 2f 63 69 74  cite>Fossil</cit
0230: 65 3e 27 73 20 42 75 69 6c 74 2d 49 6e 20 43 47  e>'s Built-In CG
0240: 49 3c 2f 61 3e 0d 0a 20 20 20 20 3c 2f 75 6c 3e  I</a>..    </ul>
0250: 0d 0a 20 20 3c 2f 6c 69 3e 0d 0a 20 20 3c 6c 69  ..  </li>..  <li
0260: 3e 3c 61 20 68 72 65 66 3d 22 23 65 6e 76 22 3e  ><a href="#env">
0270: 55 73 69 6e 67 20 45 6e 76 69 72 6f 6e 6d 65 6e  Using Environmen
0280: 74 20 76 61 72 69 61 62 6c 65 73 3c 2f 61 3e 3c  t variables</a><
0290: 2f 6c 69 3e 0d 0a 20 20 3c 6c 69 3e 3c 61 20 68  /li>..  <li><a h
02a0: 72 65 66 3d 22 23 63 73 73 22 3e 45 78 61 6d 70  ref="#css">Examp
02b0: 6c 65 20 43 53 53 3c 2f 61 3e 3c 2f 6c 69 3e 0d  le CSS</a></li>.
02c0: 0a 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22  .  <li><a href="
02d0: 23 73 6f 75 72 63 65 2d 68 69 6c 69 67 68 74 22  #source-hilight"
02e0: 3e 53 6f 75 72 63 65 20 68 69 67 68 6c 69 67 68  >Source highligh
02f0: 74 69 6e 67 3c 2f 61 3e 3c 2f 6c 69 3e 0d 0a 20  ting</a></li>.. 
0300: 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 77   <li><a href="#w
0310: 69 6e 33 32 64 65 76 22 3e 46 6f 73 73 69 6c 20  in32dev">Fossil 
0320: 57 69 6e 33 32 20 44 65 76 65 6c 6f 70 6d 65 6e  Win32 Developmen
0330: 74 20 4d 61 63 68 69 6e 65 20 73 65 74 75 70 3c  t Machine setup<
0340: 2f 61 3e 3c 2f 6c 69 3e 0d 0a 20 20 3c 6c 69 3e  /a></li>..  <li>
0350: 5b 63 6f 6d 70 69 6c 6c 69 6e 67 4f 6e 57 69 6e  [compillingOnWin
0360: 64 6f 77 73 7c 20 48 6f 77 20 74 6f 20 63 6f 6d  dows| How to com
0370: 70 69 6c 65 20 6f 6e 20 77 69 6e 64 6f 77 73 5d  pile on windows]
0380: 3c 2f 6c 69 3e 0d 0a 20 20 3c 6c 69 3e 3c 61 20  </li>..  <li><a 
0390: 68 72 65 66 3d 22 23 77 79 73 69 77 69 67 22 3e  href="#wysiwig">
03a0: 4a 61 76 61 73 63 72 69 70 74 20 48 54 4d 4c 20  Javascript HTML 
03b0: 57 59 53 49 57 59 47 20 65 64 69 74 6f 72 20 63  WYSIWYG editor c
03c0: 6f 6e 74 72 6f 6c 3c 2f 61 3e 0d 0a 20 20 20 20  ontrol</a>..    
03d0: 3c 75 6c 3e 0d 0a 20 20 20 20 20 20 3c 6c 69 3e  <ul>..      <li>
03e0: 3c 61 20 68 72 65 66 3d 22 23 74 69 6e 79 6d 63  <a href="#tinymc
03f0: 65 22 3e 54 69 6e 79 4d 43 45 3c 2f 61 3e 3c 2f  e">TinyMCE</a></
0400: 6c 69 3e 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 3c  li>..      <li><
0410: 61 20 68 72 65 66 3d 22 23 6d 61 72 6b 69 74 75  a href="#markitu
0420: 70 22 3e 6d 61 72 6b 69 74 75 70 21 3c 2f 61 3e  p">markitup!</a>
0430: 3c 2f 6c 69 3e 0d 0a 20 20 20 20 3c 2f 75 6c 3e  </li>..    </ul>
0440: 0d 0a 20 20 3c 2f 6c 69 3e 0d 0a 20 20 3c 6c 69  ..  </li>..  <li
0450: 3e 3c 61 20 68 72 65 66 3d 22 23 74 69 63 6b 65  ><a href="#ticke
0460: 74 2d 63 68 65 63 6b 69 6e 2d 6c 69 6e 6b 73 22  t-checkin-links"
0470: 3e 4c 69 6e 6b 20 74 69 63 6b 65 74 73 20 74 6f  >Link tickets to
0480: 20 63 68 65 63 6b 69 6e 73 3c 2f 61 3e 3c 2f 6c   checkins</a></l
0490: 69 3e 0d 0a 20 20 3c 6c 69 3e 3c 61 20 68 72 65  i>..  <li><a hre
04a0: 66 3d 22 23 74 68 31 2d 75 73 61 67 65 22 3e 46  f="#th1-usage">F
04b0: 6f 73 73 69 6c 20 61 6e 64 20 54 68 31 3c 2f 61  ossil and Th1</a
04c0: 3e 3c 2f 6c 69 3e 0d 0a 20 20 3c 6c 69 3e 3c 61  ></li>..  <li><a
04d0: 20 68 72 65 66 3d 22 23 76 65 72 73 69 6f 6e 43   href="#versionC
04e0: 6f 6d 70 72 65 73 73 65 64 22 3e 56 65 72 73 69  ompressed">Versi
04f0: 6f 6e 69 6e 67 20 63 6f 6d 70 72 65 73 73 65 64  oning compressed
0500: 20 66 69 6c 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0d   files</a></li>.
0510: 0a 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22  .  <li><a href="
0520: 23 43 6f 6c 6f 72 50 69 63 6b 65 72 22 3e 43 6f  #ColorPicker">Co
0530: 6c 6f 72 20 73 65 6c 65 63 74 6f 72 20 69 6e 20  lor selector in 
0540: 63 68 65 63 6b 2d 69 6e 20 70 72 6f 70 65 72 74  check-in propert
0550: 69 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0d 0a 20 20  ies</a></li>..  
0560: 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 53 65  <li><a href="#Se
0570: 61 72 63 68 57 69 6b 69 22 3e 53 65 61 72 63 68  archWiki">Search
0580: 69 6e 67 20 77 69 6b 69 20 74 65 78 74 3c 2f 61  ing wiki text</a
0590: 3e 3c 2f 6c 69 3e 0d 0a 20 20 3c 6c 69 3e 3c 61  ></li>..  <li><a
05a0: 20 68 72 65 66 3d 22 23 48 69 67 68 6c 69 67 68   href="#Highligh
05b0: 74 44 69 66 66 22 3e 48 69 67 68 6c 69 67 68 74  tDiff">Highlight
05c0: 20 64 69 66 66 27 73 3c 2f 61 3e 3c 2f 6c 69 3e   diff's</a></li>
05d0: 0d 0a 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d  ..  <li><a href=
05e0: 22 23 4d 65 72 63 75 72 69 61 6c 22 3e 49 6d 70  "#Mercurial">Imp
05f0: 6f 72 74 69 6e 67 20 66 72 6f 6d 20 4d 65 72 63  orting from Merc
0600: 75 72 69 61 6c 3c 2f 61 3e 3c 2f 6c 69 3e 0d 0a  urial</a></li>..
0610: 3c 2f 75 6c 3e 0d 0a 0d 0a 3c 68 32 3e 3c 61 20  </ul>....<h2><a 
0620: 6e 61 6d 65 3d 22 43 47 49 22 3e 55 73 69 6e 67  name="CGI">Using
0630: 20 3c 63 69 74 65 3e 46 6f 73 73 69 6c 3c 2f 63   <cite>Fossil</c
0640: 69 74 65 3e 27 73 20 42 75 69 6c 74 2d 49 6e 20  ite>'s Built-In 
0650: 43 47 49 3c 2f 61 3e 3c 2f 68 32 3e 0d 0a 3c 68  CGI</a></h2>..<h
0660: 33 3e 4d 6f 74 69 76 61 74 69 6f 6e 3c 2f 68 33  3>Motivation</h3
0670: 3e 0d 0a 20 20 2a 20 20 59 6f 75 20 77 61 6e 74  >..  *  You want
0680: 20 74 6f 20 73 68 61 72 65 20 61 20 72 65 70 6f   to share a repo
0690: 73 69 74 6f 72 79 20 74 68 72 6f 75 67 68 20 79  sitory through y
06a0: 6f 75 72 20 65 78 69 73 74 69 6e 67 20 77 65 62  our existing web
06b0: 20 69 6e 66 72 61 73 74 72 75 63 74 75 72 65 2e   infrastructure.
06c0: 0d 0a 20 20 2a 20 20 59 6f 75 20 77 61 6e 74 20  ..  *  You want 
06d0: 74 6f 20 73 68 61 72 65 20 6d 6f 72 65 20 74 68  to share more th
06e0: 61 6e 20 6f 6e 65 20 72 65 70 6f 73 69 74 6f 72  an one repositor
06f0: 79 20 61 74 20 74 68 65 20 73 61 6d 65 20 74 69  y at the same ti
0700: 6d 65 2e 0d 0a 0d 0a 3c 68 33 3e 50 72 6f 62 6c  me.....<h3>Probl
0710: 65 6d 3c 2f 68 33 3e 0d 0a 55 6e 6c 69 6b 65 20  em</h3>..Unlike 
0720: 73 6f 6d 65 20 6f 74 68 65 72 20 64 69 73 74 72  some other distr
0730: 69 62 75 74 65 64 20 53 43 4d 73 2c 20 3c 63 69  ibuted SCMs, <ci
0740: 74 65 3e 46 6f 73 73 69 6c 3c 2f 63 69 74 65 3e  te>Fossil</cite>
0750: 20 63 61 6e 20 6f 6e 6c 79 20 63 6c 6f 6e 65 2c   can only clone,
0760: 20 70 75 73 68 2c 20 70 75 6c 6c 20 61 6e 64 20   push, pull and 
0770: 61 6e 64 20 6f 74 68 65 72 77 69 73 65 20 69 6e  and otherwise in
0780: 74 65 72 61 63 74 20 74 68 72 6f 75 67 68 20 72  teract through r
0790: 65 70 6f 73 69 74 6f 72 69 65 73 20 6f 76 65 72  epositories over
07a0: 20 48 54 54 50 2e 20 20 54 68 69 73 20 63 61 6e   HTTP.  This can
07b0: 20 62 65 20 73 69 6d 70 6c 79 20 61 6e 64 20 65   be simply and e
07c0: 61 73 69 6c 79 20 6d 61 6e 61 67 65 64 20 74 68  asily managed th
07d0: 72 6f 75 67 68 20 75 73 65 20 6f 66 20 74 68 65  rough use of the
07e0: 20 3c 63 6f 64 65 3e 66 6f 73 73 69 6c 20 73 65   <code>fossil se
07f0: 72 76 65 72 3c 2f 63 6f 64 65 3e 20 61 6e 64 2f  rver</code> and/
0800: 6f 72 20 3c 63 6f 64 65 3e 66 6f 73 73 69 6c 20  or <code>fossil 
0810: 75 69 3c 2f 63 6f 64 65 3e 20 63 6f 6d 6d 61 6e  ui</code> comman
0820: 64 73 2c 20 6f 66 20 63 6f 75 72 73 65 2c 20 62  ds, of course, b
0830: 75 74 20 74 68 69 73 20 69 73 20 72 65 61 6c 6c  ut this is reall
0840: 79 20 6f 6e 6c 79 20 61 64 65 71 75 61 74 65 20  y only adequate 
0850: 66 6f 72 20 61 64 2d 68 6f 63 20 72 65 70 6f 73  for ad-hoc repos
0860: 69 74 6f 72 79 20 73 68 61 72 69 6e 67 2e 20 20  itory sharing.  
0870: 43 6f 6e 73 69 64 65 72 2c 20 66 6f 72 20 65 78  Consider, for ex
0880: 61 6d 70 6c 65 2c 20 73 68 61 72 69 6e 67 20 74  ample, sharing t
0890: 65 6e 20 72 65 70 6f 73 69 74 6f 72 69 65 73 2e  en repositories.
08a0: 20 20 55 73 69 6e 67 20 74 68 65 20 62 75 69 6c    Using the buil
08b0: 74 2d 69 6e 20 73 65 72 76 65 72 20 77 6f 75 6c  t-in server woul
08c0: 64 20 72 65 71 75 69 72 65 20 79 6f 75 20 74 6f  d require you to
08d0: 20 6f 70 65 6e 20 74 65 6e 20 70 6f 72 74 73 20   open ten ports 
08e0: 69 6e 20 79 6f 75 72 20 66 69 72 65 77 61 6c 6c  in your firewall
08f0: 20 74 6f 20 70 65 72 6d 69 74 20 61 63 63 65 73   to permit acces
0900: 73 2e 20 20 41 6e 79 20 73 65 72 69 6f 75 73 20  s.  Any serious 
0910: 73 68 61 72 69 6e 67 20 77 69 6c 6c 20 72 65 71  sharing will req
0920: 75 69 72 65 20 73 6f 6d 65 74 68 69 6e 67 20 6d  uire something m
0930: 6f 72 65 20 72 6f 62 75 73 74 20 61 6e 64 20 70  ore robust and p
0940: 65 72 6d 61 6e 65 6e 74 2c 20 61 6e 64 20 73 6f  ermanent, and so
0950: 6c 75 74 69 6f 6e 73 20 66 6f 72 20 64 6f 69 6e  lutions for doin
0960: 67 20 73 6f 20 61 72 65 20 64 65 73 63 72 69 62  g so are describ
0970: 65 64 20 62 65 6c 6f 77 2e 0d 0a 0d 0a 3c 68 33  ed below.....<h3
0980: 3e 53 6f 6c 75 74 69 6f 6e 3c 2f 68 33 3e 0d 0a  >Solution</h3>..
0990: 3c 63 69 74 65 3e 46 6f 73 73 69 6c 3c 2f 63 69  <cite>Fossil</ci
09a0: 74 65 3e 20 73 75 70 70 6f 72 74 73 20 74 68 72  te> supports thr
09b0: 65 65 20 64 69 66 66 65 72 65 6e 74 20 77 61 79  ee different way
09c0: 73 20 74 6f 20 73 68 61 72 65 20 72 65 70 6f 73  s to share repos
09d0: 69 74 6f 72 69 65 73 2e 20 20 46 6f 72 20 61 64  itories.  For ad
09e0: 2d 68 6f 63 20 73 68 61 72 69 6e 67 20 3c 63 6f  -hoc sharing <co
09f0: 64 65 3e 66 6f 73 73 69 6c 20 73 65 72 76 65 72  de>fossil server
0a00: 2f 75 69 3c 2f 63 6f 64 65 3e 20 69 73 20 6d 6f  /ui</code> is mo
0a10: 72 65 20 74 68 61 6e 20 61 64 65 71 75 61 74 65  re than adequate
0a20: 2e 20 20 46 6f 72 20 6d 6f 72 65 20 72 6f 62 75  .  For more robu
0a30: 73 74 20 73 6f 6c 75 74 69 6f 6e 73 2c 20 68 6f  st solutions, ho
0a40: 77 65 76 65 72 2c 20 74 68 65 20 75 73 65 20 6f  wever, the use o
0a50: 66 20 3c 63 69 74 65 3e 28 78 29 69 6e 65 74 64  f <cite>(x)inetd
0a60: 3c 2f 63 69 74 65 3e 20 6f 72 20 43 47 49 20 73  </cite> or CGI s
0a70: 75 70 70 6f 72 74 20 69 73 20 69 6e 64 69 63 61  upport is indica
0a80: 74 65 64 2e 0d 0a 0d 0a 53 65 74 74 69 6e 67 20  ted.....Setting 
0a90: 75 70 20 66 6f 73 73 69 6c 20 66 6f 72 20 43 47  up fossil for CG
0aa0: 49 20 73 75 70 70 6f 72 74 20 69 73 20 73 69 6d  I support is sim
0ab0: 70 6c 65 2e 20 20 28 53 65 74 74 69 6e 67 20 75  ple.  (Setting u
0ac0: 70 20 79 6f 75 72 20 77 65 62 20 73 65 72 76 65  p your web serve
0ad0: 72 20 66 6f 72 20 43 47 49 20 73 75 70 70 6f 72  r for CGI suppor
0ae0: 74 20 6d 61 79 20 6f 72 20 6d 61 79 20 6e 6f 74  t may or may not
0af0: 20 62 65 20 73 69 6d 70 6c 65 2c 20 62 75 74 20   be simple, but 
0b00: 69 74 20 69 73 20 6f 75 74 20 6f 66 20 73 63 6f  it is out of sco
0b10: 70 65 20 6f 66 20 74 68 69 73 20 72 65 63 69 70  pe of this recip
0b20: 65 2e 20 20 43 6f 6e 73 75 6c 74 20 79 6f 75 72  e.  Consult your
0b30: 20 77 65 62 20 73 65 72 76 65 72 2f 73 65 72 76   web server/serv
0b40: 69 63 65 20 70 72 6f 76 69 64 65 72 27 73 20 64  ice provider's d
0b50: 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 6f 72  ocumentation for
0b60: 20 74 68 69 73 2e 29 0d 0a 0d 0a 3c 68 34 3e 55   this.)....<h4>U
0b70: 4e 49 58 3c 2f 68 34 3e 0d 0a 20 20 31 2e 20 20  NIX</h4>..  1.  
0b80: 46 69 6e 64 20 79 6f 75 72 20 43 47 49 20 73 63  Find your CGI sc
0b90: 72 69 70 74 73 20 64 69 72 65 63 74 6f 72 79 20  ripts directory 
0ba0: 28 69 66 20 61 70 70 6c 69 63 61 62 6c 65 29 2e  (if applicable).
0bb0: 20 20 54 68 69 73 20 69 73 20 63 6f 6d 6d 6f 6e    This is common
0bc0: 6c 79 20 73 6f 6d 65 74 68 69 6e 67 20 6c 69 6b  ly something lik
0bd0: 65 20 3c 62 61 73 65 3e 2f 63 67 69 2d 62 69 6e  e <base>/cgi-bin
0be0: 2f 2c 20 62 75 74 20 64 6f 65 73 20 6e 6f 74 20  /, but does not 
0bf0: 68 61 76 65 20 74 6f 20 62 65 2e 0d 0a 20 20 32  have to be...  2
0c00: 2e 20 20 49 6e 73 69 64 65 20 74 68 61 74 20 64  .  Inside that d
0c10: 69 72 65 63 74 6f 72 79 20 62 75 69 6c 64 20 61  irectory build a
0c20: 20 73 63 72 69 70 74 20 66 69 6c 65 20 77 68 69   script file whi
0c30: 63 68 20 6c 6f 6f 6b 73 20 6c 69 6b 65 20 74 68  ch looks like th
0c40: 69 73 3a 3c 62 72 3e 3c 63 6f 64 65 3e 3c 70 72  is:<br><code><pr
0c50: 65 3e 20 20 23 21 20 2f 75 73 72 2f 62 69 6e 2f  e>  #! /usr/bin/
0c60: 65 6e 76 20 66 6f 73 73 69 6c 3c 62 72 3e 20 20  env fossil<br>  
0c70: 72 65 70 6f 73 69 74 6f 72 79 3a 20 2f 66 75 6c  repository: /ful
0c80: 6c 2f 70 61 74 68 2f 74 6f 2f 72 65 70 6f 73 69  l/path/to/reposi
0c90: 74 6f 72 79 2f 66 69 6c 65 2e 66 73 6c 3c 2f 70  tory/file.fsl</p
0ca0: 72 65 3e 3c 2f 63 6f 64 65 3e 0d 0a 20 20 33 2e  re></code>..  3.
0cb0: 20 20 45 6e 73 75 72 65 20 74 68 61 74 20 74 68    Ensure that th
0cc0: 65 20 73 63 72 69 70 74 20 66 69 6c 65 20 73 6f  e script file so
0cd0: 20 67 65 6e 65 72 61 74 65 64 20 69 73 20 73 65   generated is se
0ce0: 74 20 65 78 65 63 75 74 61 62 6c 65 20 66 6f 72  t executable for
0cf0: 20 74 68 65 20 43 47 49 20 75 73 65 72 20 61 63   the CGI user ac
0d00: 63 6f 75 6e 74 2e 0d 0a 20 20 34 2e 20 20 45 6e  count...  4.  En
0d10: 73 75 72 65 20 74 68 61 74 20 65 76 65 72 79 20  sure that every 
0d20: 64 69 72 65 63 74 6f 72 79 20 69 6e 20 74 68 65  directory in the
0d30: 20 70 61 74 68 20 6c 65 61 64 69 6e 67 20 74 6f   path leading to
0d40: 20 74 68 65 20 72 65 70 6f 73 69 74 6f 72 79 20   the repository 
0d50: 69 73 20 20 62 72 6f 77 73 65 61 62 6c 65 20 28  is  browseable (
0d60: 63 68 6d 6f 64 20 2b 78 29 20 74 6f 20 74 68 65  chmod +x) to the
0d70: 20 43 47 49 20 75 73 65 72 20 61 63 63 6f 75 6e   CGI user accoun
0d80: 74 2e 0d 0a 20 20 35 2e 20 20 45 6e 73 75 72 65  t...  5.  Ensure
0d90: 20 74 68 61 74 20 74 68 65 20 72 65 70 6f 73 69   that the reposi
0da0: 74 6f 72 79 20 66 69 6c 65 20 69 73 20 72 65 61  tory file is rea
0db0: 64 61 62 6c 65 20 3c 65 6d 3e 61 6e 64 3c 2f 65  dable <em>and</e
0dc0: 6d 3e 20 77 72 69 74 61 62 6c 65 20 74 6f 20 74  m> writable to t
0dd0: 68 65 20 43 47 49 20 75 73 65 72 20 61 63 63 6f  he CGI user acco
0de0: 75 6e 74 2e 0d 0a 0d 0a 54 68 65 20 66 6f 6c 6c  unt.....The foll
0df0: 6f 77 69 6e 67 20 73 68 65 6c 6c 20 73 63 72 69  owing shell scri
0e00: 70 74 20 63 61 6e 20 62 65 20 72 75 6e 20 66 72  pt can be run fr
0e10: 6f 6d 20 77 69 74 68 69 6e 20 74 68 65 20 64 69  om within the di
0e20: 72 65 63 74 6f 72 79 20 63 6f 6e 74 61 69 6e 69  rectory containi
0e30: 6e 67 20 74 68 65 20 3c 63 69 74 65 3e 46 6f 73  ng the <cite>Fos
0e40: 73 69 6c 3c 2f 63 69 74 65 3e 20 72 65 70 6f 73  sil</cite> repos
0e50: 69 74 6f 72 69 65 73 20 74 6f 20 62 65 20 73 68  itories to be sh
0e60: 61 72 65 64 20 28 61 6e 64 2c 20 6f 66 20 63 6f  ared (and, of co
0e70: 75 72 73 65 2c 20 61 6c 74 65 72 65 64 20 66 6f  urse, altered fo
0e80: 72 20 79 6f 75 72 20 73 65 74 75 70 29 20 74 6f  r your setup) to
0e90: 20 73 65 74 20 73 6f 6d 65 20 6f 66 20 74 68 65   set some of the
0ea0: 20 63 6f 6e 73 74 72 61 69 6e 74 73 20 61 62 6f   constraints abo
0eb0: 76 65 20 75 70 20 61 75 74 6f 6d 61 74 69 63 61  ve up automatica
0ec0: 6c 6c 79 3a 0d 0a 0d 0a 3c 6e 6f 77 69 6b 69 3e  lly:....<nowiki>
0ed0: 3c 66 6f 6e 74 20 66 61 63 65 3d 22 6d 6f 6e 6f  <font face="mono
0ee0: 73 70 61 63 65 22 3e 0d 0a 3c 66 6f 6e 74 20 63  space">..<font c
0ef0: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 26  olor="#a52a2a">&
0f00: 6e 62 73 70 3b 31 20 3c 2f 66 6f 6e 74 3e 3c 66  nbsp;1 </font><f
0f10: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 30 30 30 30  ont color="#0000
0f20: 66 66 22 3e 23 21 20 2f 62 69 6e 2f 73 68 3c 2f  ff">#! /bin/sh</
0f30: 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74  font><br>..<font
0f40: 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22   color="#a52a2a"
0f50: 3e 26 6e 62 73 70 3b 32 20 3c 2f 66 6f 6e 74 3e  >&nbsp;2 </font>
0f60: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 30 30  <font color="#00
0f70: 38 62 38 62 22 3e 43 47 49 5f 52 4f 4f 54 3c 2f  8b8b">CGI_ROOT</
0f80: 66 6f 6e 74 3e 3d 2f 75 73 72 2f 6c 69 62 2f 66  font>=/usr/lib/f
0f90: 6f 73 73 69 6c 3c 62 72 3e 0d 0a 3c 66 6f 6e 74  ossil<br>..<font
0fa0: 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22   color="#a52a2a"
0fb0: 3e 26 6e 62 73 70 3b 33 20 3c 2f 66 6f 6e 74 3e  >&nbsp;3 </font>
0fc0: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 30 30  <font color="#00
0fd0: 38 62 38 62 22 3e 52 45 50 4f 53 49 54 4f 52 59  8b8b">REPOSITORY
0fe0: 5f 4f 57 4e 45 52 3c 2f 66 6f 6e 74 3e 3d 6d 69  _OWNER</font>=mi
0ff0: 63 68 61 65 6c 3c 62 72 3e 0d 0a 3c 66 6f 6e 74  chael<br>..<font
1000: 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22   color="#a52a2a"
1010: 3e 26 6e 62 73 70 3b 34 20 3c 2f 66 6f 6e 74 3e  >&nbsp;4 </font>
1020: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 30 30  <font color="#00
1030: 38 62 38 62 22 3e 43 47 49 5f 47 52 4f 55 50 3c  8b8b">CGI_GROUP<
1040: 2f 66 6f 6e 74 3e 3d 77 77 77 2d 64 61 74 61 3c  /font>=www-data<
1050: 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72  br>..<font color
1060: 3d 22 23 61 35 32 61 32 61 22 3e 26 6e 62 73 70  ="#a52a2a">&nbsp
1070: 3b 35 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  ;5 </font><font 
1080: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
1090: 3c 62 3e 69 66 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e  <b>if</b></font>
10a0: 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f  &nbsp;<font colo
10b0: 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 5b  r="#a52a2a"><b>[
10c0: 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70  </b></font>&nbsp
10d0: 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 36  ;<font color="#6
10e0: 61 35 61 63 64 22 3e 22 60 69 64 20 2d 75 6e 60  a5acd">"`id -un`
10f0: 22 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66  "</font>&nbsp;<f
1100: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61  ont color="#a52a
1110: 32 61 22 3e 3c 62 3e 3d 3c 2f 62 3e 3c 2f 66 6f  2a"><b>=</b></fo
1120: 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63  nt>&nbsp;<font c
1130: 6f 6c 6f 72 3d 22 23 66 66 30 30 66 66 22 3e 27  olor="#ff00ff">'
1140: 72 6f 6f 74 27 3c 2f 66 6f 6e 74 3e 26 6e 62 73  root'</font>&nbs
1150: 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  p;<font color="#
1160: 61 35 32 61 32 61 22 3e 3c 62 3e 5d 3c 2f 62 3e  a52a2a"><b>]</b>
1170: 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f  </font><br>..<fo
1180: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
1190: 61 22 3e 26 6e 62 73 70 3b 36 20 3c 2f 66 6f 6e  a">&nbsp;6 </fon
11a0: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
11b0: 61 35 32 61 32 61 22 3e 3c 62 3e 74 68 65 6e 3c  a52a2a"><b>then<
11c0: 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a  /b></font><br>..
11d0: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35  <font color="#a5
11e0: 32 61 32 61 22 3e 26 6e 62 73 70 3b 37 20 3c 2f  2a2a">&nbsp;7 </
11f0: 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70  font>&nbsp;&nbsp
1200: 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61  ;<font color="#a
1210: 35 32 61 32 61 22 3e 3c 62 3e 66 6f 72 3c 2f 62  52a2a"><b>for</b
1220: 3e 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 72 65  ></font>&nbsp;re
1230: 70 6f 73 69 74 6f 72 79 20 3c 66 6f 6e 74 20 63  pository <font c
1240: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c  olor="#a52a2a"><
1250: 62 3e 69 6e 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 26  b>in</b></font>&
1260: 6e 62 73 70 3b 2a 2e 66 73 6c 3c 62 72 3e 0d 0a  nbsp;*.fsl<br>..
1270: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35  <font color="#a5
1280: 32 61 32 61 22 3e 26 6e 62 73 70 3b 38 20 3c 2f  2a2a">&nbsp;8 </
1290: 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70  font>&nbsp;&nbsp
12a0: 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61  ;<font color="#a
12b0: 35 32 61 32 61 22 3e 3c 62 3e 64 6f 3c 2f 62 3e  52a2a"><b>do</b>
12c0: 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f  </font><br>..<fo
12d0: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
12e0: 61 22 3e 26 6e 62 73 70 3b 39 20 3c 2f 66 6f 6e  a">&nbsp;9 </fon
12f0: 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e  t>&nbsp;&nbsp;&n
1300: 62 73 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74 20  bsp;&nbsp;<font 
1310: 63 6f 6c 6f 72 3d 22 23 30 30 38 62 38 62 22 3e  color="#008b8b">
1320: 53 4f 55 52 43 45 3c 2f 66 6f 6e 74 3e 3d 3c 66  SOURCE</font>=<f
1330: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 36 61 35 61  ont color="#6a5a
1340: 63 64 22 3e 60 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  cd">`</font><fon
1350: 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61  t color="#a52a2a
1360: 22 3e 3c 62 3e 70 77 64 3c 2f 62 3e 3c 2f 66 6f  "><b>pwd</b></fo
1370: 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  nt><font color="
1380: 23 36 61 35 61 63 64 22 3e 60 3c 2f 66 6f 6e 74  #6a5acd">`</font
1390: 3e 2f 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  >/<font color="#
13a0: 61 30 32 30 66 30 22 3e 24 72 65 70 6f 73 69 74  a020f0">$reposit
13b0: 6f 72 79 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a  ory</font><br>..
13c0: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35  <font color="#a5
13d0: 32 61 32 61 22 3e 31 30 20 3c 2f 66 6f 6e 74 3e  2a2a">10 </font>
13e0: 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e 62 73  &nbsp;&nbsp;&nbs
13f0: 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f  p;&nbsp;<font co
1400: 6c 6f 72 3d 22 23 30 30 38 62 38 62 22 3e 44 45  lor="#008b8b">DE
1410: 53 54 49 4e 41 54 49 4f 4e 3c 2f 66 6f 6e 74 3e  STINATION</font>
1420: 3d 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61  =<font color="#a
1430: 30 32 30 66 30 22 3e 24 43 47 49 5f 52 4f 4f 54  020f0">$CGI_ROOT
1440: 3c 2f 66 6f 6e 74 3e 2f 3c 66 6f 6e 74 20 63 6f  </font>/<font co
1450: 6c 6f 72 3d 22 23 61 30 32 30 66 30 22 3e 24 7b  lor="#a020f0">${
1460: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
1470: 6f 72 3d 22 23 61 30 32 30 66 30 22 3e 72 65 70  or="#a020f0">rep
1480: 6f 73 69 74 6f 72 79 3c 2f 66 6f 6e 74 3e 3c 66  ository</font><f
1490: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61  ont color="#a52a
14a0: 32 61 22 3e 3c 62 3e 25 3c 2f 62 3e 3c 2f 66 6f  2a"><b>%</b></fo
14b0: 6e 74 3e 2e 66 73 6c 3c 66 6f 6e 74 20 63 6f 6c  nt>.fsl<font col
14c0: 6f 72 3d 22 23 61 30 32 30 66 30 22 3e 7d 3c 2f  or="#a020f0">}</
14d0: 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74  font><br>..<font
14e0: 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22   color="#a52a2a"
14f0: 3e 31 31 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70  >11 </font>&nbsp
1500: 3b 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e 62  ;&nbsp;&nbsp;&nb
1510: 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  sp;<font color="
1520: 23 61 35 32 61 32 61 22 3e 3c 62 3e 65 63 68 6f  #a52a2a"><b>echo
1530: 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74  </b></font><font
1540: 20 63 6f 6c 6f 72 3d 22 23 66 66 30 30 66 66 22   color="#ff00ff"
1550: 3e 26 6e 62 73 70 3b 3c 2f 66 6f 6e 74 3e 3c 66  >&nbsp;</font><f
1560: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61  ont color="#a52a
1570: 32 61 22 3e 3c 62 3e 26 71 75 6f 74 3b 3c 2f 62  2a"><b>&quot;</b
1580: 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f  ></font><font co
1590: 6c 6f 72 3d 22 23 66 66 30 30 66 66 22 3e 23 21  lor="#ff00ff">#!
15a0: 20 2f 75 73 72 2f 62 69 6e 2f 65 6e 76 20 66 6f   /usr/bin/env fo
15b0: 73 73 69 6c 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74  ssil</font><font
15c0: 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22   color="#a52a2a"
15d0: 3e 3c 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f  ><b>&quot;</b></
15e0: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
15f0: 3d 22 23 66 66 30 30 66 66 22 3e 26 6e 62 73 70  ="#ff00ff">&nbsp
1600: 3b 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f  ;</font><font co
1610: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62  lor="#a52a2a"><b
1620: 3e 26 67 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e  >&gt;</b></font>
1630: 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f  &nbsp;<font colo
1640: 72 3d 22 23 61 30 32 30 66 30 22 3e 24 44 45 53  r="#a020f0">$DES
1650: 54 49 4e 41 54 49 4f 4e 3c 2f 66 6f 6e 74 3e 3c  TINATION</font><
1660: 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72  br>..<font color
1670: 3d 22 23 61 35 32 61 32 61 22 3e 31 32 20 3c 2f  ="#a52a2a">12 </
1680: 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70  font>&nbsp;&nbsp
1690: 3b 26 6e 62 73 70 3b 26 6e 62 73 70 3b 3c 66 6f  ;&nbsp;&nbsp;<fo
16a0: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
16b0: 61 22 3e 3c 62 3e 65 63 68 6f 3c 2f 62 3e 3c 2f  a"><b>echo</b></
16c0: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
16d0: 3d 22 23 66 66 30 30 66 66 22 3e 26 6e 62 73 70  ="#ff00ff">&nbsp
16e0: 3b 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f  ;</font><font co
16f0: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62  lor="#a52a2a"><b
1700: 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e  >&quot;</b></fon
1710: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
1720: 66 66 30 30 66 66 22 3e 72 65 70 6f 73 69 74 6f  ff00ff">reposito
1730: 72 79 3a 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74  ry: </font><font
1740: 20 63 6f 6c 6f 72 3d 22 23 61 30 32 30 66 30 22   color="#a020f0"
1750: 3e 24 53 4f 55 52 43 45 3c 2f 66 6f 6e 74 3e 3c  >$SOURCE</font><
1760: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32  font color="#a52
1770: 61 32 61 22 3e 3c 62 3e 26 71 75 6f 74 3b 3c 2f  a2a"><b>&quot;</
1780: 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63  b></font><font c
1790: 6f 6c 6f 72 3d 22 23 66 66 30 30 66 66 22 3e 26  olor="#ff00ff">&
17a0: 6e 62 73 70 3b 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  nbsp;</font><fon
17b0: 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61  t color="#a52a2a
17c0: 22 3e 3c 62 3e 26 67 74 3b 26 67 74 3b 3c 2f 62  "><b>&gt;&gt;</b
17d0: 3e 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66  ></font>&nbsp;<f
17e0: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 30 32 30  ont color="#a020
17f0: 66 30 22 3e 24 44 45 53 54 49 4e 41 54 49 4f 4e  f0">$DESTINATION
1800: 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f  </font><br>..<fo
1810: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
1820: 61 22 3e 31 33 20 3c 2f 66 6f 6e 74 3e 26 6e 62  a">13 </font>&nb
1830: 73 70 3b 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26  sp;&nbsp;&nbsp;&
1840: 6e 62 73 70 3b 63 68 6f 77 6e 20 3c 66 6f 6e 74  nbsp;chown <font
1850: 20 63 6f 6c 6f 72 3d 22 23 61 30 32 30 66 30 22   color="#a020f0"
1860: 3e 24 52 45 50 4f 53 49 54 4f 52 59 5f 4f 57 4e  >$REPOSITORY_OWN
1870: 45 52 3c 2f 66 6f 6e 74 3e 3a 3c 66 6f 6e 74 20  ER</font>:<font 
1880: 63 6f 6c 6f 72 3d 22 23 61 30 32 30 66 30 22 3e  color="#a020f0">
1890: 24 43 47 49 5f 47 52 4f 55 50 3c 2f 66 6f 6e 74  $CGI_GROUP</font
18a0: 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c  >&nbsp;<font col
18b0: 6f 72 3d 22 23 61 30 32 30 66 30 22 3e 24 53 4f  or="#a020f0">$SO
18c0: 55 52 43 45 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d  URCE</font><br>.
18d0: 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61  .<font color="#a
18e0: 35 32 61 32 61 22 3e 31 34 20 3c 2f 66 6f 6e 74  52a2a">14 </font
18f0: 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e 62  >&nbsp;&nbsp;&nb
1900: 73 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63  sp;&nbsp;<font c
1910: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c  olor="#a52a2a"><
1920: 62 3e 63 68 6d 6f 64 3c 2f 62 3e 3c 2f 66 6f 6e  b>chmod</b></fon
1930: 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f  t>&nbsp;<font co
1940: 6c 6f 72 3d 22 23 66 66 30 30 66 66 22 3e 36 36  lor="#ff00ff">66
1950: 34 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66  4</font>&nbsp;<f
1960: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 30 32 30  ont color="#a020
1970: 66 30 22 3e 24 53 4f 55 52 43 45 3c 2f 66 6f 6e  f0">$SOURCE</fon
1980: 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f  t><br>..<font co
1990: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 31 35  lor="#a52a2a">15
19a0: 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e   </font>&nbsp;&n
19b0: 62 73 70 3b 26 6e 62 73 70 3b 26 6e 62 73 70 3b  bsp;&nbsp;&nbsp;
19c0: 63 68 6f 77 6e 20 72 6f 6f 74 3a 72 6f 6f 74 20  chown root:root 
19d0: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 30  <font color="#a0
19e0: 32 30 66 30 22 3e 24 44 45 53 54 49 4e 41 54 49  20f0">$DESTINATI
19f0: 4f 4e 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c  ON</font><br>..<
1a00: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32  font color="#a52
1a10: 61 32 61 22 3e 31 36 20 3c 2f 66 6f 6e 74 3e 26  a2a">16 </font>&
1a20: 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e 62 73 70  nbsp;&nbsp;&nbsp
1a30: 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c  ;&nbsp;<font col
1a40: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e  or="#a52a2a"><b>
1a50: 63 68 6d 6f 64 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e  chmod</b></font>
1a60: 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f  &nbsp;<font colo
1a70: 72 3d 22 23 66 66 30 30 66 66 22 3e 37 35 35 3c  r="#ff00ff">755<
1a80: 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e  /font>&nbsp;<fon
1a90: 74 20 63 6f 6c 6f 72 3d 22 23 61 30 32 30 66 30  t color="#a020f0
1aa0: 22 3e 24 44 45 53 54 49 4e 41 54 49 4f 4e 3c 2f  ">$DESTINATION</
1ab0: 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74  font><br>..<font
1ac0: 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22   color="#a52a2a"
1ad0: 3e 31 37 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70  >17 </font>&nbsp
1ae0: 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c  ;&nbsp;<font col
1af0: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e  or="#a52a2a"><b>
1b00: 64 6f 6e 65 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c  done</b></font><
1b10: 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72  br>..<font color
1b20: 3d 22 23 61 35 32 61 32 61 22 3e 31 38 20 3c 2f  ="#a52a2a">18 </
1b30: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
1b40: 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 65 6c  ="#a52a2a"><b>el
1b50: 73 65 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 62 72  se</b></font><br
1b60: 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  >..<font color="
1b70: 23 61 35 32 61 32 61 22 3e 31 39 20 3c 2f 66 6f  #a52a2a">19 </fo
1b80: 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b 73  nt>&nbsp;&nbsp;s
1b90: 75 64 6f 20 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  udo <font color=
1ba0: 22 23 61 30 32 30 66 30 22 3e 24 30 3c 2f 66 6f  "#a020f0">$0</fo
1bb0: 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63  nt>&nbsp;<font c
1bc0: 6f 6c 6f 72 3d 22 23 61 30 32 30 66 30 22 3e 24  olor="#a020f0">$
1bd0: 2a 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66  *</font><br>..<f
1be0: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61  ont color="#a52a
1bf0: 32 61 22 3e 32 30 20 3c 2f 66 6f 6e 74 3e 3c 66  2a">20 </font><f
1c00: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61  ont color="#a52a
1c10: 32 61 22 3e 3c 62 3e 66 69 3c 2f 62 3e 3c 2f 66  2a"><b>fi</b></f
1c20: 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 2f 66 6f 6e 74  ont><br>..</font
1c30: 3e 3c 2f 6e 6f 77 69 6b 69 3e 0d 0a 0d 0a 48 65  ></nowiki>....He
1c40: 72 65 20 69 73 20 61 20 6c 69 74 74 6c 65 20 70  re is a little p
1c50: 65 72 6c 20 73 63 72 69 70 74 20 74 6f 20 70 75  erl script to pu
1c60: 74 20 69 6e 20 79 6f 75 72 20 63 67 69 2d 62 69  t in your cgi-bi
1c70: 6e 20 74 6f 20 6c 69 73 74 20 61 6c 6c 20 74 68  n to list all th
1c80: 65 20 66 6f 73 73 69 6c 73 20 79 6f 75 20 61 72  e fossils you ar
1c90: 65 20 70 75 62 6c 69 73 68 69 6e 67 3a 0d 0a 0d  e publishing:...
1ca0: 0a 3c 6e 6f 77 69 6b 69 3e 0d 0a 3c 70 72 65 3e  .<nowiki>..<pre>
1cb0: 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  ..<font color="#
1cc0: 61 35 32 61 32 61 22 3e 26 6e 62 73 70 3b 31 20  a52a2a">&nbsp;1 
1cd0: 3c 2f 66 6f 6e 74 3e 20 23 21 2f 75 73 72 2f 62  </font> #!/usr/b
1ce0: 69 6e 2f 70 65 72 6c 20 2d 77 0d 0a 3c 66 6f 6e  in/perl -w..<fon
1cf0: 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61  t color="#a52a2a
1d00: 22 3e 26 6e 62 73 70 3b 32 20 3c 2f 66 6f 6e 74  ">&nbsp;2 </font
1d10: 3e 20 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  > <font color="#
1d20: 38 42 30 30 38 42 22 3e 3c 62 3e 6d 79 3c 2f 62  8B008B"><b>my</b
1d30: 3e 3c 2f 66 6f 6e 74 3e 20 3c 66 6f 6e 74 20 63  ></font> <font c
1d40: 6f 6c 6f 72 3d 22 23 30 30 36 38 38 42 22 3e 24  olor="#00688B">$
1d50: 43 47 49 5f 42 49 4e 3c 2f 66 6f 6e 74 3e 20 3d  CGI_BIN</font> =
1d60: 20 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 43   <font color="#C
1d70: 44 35 35 35 35 22 3e 26 23 33 39 3b 2f 4c 69 62  D5555">&#39;/Lib
1d80: 72 61 72 79 2f 57 65 62 53 65 72 76 65 72 2f 43  rary/WebServer/C
1d90: 47 49 2d 45 78 65 63 75 74 61 62 6c 65 73 26 23  GI-Executables&#
1da0: 33 39 3b 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  39;</font><font 
1db0: 63 6f 6c 6f 72 3d 22 23 30 30 30 30 30 30 22 3e  color="#000000">
1dc0: 3b 3c 2f 66 6f 6e 74 3e 0d 0a 3c 66 6f 6e 74 20  ;</font>..<font 
1dd0: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
1de0: 26 6e 62 73 70 3b 33 20 3c 2f 66 6f 6e 74 3e 20  &nbsp;3 </font> 
1df0: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 42  <font color="#8B
1e00: 30 30 38 42 22 3e 3c 62 3e 6d 79 3c 2f 62 3e 3c  008B"><b>my</b><
1e10: 2f 66 6f 6e 74 3e 20 3c 66 6f 6e 74 20 63 6f 6c  /font> <font col
1e20: 6f 72 3d 22 23 30 30 36 38 38 42 22 3e 40 66 69  or="#00688B">@fi
1e30: 6c 65 73 3c 2f 66 6f 6e 74 3e 20 3d 20 3c 66 6f  les</font> = <fo
1e40: 6e 74 20 63 6f 6c 6f 72 3d 22 23 43 44 35 35 35  nt color="#CD555
1e50: 35 22 3e 60 67 72 65 70 20 2d 6c 20 72 65 70 6f  5">`grep -l repo
1e60: 73 69 74 6f 72 79 3a 20 20 24 43 47 49 5f 42 49  sitory:  $CGI_BI
1e70: 4e 2f 2a 20 60 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  N/* `</font><fon
1e80: 74 20 63 6f 6c 6f 72 3d 22 23 30 30 30 30 30 30  t color="#000000
1e90: 22 3e 3b 3c 2f 66 6f 6e 74 3e 0d 0a 3c 66 6f 6e  ">;</font>..<fon
1ea0: 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61  t color="#a52a2a
1eb0: 22 3e 26 6e 62 73 70 3b 34 20 3c 2f 66 6f 6e 74  ">&nbsp;4 </font
1ec0: 3e 20 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  > <font color="#
1ed0: 38 42 30 30 38 42 22 3e 3c 62 3e 70 72 69 6e 74  8B008B"><b>print
1ee0: 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 20 3c 66 6f 6e  </b></font> <fon
1ef0: 74 20 63 6f 6c 6f 72 3d 22 23 43 44 35 35 35 35  t color="#CD5555
1f00: 22 3e 3c 62 3e 26 6c 74 3b 26 6c 74 3b 45 4f 4d  "><b>&lt;&lt;EOM
1f10: 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74  </b></font><font
1f20: 20 63 6f 6c 6f 72 3d 22 23 30 30 30 30 30 30 22   color="#000000"
1f30: 3e 3b 3c 2f 66 6f 6e 74 3e 0d 0a 3c 66 6f 6e 74  >;</font>..<font
1f40: 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22   color="#a52a2a"
1f50: 3e 26 6e 62 73 70 3b 35 20 3c 2f 66 6f 6e 74 3e  >&nbsp;5 </font>
1f60: 20 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 43   <font color="#C
1f70: 44 35 35 35 35 22 3e 3c 69 3e 43 6f 6e 74 65 6e  D5555"><i>Conten
1f80: 74 2d 54 79 70 65 3a 20 74 65 78 74 2f 68 74 6d  t-Type: text/htm
1f90: 6c 3c 2f 69 3e 3c 2f 66 6f 6e 74 3e 0d 0a 3c 66  l</i></font>..<f
1fa0: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61  ont color="#a52a
1fb0: 32 61 22 3e 26 6e 62 73 70 3b 36 20 3c 2f 66 6f  2a">&nbsp;6 </fo
1fc0: 6e 74 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72  nt>..<font color
1fd0: 3d 22 23 61 35 32 61 32 61 22 3e 26 6e 62 73 70  ="#a52a2a">&nbsp
1fe0: 3b 37 20 3c 2f 66 6f 6e 74 3e 20 3c 66 6f 6e 74  ;7 </font> <font
1ff0: 20 63 6f 6c 6f 72 3d 22 23 43 44 35 35 35 35 22   color="#CD5555"
2000: 3e 3c 69 3e 46 6f 73 73 69 6c 73 20 66 6f 72 20  ><i>Fossils for 
2010: 74 68 69 73 20 73 65 72 76 65 72 3c 2f 69 3e 3c  this server</i><
2020: 2f 66 6f 6e 74 3e 0d 0a 3c 66 6f 6e 74 20 63 6f  /font>..<font co
2030: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 26 6e  lor="#a52a2a">&n
2040: 62 73 70 3b 38 20 3c 2f 66 6f 6e 74 3e 20 3c 66  bsp;8 </font> <f
2050: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 43 44 35 35  ont color="#CD55
2060: 35 35 22 3e 3c 69 3e 26 6c 74 3b 75 6c 26 67 74  55"><i>&lt;ul&gt
2070: 3b 3c 2f 69 3e 3c 2f 66 6f 6e 74 3e 0d 0a 3c 66  ;</i></font>..<f
2080: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61  ont color="#a52a
2090: 32 61 22 3e 26 6e 62 73 70 3b 39 20 3c 2f 66 6f  2a">&nbsp;9 </fo
20a0: 6e 74 3e 20 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  nt> <font color=
20b0: 22 23 43 44 35 35 35 35 22 3e 3c 62 3e 45 4f 4d  "#CD5555"><b>EOM
20c0: 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 0d 0a 3c 66 6f  </b></font>..<fo
20d0: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
20e0: 61 22 3e 26 6e 62 73 70 3b 31 30 20 3c 2f 66 6f  a">&nbsp;10 </fo
20f0: 6e 74 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72  nt>..<font color
2100: 3d 22 23 61 35 32 61 32 61 22 3e 26 6e 62 73 70  ="#a52a2a">&nbsp
2110: 3b 31 31 20 3c 2f 66 6f 6e 74 3e 20 3c 66 6f 6e  ;11 </font> <fon
2120: 74 20 63 6f 6c 6f 72 3d 22 23 38 42 30 30 38 42  t color="#8B008B
2130: 22 3e 3c 62 3e 66 6f 72 3c 2f 62 3e 3c 2f 66 6f  "><b>for</b></fo
2140: 6e 74 3e 20 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  nt> <font color=
2150: 22 23 30 30 30 30 30 30 22 3e 28 3c 2f 66 6f 6e  "#000000">(</fon
2160: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
2170: 30 30 36 38 38 42 22 3e 40 66 69 6c 65 73 3c 2f  00688B">@files</
2180: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
2190: 3d 22 23 30 30 30 30 30 30 22 3e 29 3c 2f 66 6f  ="#000000">)</fo
21a0: 6e 74 3e 20 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  nt> <font color=
21b0: 22 23 30 30 30 30 30 30 22 3e 7b 3c 2f 66 6f 6e  "#000000">{</fon
21c0: 74 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  t>..<font color=
21d0: 22 23 61 35 32 61 32 61 22 3e 26 6e 62 73 70 3b  "#a52a2a">&nbsp;
21e0: 31 32 20 3c 2f 66 6f 6e 74 3e 20 20 20 3c 66 6f  12 </font>   <fo
21f0: 6e 74 20 63 6f 6c 6f 72 3d 22 23 43 44 35 35 35  nt color="#CD555
2200: 35 22 3e 73 7b 2e 2a 2f 7d 7b 7d 3c 2f 66 6f 6e  5">s{.*/}{}</fon
2210: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
2220: 30 30 30 30 30 30 22 3e 3b 3c 2f 66 6f 6e 74 3e  000000">;</font>
2230: 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  ..<font color="#
2240: 61 35 32 61 32 61 22 3e 26 6e 62 73 70 3b 31 33  a52a2a">&nbsp;13
2250: 20 3c 2f 66 6f 6e 74 3e 20 20 20 3c 66 6f 6e 74   </font>   <font
2260: 20 63 6f 6c 6f 72 3d 22 23 38 42 30 30 38 42 22   color="#8B008B"
2270: 3e 3c 62 3e 6e 65 78 74 3c 2f 62 3e 3c 2f 66 6f  ><b>next</b></fo
2280: 6e 74 3e 20 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  nt> <font color=
2290: 22 23 38 42 30 30 38 42 22 3e 3c 62 3e 69 66 3c  "#8B008B"><b>if<
22a0: 2f 62 3e 3c 2f 66 6f 6e 74 3e 20 3c 66 6f 6e 74  /b></font> <font
22b0: 20 63 6f 6c 6f 72 3d 22 23 43 44 35 35 35 35 22   color="#CD5555"
22c0: 3e 2f 7e 24 2f 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  >/~$/</font><fon
22d0: 74 20 63 6f 6c 6f 72 3d 22 23 30 30 30 30 30 30  t color="#000000
22e0: 22 3e 3b 3c 2f 66 6f 6e 74 3e 0d 0a 3c 66 6f 6e  ">;</font>..<fon
22f0: 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61  t color="#a52a2a
2300: 22 3e 26 6e 62 73 70 3b 31 34 20 3c 2f 66 6f 6e  ">&nbsp;14 </fon
2310: 74 3e 20 20 20 3c 66 6f 6e 74 20 63 6f 6c 6f 72  t>   <font color
2320: 3d 22 23 38 42 30 30 38 42 22 3e 3c 62 3e 70 72  ="#8B008B"><b>pr
2330: 69 6e 74 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 20 3c  int</b></font> <
2340: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 43 44 35  font color="#CD5
2350: 35 35 35 22 3e 26 71 75 6f 74 3b 26 6c 74 3b 6c  555">&quot;&lt;l
2360: 69 26 67 74 3b 26 6c 74 3b 61 20 68 72 65 66 3d  i&gt;&lt;a href=
2370: 26 23 33 39 3b 24 5f 26 23 33 39 3b 26 67 74 3b  &#39;$_&#39;&gt;
2380: 24 5f 26 6c 74 3b 2f 61 26 67 74 3b 26 6c 74 3b  $_&lt;/a&gt;&lt;
2390: 2f 6c 69 26 67 74 3b 5c 6e 26 71 75 6f 74 3b 3c  /li&gt;\n&quot;<
23a0: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
23b0: 72 3d 22 23 30 30 30 30 30 30 22 3e 3b 3c 2f 66  r="#000000">;</f
23c0: 6f 6e 74 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f  ont>..<font colo
23d0: 72 3d 22 23 61 35 32 61 32 61 22 3e 26 6e 62 73  r="#a52a2a">&nbs
23e0: 70 3b 31 35 20 3c 2f 66 6f 6e 74 3e 20 3c 66 6f  p;15 </font> <fo
23f0: 6e 74 20 63 6f 6c 6f 72 3d 22 23 30 30 30 30 30  nt color="#00000
2400: 30 22 3e 7d 3c 2f 66 6f 6e 74 3e 0d 0a 3c 66 6f  0">}</font>..<fo
2410: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
2420: 61 22 3e 26 6e 62 73 70 3b 31 36 20 3c 2f 66 6f  a">&nbsp;16 </fo
2430: 6e 74 3e 20 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  nt> <font color=
2440: 22 23 38 42 30 30 38 42 22 3e 3c 62 3e 70 72 69  "#8B008B"><b>pri
2450: 6e 74 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 20 3c 66  nt</b></font> <f
2460: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 43 44 35 35  ont color="#CD55
2470: 35 35 22 3e 26 71 75 6f 74 3b 26 6c 74 3b 2f 75  55">&quot;&lt;/u
2480: 6c 26 67 74 3b 5c 6e 26 71 75 6f 74 3b 3c 2f 66  l&gt;\n&quot;</f
2490: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
24a0: 22 23 30 30 30 30 30 30 22 3e 3b 3c 2f 66 6f 6e  "#000000">;</fon
24b0: 74 3e 0d 0a 3c 2f 70 72 65 3e 0d 0a 3c 2f 6e 6f  t>..</pre>..</no
24c0: 77 69 6b 69 3e 0d 0a 0d 0a 54 68 65 20 66 6f 6c  wiki>....The fol
24d0: 6c 6f 77 69 6e 67 20 3c 63 69 74 65 3e 61 70 61  lowing <cite>apa
24e0: 63 68 65 32 3c 2f 63 69 74 65 3e 20 63 6f 6e 66  che2</cite> conf
24f0: 69 67 75 72 61 74 69 6f 6e 20 63 61 6e 20 62 65  iguration can be
2500: 20 75 73 65 64 20 74 6f 20 72 75 6e 20 74 68 65   used to run the
2510: 20 72 6f 6f 74 20 6f 66 20 61 20 77 65 62 20 73   root of a web s
2520: 69 74 65 20 77 69 74 68 20 66 6f 73 73 69 6c 2c  ite with fossil,
2530: 20 62 75 74 20 73 74 69 6c 6c 20 61 6c 6c 6f 77   but still allow
2540: 20 6f 74 68 65 72 20 73 65 72 76 69 63 65 73 20   other services 
2550: 2f 20 64 6f 63 75 6d 65 6e 74 73 20 74 6f 20 62  / documents to b
2560: 65 20 72 65 61 63 68 65 64 20 76 69 61 20 73 70  e reached via sp
2570: 65 63 69 66 69 63 20 55 52 4c 73 2e 20 52 65 70  ecific URLs. Rep
2580: 6c 61 63 65 20 22 63 6f 64 65 2e 61 75 74 6f 6e  lace "code.auton
2590: 6f 6d 6f 2e 75 73 22 20 77 69 74 68 20 79 6f 75  omo.us" with you
25a0: 72 20 73 69 74 65 27 73 20 6e 61 6d 65 20 61 6e  r site's name an
25b0: 64 20 22 64 63 6c 61 72 6b 40 70 6f 62 6f 78 2e  d "dclark@pobox.
25c0: 63 6f 6d 22 20 77 69 74 68 20 79 6f 75 72 20 65  com" with your e
25d0: 6d 61 69 6c 2e 0d 0a 0d 0a 3c 76 65 72 62 61 74  mail.....<verbat
25e0: 69 6d 3e 0d 0a 4e 61 6d 65 56 69 72 74 75 61 6c  im>..NameVirtual
25f0: 48 6f 73 74 20 2a 3a 38 30 0d 0a 3c 56 69 72 74  Host *:80..<Virt
2600: 75 61 6c 48 6f 73 74 20 2a 3a 38 30 3e 0d 0a 20  ualHost *:80>.. 
2610: 20 20 20 53 65 72 76 65 72 4e 61 6d 65 20 63 6f     ServerName co
2620: 64 65 2e 61 75 74 6f 6e 6f 6d 6f 2e 75 73 0d 0a  de.autonomo.us..
2630: 20 20 20 20 53 65 72 76 65 72 41 64 6d 69 6e 20      ServerAdmin 
2640: 64 63 6c 61 72 6b 40 70 6f 62 6f 78 2e 63 6f 6d  dclark@pobox.com
2650: 0d 0a 20 20 20 20 45 72 72 6f 72 4c 6f 67 20 2f  ..    ErrorLog /
2660: 76 61 72 2f 6c 6f 67 2f 61 70 61 63 68 65 32 2f  var/log/apache2/
2670: 63 6f 64 65 2e 61 75 74 6f 6e 6f 6d 6f 2e 75 73  code.autonomo.us
2680: 2d 65 72 72 6f 72 2e 6c 6f 67 0d 0a 20 20 20 20  -error.log..    
2690: 4c 6f 67 4c 65 76 65 6c 20 77 61 72 6e 0d 0a 20  LogLevel warn.. 
26a0: 20 20 20 43 75 73 74 6f 6d 4c 6f 67 20 2f 76 61     CustomLog /va
26b0: 72 2f 6c 6f 67 2f 61 70 61 63 68 65 32 2f 63 6f  r/log/apache2/co
26c0: 64 65 2e 61 75 74 6f 6e 6f 6d 6f 2e 75 73 2d 61  de.autonomo.us-a
26d0: 63 63 65 73 73 2e 6c 6f 67 20 63 6f 6d 62 69 6e  ccess.log combin
26e0: 65 64 0d 0a 20 20 20 20 53 65 72 76 65 72 53 69  ed..    ServerSi
26f0: 67 6e 61 74 75 72 65 20 4f 6e 0d 0a 0d 0a 20 20  gnature On....  
2700: 20 20 44 6f 63 75 6d 65 6e 74 52 6f 6f 74 20 2f    DocumentRoot /
2710: 76 61 72 2f 77 77 77 2f 0d 0a 0d 0a 20 20 20 20  var/www/....    
2720: 53 63 72 69 70 74 41 6c 69 61 73 20 2f 63 67 69  ScriptAlias /cgi
2730: 2d 62 69 6e 2f 20 2f 75 73 72 2f 6c 69 62 2f 63  -bin/ /usr/lib/c
2740: 67 69 2d 62 69 6e 2f 0d 0a 20 20 20 20 3c 44 69  gi-bin/..    <Di
2750: 72 65 63 74 6f 72 79 20 22 2f 75 73 72 2f 6c 69  rectory "/usr/li
2760: 62 2f 63 67 69 2d 62 69 6e 22 3e 0d 0a 20 20 20  b/cgi-bin">..   
2770: 20 20 20 20 20 41 6c 6c 6f 77 4f 76 65 72 72 69       AllowOverri
2780: 64 65 20 4e 6f 6e 65 0d 0a 20 20 20 20 20 20 20  de None..       
2790: 20 4f 70 74 69 6f 6e 73 20 2b 45 78 65 63 43 47   Options +ExecCG
27a0: 49 20 2d 4d 75 6c 74 69 56 69 65 77 73 20 2b 53  I -MultiViews +S
27b0: 79 6d 4c 69 6e 6b 73 49 66 4f 77 6e 65 72 4d 61  ymLinksIfOwnerMa
27c0: 74 63 68 0d 0a 20 20 20 20 20 20 20 20 4f 72 64  tch..        Ord
27d0: 65 72 20 61 6c 6c 6f 77 2c 64 65 6e 79 0d 0a 20  er allow,deny.. 
27e0: 20 20 20 20 20 20 20 41 6c 6c 6f 77 20 66 72 6f         Allow fro
27f0: 6d 20 61 6c 6c 0d 0a 20 20 20 20 3c 2f 44 69 72  m all..    </Dir
2800: 65 63 74 6f 72 79 3e 0d 0a 0d 0a 20 20 20 20 23  ectory>....    #
2810: 20 46 6f 73 73 69 6c 20 53 43 4d 20 61 74 20 72   Fossil SCM at r
2820: 6f 6f 74 20 6f 66 20 77 65 62 20 73 69 74 65 20  oot of web site 
2830: 28 68 74 74 70 3a 2f 2f 65 78 61 6d 70 6c 65 2e  (http://example.
2840: 63 6f 6d 29 20 63 6f 6e 66 69 67 75 72 61 74 69  com) configurati
2850: 6f 6e 2e 2e 2e 0d 0a 20 20 20 20 52 65 77 72 69  on.....    Rewri
2860: 74 65 45 6e 67 69 6e 65 20 4f 6e 0d 0a 20 20 20  teEngine On..   
2870: 20 23 20 52 65 77 72 69 74 65 43 6f 6e 64 20 2d   # RewriteCond -
2880: 20 4f 6e 65 20 66 6f 72 20 65 76 65 72 79 20 55   One for every U
2890: 52 4c 20 77 65 20 64 6f 6e 27 74 20 77 61 6e 74  RL we don't want
28a0: 20 46 6f 73 73 69 6c 20 53 43 4d 20 74 6f 20 73   Fossil SCM to s
28b0: 65 72 76 65 2e 20 49 6e 20 74 68 65 0d 0a 20 20  erve. In the..  
28c0: 20 20 23 20 20 20 20 20 20 20 20 20 20 20 20 20    #             
28d0: 20 20 65 78 61 6d 70 6c 65 2c 20 72 65 71 75 65    example, reque
28e0: 73 74 73 20 74 68 61 74 20 67 6f 20 74 6f 20 74  sts that go to t
28f0: 68 65 20 2f 76 61 72 2f 77 77 77 2f 74 6d 70 20  he /var/www/tmp 
2900: 64 69 72 65 63 74 6f 72 79 20 61 6e 64 20 0d 0a  directory and ..
2910: 20 20 20 20 23 20 20 20 20 20 20 20 20 20 20 20      #           
2920: 20 20 20 20 74 68 65 20 2f 75 73 72 2f 6c 69 62      the /usr/lib
2930: 2f 63 67 69 2d 62 69 6e 20 64 69 72 65 63 74 6f  /cgi-bin directo
2940: 74 79 20 61 72 65 20 69 67 6e 6f 72 65 64 20 62  ty are ignored b
2950: 79 20 46 6f 73 73 69 6c 20 53 43 4d 2e 0d 0a 20  y Fossil SCM... 
2960: 20 20 20 52 65 77 72 69 74 65 43 6f 6e 64 20 25     RewriteCond %
2970: 7b 52 45 51 55 45 53 54 5f 55 52 49 7d 20 21 5e  {REQUEST_URI} !^
2980: 2f 74 6d 70 2f 2e 2a 24 0d 0a 20 20 20 20 52 65  /tmp/.*$..    Re
2990: 77 72 69 74 65 43 6f 6e 64 20 25 7b 52 45 51 55  writeCond %{REQU
29a0: 45 53 54 5f 55 52 49 7d 20 21 5e 2f 63 67 69 2d  EST_URI} !^/cgi-
29b0: 62 69 6e 2f 2e 2a 24 0d 0a 20 20 20 20 52 65 77  bin/.*$..    Rew
29c0: 72 69 74 65 52 75 6c 65 20 5e 28 2e 2a 29 24 20  riteRule ^(.*)$ 
29d0: 2f 75 73 72 2f 6c 69 62 2f 63 67 69 2d 62 69 6e  /usr/lib/cgi-bin
29e0: 2f 63 6f 64 65 2e 61 75 74 6f 6e 6f 6d 6f 2e 75  /code.autonomo.u
29f0: 73 2f 24 31 20 5b 54 3d 61 70 70 6c 69 63 61 74  s/$1 [T=applicat
2a00: 69 6f 6e 2f 78 2d 68 74 74 70 64 2d 63 67 69 5d  ion/x-httpd-cgi]
2a10: 0d 0a 3c 2f 56 69 72 74 75 61 6c 48 6f 73 74 3e  ..</VirtualHost>
2a20: 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 0d  ..</verbatim>...
2a30: 0a 2f 75 73 72 2f 6c 69 62 2f 63 67 69 2d 62 69  ./usr/lib/cgi-bi
2a40: 6e 2f 63 6f 64 65 2e 61 75 74 6f 6e 6f 6d 6f 2e  n/code.autonomo.
2a50: 75 73 20 69 73 20 6a 75 73 74 20 61 20 73 74 61  us is just a sta
2a60: 6e 64 61 72 64 20 66 6f 73 73 69 6c 20 43 47 49  ndard fossil CGI
2a70: 20 66 69 6c 65 3b 20 69 74 20 6c 6f 6f 6b 73 20   file; it looks 
2a80: 6c 69 6b 65 20 74 68 69 73 3a 0d 0a 0d 0a 3c 76  like this:....<v
2a90: 65 72 62 61 74 69 6d 3e 0d 0a 23 21 2f 75 73 72  erbatim>..#!/usr
2aa0: 2f 62 69 6e 2f 66 6f 73 73 69 6c 0d 0a 72 65 70  /bin/fossil..rep
2ab0: 6f 73 69 74 6f 72 79 3a 20 2f 73 72 76 2f 66 6f  ository: /srv/fo
2ac0: 73 73 69 6c 2d 73 63 6d 2f 63 6f 64 65 2e 61 75  ssil-scm/code.au
2ad0: 74 6f 6e 6f 6d 6f 2e 75 73 2e 66 6f 73 73 69 6c  tonomo.us.fossil
2ae0: 2d 73 63 6d 0d 0a 3c 2f 76 65 72 62 61 74 69 6d  -scm..</verbatim
2af0: 3e 0d 0a 0d 0a 3c 68 33 3e 41 6e 6f 74 68 65 72  >....<h3>Another
2b00: 20 73 6f 6c 75 74 69 6f 6e 20 74 6f 20 3c 69 3e   solution to <i>
2b10: 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 3c 2f 69  automatically</i
2b20: 3e 20 73 65 72 76 65 20 6d 75 6c 74 69 70 6c 65  > serve multiple
2b30: 20 72 65 70 6f 73 69 74 6f 72 69 65 73 3c 2f 68   repositories</h
2b40: 33 3e 0d 0a 0d 0a 57 69 74 68 20 74 68 65 20 66  3>....With the f
2b50: 6f 6c 6c 6f 77 69 6e 67 20 43 47 49 20 73 63 72  ollowing CGI scr
2b60: 69 70 74 20 28 49 20 68 61 76 65 20 6e 61 6d 65  ipt (I have name
2b70: 64 20 69 74 20 3c 73 61 6d 70 3e 70 3c 2f 73 61  d it <samp>p</sa
2b80: 6d 70 3e 20 73 69 6d 70 6c 79 29 20 69 74 20 69  mp> simply) it i
2b90: 73 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 64 65  s possible to de
2ba0: 66 69 6e 65 20 61 20 6c 6f 63 61 74 69 6f 6e 20  fine a location 
2bb0: 77 68 65 72 65 20 61 6c 6c 20 74 68 65 20 79 6f  where all the yo
2bc0: 75 72 20 72 65 70 6f 73 69 74 6f 72 69 65 73 20  ur repositories 
2bd0: 73 68 6f 75 6c 64 20 62 65 20 6c 6f 63 61 74 65  should be locate
2be0: 64 20 28 69 6e 20 74 68 69 73 20 65 78 61 6d 70  d (in this examp
2bf0: 6c 65 3a 20 3c 73 61 6d 70 3e 2f 68 6f 6d 65 2f  le: <samp>/home/
2c00: 72 65 70 6f 73 2f 66 6f 73 73 69 6c 3c 2f 73 61  repos/fossil</sa
2c10: 6d 70 3e 29 2e 20 41 6c 6c 20 74 68 65 20 72 65  mp>). All the re
2c20: 70 6f 73 69 74 6f 72 69 65 73 20 61 72 65 20 6e  positories are n
2c30: 61 6d 65 64 20 61 63 63 6f 72 64 69 6e 67 20 74  amed according t
2c40: 68 65 20 73 63 68 65 6d 65 20 3c 73 61 6d 70 3e  he scheme <samp>
2c50: 3c 70 72 6f 6a 65 63 74 20 6e 61 6d 65 3e 2e 66  <project name>.f
2c60: 73 6c 3c 2f 73 61 6d 70 3e 20 66 6f 72 20 73 61  sl</samp> for sa
2c70: 6b 65 20 6f 66 20 74 68 69 73 20 65 78 61 6d 70  ke of this examp
2c80: 6c 65 2e 0d 0a 0d 0a 49 66 20 74 68 69 73 20 73  le.....If this s
2c90: 63 72 69 70 74 20 69 73 20 63 61 6c 6c 65 64 20  cript is called 
2ca0: 61 6c 6f 6e 65 20 28 6c 69 6b 65 20 65 2e 67 2e  alone (like e.g.
2cb0: 3a 20 3c 73 61 6d 70 3e 68 74 74 70 3a 2f 2f 79  : <samp>http://y
2cc0: 6f 75 72 2e 73 65 72 76 65 72 2e 68 65 72 65 2f  our.server.here/
2cd0: 63 67 69 2d 62 69 6e 2f 70 3c 2f 73 61 6d 70 3e  cgi-bin/p</samp>
2ce0: 29 2c 20 69 74 20 77 69 6c 6c 20 6c 69 73 74 20  ), it will list 
2cf0: 61 6c 6c 20 72 65 70 6f 73 69 74 6f 72 69 65 73  all repositories
2d00: 20 6c 6f 63 61 74 65 64 20 75 6e 64 65 72 20 3c   located under <
2d10: 73 61 6d 70 3e 24 52 45 50 4f 53 52 4f 4f 54 3c  samp>$REPOSROOT<
2d20: 2f 73 61 6d 70 3e 2c 20 3c 62 3e 69 66 3c 2f 62  /samp>, <b>if</b
2d30: 3e 20 74 68 65 72 65 20 3c 62 3e 64 6f 65 73 20  > there <b>does 
2d40: 6e 6f 74 3c 2f 62 3e 20 65 78 69 73 74 20 61 20  not</b> exist a 
2d50: 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 66 69  corresponding fi
2d60: 6c 65 20 3c 73 61 6d 70 3e 2e 3c 70 72 6f 6a 65  le <samp>.<proje
2d70: 63 74 20 6e 61 6d 65 3e 3c 2f 73 61 6d 70 3e 20  ct name></samp> 
2d80: 28 74 68 61 74 20 6d 65 63 68 61 6e 69 73 6d 20  (that mechanism 
2d90: 69 73 20 75 73 65 64 20 74 6f 20 3c 69 3e 68 69  is used to <i>hi
2da0: 64 65 3c 2f 69 3e 20 73 6f 6d 65 20 72 65 70 6f  de</i> some repo
2db0: 73 69 74 6f 72 79 20 69 6e 20 74 68 65 20 6c 69  sitory in the li
2dc0: 73 74 69 6e 67 29 2e 0d 0a 0d 0a 49 66 20 74 68  sting).....If th
2dd0: 65 20 73 63 72 69 70 74 20 69 73 20 63 61 6c 6c  e script is call
2de0: 65 64 20 6c 69 6b 65 20 65 2e 67 2e 20 3c 73 61  ed like e.g. <sa
2df0: 6d 70 3e 68 74 74 70 3a 2f 2f 79 6f 75 72 2e 73  mp>http://your.s
2e00: 65 72 76 65 72 2e 68 65 72 65 2f 63 67 69 2d 62  erver.here/cgi-b
2e10: 69 6e 2f 70 2f 3c 70 72 6f 6a 65 63 74 20 6e 61  in/p/<project na
2e20: 6d 65 3e 3c 2f 73 61 6d 70 3e 2c 20 74 68 65 6e  me></samp>, then
2e30: 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69   the correspondi
2e40: 6e 67 20 72 65 70 6f 73 69 74 6f 72 79 20 77 69  ng repository wi
2e50: 6c 6c 20 62 65 20 73 65 6c 65 63 74 65 64 20 74  ll be selected t
2e60: 6f 20 77 6f 72 6b 20 77 69 74 68 2e 0d 0a 0d 0a  o work with.....
2e70: 54 68 65 20 6c 69 6e 65 73 20 35 20 2d 20 38 20  The lines 5 - 8 
2e80: 69 6e 20 74 68 65 20 73 63 72 69 70 74 20 62 65  in the script be
2e90: 6c 6f 77 20 61 6c 6c 6f 77 20 63 6f 6e 66 69 67  low allow config
2ea0: 75 72 61 74 69 6f 6e 20 66 6f 72 20 79 6f 75 72  uration for your
2eb0: 20 6e 65 65 64 73 2e 20 59 6f 75 20 6d 75 73 74   needs. You must
2ec0: 20 63 6f 6e 66 69 67 75 72 65 20 69 74 20 66 6f   configure it fo
2ed0: 72 3a 20 20 74 68 65 20 66 6f 73 73 69 6c 20 62  r:  the fossil b
2ee0: 69 6e 61 72 79 20 74 6f 20 75 73 65 2c 20 74 68  inary to use, th
2ef0: 65 20 6c 6f 63 61 74 69 6f 6e 20 6f 66 20 79 6f  e location of yo
2f00: 75 72 20 64 61 74 61 62 61 73 65 73 2c 20 61 6e  ur databases, an
2f10: 64 20 74 68 65 20 65 78 74 65 6e 73 69 6f 6e 20  d the extension 
2f20: 79 6f 75 72 20 72 65 70 6f 73 69 74 6f 72 79 20  your repository 
2f30: 64 61 74 61 62 61 73 65 73 20 68 61 76 65 2e 0d  databases have..
2f40: 0a 0d 0a 3c 6e 6f 77 69 6b 69 3e 0d 0a 3c 66 6f  ...<nowiki>..<fo
2f50: 6e 74 20 66 61 63 65 3d 22 6d 6f 6e 6f 73 70 61  nt face="monospa
2f60: 63 65 22 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f  ce">..<font colo
2f70: 72 3d 22 23 61 35 32 61 32 61 22 3e 26 6e 62 73  r="#a52a2a">&nbs
2f80: 70 3b 31 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74  p;1 </font><font
2f90: 20 63 6f 6c 6f 72 3d 22 23 30 30 30 30 66 66 22   color="#0000ff"
2fa0: 3e 23 21 2f 62 69 6e 2f 73 68 3c 2f 66 6f 6e 74  >#!/bin/sh</font
2fb0: 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c  ><br>..<font col
2fc0: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 26 6e 62  or="#a52a2a">&nb
2fd0: 73 70 3b 32 20 3c 2f 66 6f 6e 74 3e 3c 62 72 3e  sp;2 </font><br>
2fe0: 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  ..<font color="#
2ff0: 61 35 32 61 32 61 22 3e 26 6e 62 73 70 3b 33 20  a52a2a">&nbsp;3 
3000: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
3010: 6f 72 3d 22 23 30 30 30 30 66 66 22 3e 23 23 23  or="#0000ff">###
3020: 20 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 73   Configuration s
3030: 65 63 74 69 6f 6e 20 23 23 23 3c 2f 66 6f 6e 74  ection ###</font
3040: 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c  ><br>..<font col
3050: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 26 6e 62  or="#a52a2a">&nb
3060: 73 70 3b 34 20 3c 2f 66 6f 6e 74 3e 3c 62 72 3e  sp;4 </font><br>
3070: 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  ..<font color="#
3080: 61 35 32 61 32 61 22 3e 26 6e 62 73 70 3b 35 20  a52a2a">&nbsp;5 
3090: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
30a0: 6f 72 3d 22 23 30 30 38 62 38 62 22 3e 54 49 54  or="#008b8b">TIT
30b0: 4c 45 3c 2f 66 6f 6e 74 3e 3d 3c 66 6f 6e 74 20  LE</font>=<font 
30c0: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
30d0: 3c 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66  <b>&quot;</b></f
30e0: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
30f0: 22 23 66 66 30 30 66 66 22 3e 26 6c 74 3b 68 32  "#ff00ff">&lt;h2
3100: 26 67 74 3b 46 6f 73 73 69 6c 20 72 65 70 6f 73  &gt;Fossil repos
3110: 69 74 6f 72 69 65 73 26 6c 74 3b 2f 68 32 26 67  itories&lt;/h2&g
3120: 74 3b 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63  t;</font><font c
3130: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c  olor="#a52a2a"><
3140: 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f  b>&quot;</b></fo
3150: 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63  nt><br>..<font c
3160: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 26  olor="#a52a2a">&
3170: 6e 62 73 70 3b 36 20 3c 2f 66 6f 6e 74 3e 3c 66  nbsp;6 </font><f
3180: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 30 30 38 62  ont color="#008b
3190: 38 62 22 3e 46 4f 53 53 49 4c 3c 2f 66 6f 6e 74  8b">FOSSIL</font
31a0: 3e 3d 2f 75 73 72 2f 6c 6f 63 61 6c 2f 62 69 6e  >=/usr/local/bin
31b0: 2f 66 6f 73 73 69 6c 3c 62 72 3e 0d 0a 3c 66 6f  /fossil<br>..<fo
31c0: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
31d0: 61 22 3e 26 6e 62 73 70 3b 37 20 3c 2f 66 6f 6e  a">&nbsp;7 </fon
31e0: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
31f0: 30 30 38 62 38 62 22 3e 52 45 50 4f 53 52 4f 4f  008b8b">REPOSROO
3200: 54 3c 2f 66 6f 6e 74 3e 3d 2f 68 6f 6d 65 2f 72  T</font>=/home/r
3210: 65 70 6f 73 2f 66 6f 73 73 69 6c 3c 62 72 3e 0d  epos/fossil<br>.
3220: 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61  .<font color="#a
3230: 35 32 61 32 61 22 3e 26 6e 62 73 70 3b 38 20 3c  52a2a">&nbsp;8 <
3240: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
3250: 72 3d 22 23 30 30 38 62 38 62 22 3e 52 45 50 4f  r="#008b8b">REPO
3260: 53 45 58 54 3c 2f 66 6f 6e 74 3e 3d 3c 66 6f 6e  SEXT</font>=<fon
3270: 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61  t color="#a52a2a
3280: 22 3e 3c 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c  "><b>&quot;</b><
3290: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
32a0: 72 3d 22 23 66 66 30 30 66 66 22 3e 2e 66 73 6c  r="#ff00ff">.fsl
32b0: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
32c0: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e  or="#a52a2a"><b>
32d0: 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74  &quot;</b></font
32e0: 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c  ><br>..<font col
32f0: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 26 6e 62  or="#a52a2a">&nb
3300: 73 70 3b 39 20 3c 2f 66 6f 6e 74 3e 3c 62 72 3e  sp;9 </font><br>
3310: 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  ..<font color="#
3320: 61 35 32 61 32 61 22 3e 31 30 20 3c 2f 66 6f 6e  a52a2a">10 </fon
3330: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
3340: 30 30 30 30 66 66 22 3e 23 23 23 20 50 72 6f 63  0000ff">### Proc
3350: 65 73 73 69 6e 67 20 73 65 63 74 69 6f 6e 20 2d  essing section -
3360: 2d 20 6e 6f 74 68 69 6e 67 20 74 6f 20 63 6f 6e  - nothing to con
3370: 66 69 67 75 72 65 20 68 65 72 65 21 20 23 23 23  figure here! ###
3380: 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f  </font><br>..<fo
3390: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
33a0: 61 22 3e 31 31 20 3c 2f 66 6f 6e 74 3e 3c 62 72  a">11 </font><br
33b0: 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  >..<font color="
33c0: 23 61 35 32 61 32 61 22 3e 31 32 20 3c 2f 66 6f  #a52a2a">12 </fo
33d0: 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  nt><font color="
33e0: 23 61 35 32 61 32 61 22 3e 3c 62 3e 73 65 74 3c  #a52a2a"><b>set<
33f0: 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  /b></font><font 
3400: 63 6f 6c 6f 72 3d 22 23 30 30 38 62 38 62 22 3e  color="#008b8b">
3410: 26 6e 62 73 70 3b 3c 2f 66 6f 6e 74 3e 3c 66 6f  &nbsp;</font><fo
3420: 6e 74 20 63 6f 6c 6f 72 3d 22 23 36 61 35 61 63  nt color="#6a5ac
3430: 64 22 3e 2d 66 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  d">-f</font><fon
3440: 74 20 63 6f 6c 6f 72 3d 22 23 30 30 38 62 38 62  t color="#008b8b
3450: 22 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e  ">&nbsp;&nbsp;&n
3460: 62 73 70 3b 26 6e 62 73 70 3b 3c 2f 66 6f 6e 74  bsp;&nbsp;</font
3470: 3e 3b 20 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  >; <font color="
3480: 23 30 30 30 30 66 66 22 3e 23 20 64 69 73 61 62  #0000ff"># disab
3490: 6c 65 20 66 69 6c 65 6e 61 6d 65 20 67 6c 6f 62  le filename glob
34a0: 62 69 6e 67 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d  bing</font><br>.
34b0: 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61  .<font color="#a
34c0: 35 32 61 32 61 22 3e 31 33 20 3c 2f 66 6f 6e 74  52a2a">13 </font
34d0: 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c  ><br>..<font col
34e0: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 31 34 20  or="#a52a2a">14 
34f0: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
3500: 6f 72 3d 22 23 30 30 30 30 66 66 22 3e 23 23 20  or="#0000ff">## 
3510: 53 6f 6d 65 20 68 65 6c 70 65 72 20 66 75 6e 63  Some helper func
3520: 74 69 6f 6e 73 3c 2f 66 6f 6e 74 3e 3c 62 72 3e  tions</font><br>
3530: 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  ..<font color="#
3540: 61 35 32 61 32 61 22 3e 31 35 20 3c 2f 66 6f 6e  a52a2a">15 </fon
3550: 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f  t><br>..<font co
3560: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 31 36  lor="#a52a2a">16
3570: 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f   </font><font co
3580: 6c 6f 72 3d 22 23 30 30 38 62 38 62 22 3e 48 65  lor="#008b8b">He
3590: 61 64 65 72 54 65 78 74 20 28 29 20 7b 3c 2f 66  aderText () {</f
35a0: 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20  ont><br>..<font 
35b0: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
35c0: 31 37 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b  17 </font>&nbsp;
35d0: 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f  &nbsp;<font colo
35e0: 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 69  r="#a52a2a"><b>i
35f0: 66 20 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f  f </b></font><fo
3600: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
3610: 61 22 3e 3c 62 3e 5b 3c 2f 62 3e 3c 2f 66 6f 6e  a"><b>[</b></fon
3620: 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f  t>&nbsp;<font co
3630: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62  lor="#a52a2a"><b
3640: 3e 2d 7a 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 26 6e  >-z</b></font>&n
3650: 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  bsp;<font color=
3660: 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 26 71 75  "#a52a2a"><b>&qu
3670: 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66  ot;</b></font><f
3680: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 30 32 30  ont color="#a020
3690: 66 30 22 3e 24 68 65 61 64 65 72 57 72 69 74 74  f0">$headerWritt
36a0: 65 6e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63  en</font><font c
36b0: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c  olor="#a52a2a"><
36c0: 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f  b>&quot;</b></fo
36d0: 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63  nt>&nbsp;<font c
36e0: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c  olor="#a52a2a"><
36f0: 62 3e 5d 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66  b>]</b></font><f
3700: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61  ont color="#a52a
3710: 32 61 22 3e 3c 62 3e 3b 3c 2f 62 3e 3c 2f 66 6f  2a"><b>;</b></fo
3720: 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63  nt>&nbsp;<font c
3730: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c  olor="#a52a2a"><
3740: 62 3e 74 68 65 6e 3c 2f 62 3e 3c 2f 66 6f 6e 74  b>then</b></font
3750: 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c  ><br>..<font col
3760: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 31 38 20  or="#a52a2a">18 
3770: 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62  </font>&nbsp;&nb
3780: 73 70 3b 26 6e 62 73 70 3b 26 6e 62 73 70 3b 3c  sp;&nbsp;&nbsp;<
3790: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32  font color="#a52
37a0: 61 32 61 22 3e 3c 62 3e 65 63 68 6f 3c 2f 62 3e  a2a"><b>echo</b>
37b0: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
37c0: 6f 72 3d 22 23 66 66 30 30 66 66 22 3e 26 6e 62  or="#ff00ff">&nb
37d0: 73 70 3b 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  sp;</font><font 
37e0: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
37f0: 3c 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66  <b>&quot;</b></f
3800: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
3810: 22 23 66 66 30 30 66 66 22 3e 43 6f 6e 74 65 6e  "#ff00ff">Conten
3820: 74 2d 74 79 70 65 3a 20 74 65 78 74 2f 70 6c 61  t-type: text/pla
3830: 69 6e 3b 20 63 68 61 72 73 65 74 3d 69 73 6f 2d  in; charset=iso-
3840: 38 38 35 39 2d 31 3c 2f 66 6f 6e 74 3e 3c 66 6f  8859-1</font><fo
3850: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
3860: 61 22 3e 3c 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e  a"><b>&quot;</b>
3870: 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f  </font><br>..<fo
3880: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
3890: 61 22 3e 31 39 20 3c 2f 66 6f 6e 74 3e 26 6e 62  a">19 </font>&nb
38a0: 73 70 3b 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26  sp;&nbsp;&nbsp;&
38b0: 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72  nbsp;<font color
38c0: 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 65 63  ="#a52a2a"><b>ec
38d0: 68 6f 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 62 72  ho</b></font><br
38e0: 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  >..<font color="
38f0: 23 61 35 32 61 32 61 22 3e 32 30 20 3c 2f 66 6f  #a52a2a">20 </fo
3900: 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26  nt>&nbsp;&nbsp;&
3910: 6e 62 73 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74  nbsp;&nbsp;<font
3920: 20 63 6f 6c 6f 72 3d 22 23 30 30 38 62 38 62 22   color="#008b8b"
3930: 3e 68 65 61 64 65 72 57 72 69 74 74 65 6e 3c 2f  >headerWritten</
3940: 66 6f 6e 74 3e 3d 3c 66 6f 6e 74 20 63 6f 6c 6f  font>=<font colo
3950: 72 3d 22 23 66 66 30 30 66 66 22 3e 31 3c 2f 66  r="#ff00ff">1</f
3960: 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20  ont><br>..<font 
3970: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
3980: 32 31 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b  21 </font>&nbsp;
3990: 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f  &nbsp;<font colo
39a0: 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 66  r="#a52a2a"><b>f
39b0: 69 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 62 72 3e  i</b></font><br>
39c0: 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  ..<font color="#
39d0: 61 35 32 61 32 61 22 3e 32 32 20 3c 2f 66 6f 6e  a52a2a">22 </fon
39e0: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
39f0: 30 30 38 62 38 62 22 3e 7d 3c 2f 66 6f 6e 74 3e  008b8b">}</font>
3a00: 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f  <br>..<font colo
3a10: 72 3d 22 23 61 35 32 61 32 61 22 3e 32 33 20 3c  r="#a52a2a">23 <
3a20: 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e  /font><br>..<fon
3a30: 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61  t color="#a52a2a
3a40: 22 3e 32 34 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  ">24 </font><fon
3a50: 74 20 63 6f 6c 6f 72 3d 22 23 30 30 38 62 38 62  t color="#008b8b
3a60: 22 3e 48 65 61 64 65 72 48 54 4d 4c 20 28 29 20  ">HeaderHTML () 
3a70: 7b 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66  {</font><br>..<f
3a80: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61  ont color="#a52a
3a90: 32 61 22 3e 32 35 20 3c 2f 66 6f 6e 74 3e 26 6e  2a">25 </font>&n
3aa0: 62 73 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74 20  bsp;&nbsp;<font 
3ab0: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
3ac0: 3c 62 3e 69 66 20 3c 2f 62 3e 3c 2f 66 6f 6e 74  <b>if </b></font
3ad0: 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61  ><font color="#a
3ae0: 35 32 61 32 61 22 3e 3c 62 3e 5b 3c 2f 62 3e 3c  52a2a"><b>[</b><
3af0: 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e  /font>&nbsp;<fon
3b00: 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61  t color="#a52a2a
3b10: 22 3e 3c 62 3e 2d 7a 3c 2f 62 3e 3c 2f 66 6f 6e  "><b>-z</b></fon
3b20: 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f  t>&nbsp;<font co
3b30: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62  lor="#a52a2a"><b
3b40: 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e  >&quot;</b></fon
3b50: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
3b60: 61 30 32 30 66 30 22 3e 24 68 65 61 64 65 72 57  a020f0">$headerW
3b70: 72 69 74 74 65 6e 3c 2f 66 6f 6e 74 3e 3c 66 6f  ritten</font><fo
3b80: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
3b90: 61 22 3e 3c 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e  a"><b>&quot;</b>
3ba0: 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f  </font>&nbsp;<fo
3bb0: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
3bc0: 61 22 3e 3c 62 3e 5d 3c 2f 62 3e 3c 2f 66 6f 6e  a"><b>]</b></fon
3bd0: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
3be0: 61 35 32 61 32 61 22 3e 3c 62 3e 3b 3c 2f 62 3e  a52a2a"><b>;</b>
3bf0: 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f  </font>&nbsp;<fo
3c00: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
3c10: 61 22 3e 3c 62 3e 74 68 65 6e 3c 2f 62 3e 3c 2f  a"><b>then</b></
3c20: 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74  font><br>..<font
3c30: 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22   color="#a52a2a"
3c40: 3e 32 36 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70  >26 </font>&nbsp
3c50: 3b 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e 62  ;&nbsp;&nbsp;&nb
3c60: 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  sp;<font color="
3c70: 23 61 35 32 61 32 61 22 3e 3c 62 3e 65 63 68 6f  #a52a2a"><b>echo
3c80: 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74  </b></font><font
3c90: 20 63 6f 6c 6f 72 3d 22 23 66 66 30 30 66 66 22   color="#ff00ff"
3ca0: 3e 26 6e 62 73 70 3b 3c 2f 66 6f 6e 74 3e 3c 66  >&nbsp;</font><f
3cb0: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61  ont color="#a52a
3cc0: 32 61 22 3e 3c 62 3e 26 71 75 6f 74 3b 3c 2f 62  2a"><b>&quot;</b
3cd0: 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f  ></font><font co
3ce0: 6c 6f 72 3d 22 23 66 66 30 30 66 66 22 3e 43 6f  lor="#ff00ff">Co
3cf0: 6e 74 65 6e 74 2d 74 79 70 65 3a 20 74 65 78 74  ntent-type: text
3d00: 2f 68 74 6d 6c 3b 20 63 68 61 72 73 65 74 3d 69  /html; charset=i
3d10: 73 6f 2d 38 38 35 39 2d 31 3c 2f 66 6f 6e 74 3e  so-8859-1</font>
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 26 71 75 6f 74 3b 3c  2a2a"><b>&quot;<
3d40: 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a  /b></font><br>..
3d50: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35  <font color="#a5
3d60: 32 61 32 61 22 3e 32 37 20 3c 2f 66 6f 6e 74 3e  2a2a">27 </font>
3d70: 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e 62 73  &nbsp;&nbsp;&nbs
3d80: 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f  p;&nbsp;<font co
3d90: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62  lor="#a52a2a"><b
3da0: 3e 65 63 68 6f 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e  >echo</b></font>
3db0: 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f  <br>..<font colo
3dc0: 72 3d 22 23 61 35 32 61 32 61 22 3e 32 38 20 3c  r="#a52a2a">28 <
3dd0: 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73  /font>&nbsp;&nbs
3de0: 70 3b 26 6e 62 73 70 3b 26 6e 62 73 70 3b 3c 66  p;&nbsp;&nbsp;<f
3df0: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 30 30 38 62  ont color="#008b
3e00: 38 62 22 3e 68 65 61 64 65 72 57 72 69 74 74 65  8b">headerWritte
3e10: 6e 3c 2f 66 6f 6e 74 3e 3d 3c 66 6f 6e 74 20 63  n</font>=<font c
3e20: 6f 6c 6f 72 3d 22 23 66 66 30 30 66 66 22 3e 31  olor="#ff00ff">1
3e30: 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f  </font><br>..<fo
3e40: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
3e50: 61 22 3e 32 39 20 3c 2f 66 6f 6e 74 3e 26 6e 62  a">29 </font>&nb
3e60: 73 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63  sp;&nbsp;<font c
3e70: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c  olor="#a52a2a"><
3e80: 62 3e 66 69 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c  b>fi</b></font><
3e90: 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72  br>..<font color
3ea0: 3d 22 23 61 35 32 61 32 61 22 3e 33 30 20 3c 2f  ="#a52a2a">30 </
3eb0: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
3ec0: 3d 22 23 30 30 38 62 38 62 22 3e 7d 3c 2f 66 6f  ="#008b8b">}</fo
3ed0: 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63  nt><br>..<font c
3ee0: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 33  olor="#a52a2a">3
3ef0: 31 20 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c  1 </font><br>..<
3f00: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32  font color="#a52
3f10: 61 32 61 22 3e 33 32 20 3c 2f 66 6f 6e 74 3e 3c  a2a">32 </font><
3f20: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 30 30 38  font color="#008
3f30: 62 38 62 22 3e 45 72 72 6f 72 20 28 29 20 7b 3c  b8b">Error () {<
3f40: 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e  /font><br>..<fon
3f50: 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61  t color="#a52a2a
3f60: 22 3e 33 33 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73  ">33 </font>&nbs
3f70: 70 3b 26 6e 62 73 70 3b 48 65 61 64 65 72 48 54  p;&nbsp;HeaderHT
3f80: 4d 4c 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f  ML<br>..<font co
3f90: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 33 34  lor="#a52a2a">34
3fa0: 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e   </font>&nbsp;&n
3fb0: 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  bsp;<font color=
3fc0: 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 65 63 68  "#a52a2a"><b>ech
3fd0: 6f 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  o</b></font><fon
3fe0: 74 20 63 6f 6c 6f 72 3d 22 23 66 66 30 30 66 66  t color="#ff00ff
3ff0: 22 3e 26 6e 62 73 70 3b 3c 2f 66 6f 6e 74 3e 3c  ">&nbsp;</font><
4000: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32  font color="#a52
4010: 61 32 61 22 3e 3c 62 3e 26 71 75 6f 74 3b 3c 2f  a2a"><b>&quot;</
4020: 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63  b></font><font c
4030: 6f 6c 6f 72 3d 22 23 66 66 30 30 66 66 22 3e 26  olor="#ff00ff">&
4040: 6c 74 3b 70 26 67 74 3b 26 6c 74 3b 66 6f 6e 74  lt;p&gt;&lt;font
4050: 20 63 6f 6c 6f 72 3d 3c 2f 66 6f 6e 74 3e 3c 66   color=</font><f
4060: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61  ont color="#a52a
4070: 32 61 22 3e 3c 62 3e 26 71 75 6f 74 3b 3c 2f 62  2a"><b>&quot;</b
4080: 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f  ></font><font co
4090: 6c 6f 72 3d 22 23 66 66 30 30 66 66 22 3e 72 65  lor="#ff00ff">re
40a0: 64 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f  d</font><font co
40b0: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62  lor="#a52a2a"><b
40c0: 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e  >&quot;</b></fon
40d0: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
40e0: 66 66 30 30 66 66 22 3e 26 67 74 3b 45 52 52 4f  ff00ff">&gt;ERRO
40f0: 52 3a 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  R: </font><font 
4100: 63 6f 6c 6f 72 3d 22 23 61 30 32 30 66 30 22 3e  color="#a020f0">
4110: 24 31 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63  $1</font><font c
4120: 6f 6c 6f 72 3d 22 23 66 66 30 30 66 66 22 3e 26  olor="#ff00ff">&
4130: 6c 74 3b 2f 66 6f 6e 74 26 67 74 3b 26 6c 74 3b  lt;/font&gt;&lt;
4140: 2f 70 26 67 74 3b 3c 2f 66 6f 6e 74 3e 3c 66 6f  /p&gt;</font><fo
4150: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
4160: 61 22 3e 3c 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e  a"><b>&quot;</b>
4170: 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f  </font><br>..<fo
4180: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
4190: 61 22 3e 33 35 20 3c 2f 66 6f 6e 74 3e 26 6e 62  a">35 </font>&nb
41a0: 73 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63  sp;&nbsp;<font c
41b0: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c  olor="#a52a2a"><
41c0: 62 3e 65 78 69 74 3c 2f 62 3e 3c 2f 66 6f 6e 74  b>exit</b></font
41d0: 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c  >&nbsp;<font col
41e0: 6f 72 3d 22 23 66 66 30 30 66 66 22 3e 31 3c 2f  or="#ff00ff">1</
41f0: 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74  font><br>..<font
4200: 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22   color="#a52a2a"
4210: 3e 33 36 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74  >36 </font><font
4220: 20 63 6f 6c 6f 72 3d 22 23 30 30 38 62 38 62 22   color="#008b8b"
4230: 3e 7d 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c  >}</font><br>..<
4240: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32  font color="#a52
4250: 61 32 61 22 3e 33 37 20 3c 2f 66 6f 6e 74 3e 3c  a2a">37 </font><
4260: 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72  br>..<font color
4270: 3d 22 23 61 35 32 61 32 61 22 3e 33 38 20 3c 2f  ="#a52a2a">38 </
4280: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
4290: 3d 22 23 30 30 38 62 38 62 22 3e 50 20 28 29 20  ="#008b8b">P () 
42a0: 7b 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66  {</font><br>..<f
42b0: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61  ont color="#a52a
42c0: 32 61 22 3e 33 39 20 3c 2f 66 6f 6e 74 3e 26 6e  2a">39 </font>&n
42d0: 62 73 70 3b 26 6e 62 73 70 3b 48 65 61 64 65 72  bsp;&nbsp;Header
42e0: 54 65 78 74 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20  Text<br>..<font 
42f0: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
4300: 34 30 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b  40 </font>&nbsp;
4310: 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f  &nbsp;<font colo
4320: 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 66  r="#a52a2a"><b>f
4330: 6f 72 20 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 76 61  or </b></font>va
4340: 72 20 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  r <font color="#
4350: 61 35 32 61 32 61 22 3e 3c 62 3e 69 6e 3c 2f 62  a52a2a"><b>in</b
4360: 3e 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66  ></font>&nbsp;<f
4370: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 30 32 30  ont color="#a020
4380: 66 30 22 3e 24 2a 3c 2f 66 6f 6e 74 3e 3c 66 6f  f0">$*</font><fo
4390: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
43a0: 61 22 3e 3c 62 3e 3b 3c 2f 62 3e 3c 2f 66 6f 6e  a"><b>;</b></fon
43b0: 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f  t>&nbsp;<font co
43c0: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62  lor="#a52a2a"><b
43d0: 3e 64 6f 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 62  >do</b></font><b
43e0: 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  r>..<font color=
43f0: 22 23 61 35 32 61 32 61 22 3e 34 31 20 3c 2f 66  "#a52a2a">41 </f
4400: 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b  ont>&nbsp;&nbsp;
4410: 26 6e 62 73 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e  &nbsp;&nbsp;<fon
4420: 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61  t color="#a52a2a
4430: 22 3e 3c 62 3e 65 76 61 6c 3c 2f 62 3e 3c 2f 66  "><b>eval</b></f
4440: 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20  ont>&nbsp;<font 
4450: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
4460: 3c 62 3e 65 63 68 6f 3c 2f 62 3e 3c 2f 66 6f 6e  <b>echo</b></fon
4470: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
4480: 66 66 30 30 66 66 22 3e 26 6e 62 73 70 3b 3c 2f  ff00ff">&nbsp;</
4490: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
44a0: 3d 22 23 61 30 32 30 66 30 22 3e 24 76 61 72 3c  ="#a020f0">$var<
44b0: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
44c0: 72 3d 22 23 66 66 30 30 66 66 22 3e 26 6e 62 73  r="#ff00ff">&nbs
44d0: 70 3b 3d 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74  p;= </font><font
44e0: 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22   color="#a52a2a"
44f0: 3e 3c 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f  ><b>&quot;</b></
4500: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
4510: 3d 22 23 36 61 35 61 63 64 22 3e 5c 24 3c 2f 66  ="#6a5acd">\$</f
4520: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
4530: 22 23 61 30 32 30 66 30 22 3e 24 76 61 72 3c 2f  "#a020f0">$var</
4540: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
4550: 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 26 71  ="#a52a2a"><b>&q
4560: 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c  uot;</b></font><
4570: 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72  br>..<font color
4580: 3d 22 23 61 35 32 61 32 61 22 3e 34 32 20 3c 2f  ="#a52a2a">42 </
4590: 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70  font>&nbsp;&nbsp
45a0: 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61  ;<font color="#a
45b0: 35 32 61 32 61 22 3e 3c 62 3e 64 6f 6e 65 3c 2f  52a2a"><b>done</
45c0: 62 3e 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c  b></font><br>..<
45d0: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32  font color="#a52
45e0: 61 32 61 22 3e 34 33 20 3c 2f 66 6f 6e 74 3e 3c  a2a">43 </font><
45f0: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 30 30 38  font color="#008
4600: 62 38 62 22 3e 7d 3c 2f 66 6f 6e 74 3e 3c 62 72  b8b">}</font><br
4610: 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  >..<font color="
4620: 23 61 35 32 61 32 61 22 3e 34 34 20 3c 2f 66 6f  #a52a2a">44 </fo
4630: 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63  nt><br>..<font c
4640: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 34  olor="#a52a2a">4
4650: 35 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63  5 </font><font c
4660: 6f 6c 6f 72 3d 22 23 30 30 30 30 66 66 22 3e 23  olor="#0000ff">#
4670: 23 20 44 6f 20 74 68 65 20 72 65 61 6c 20 77 6f  # Do the real wo
4680: 72 6b 20 68 65 72 65 20 2e 2e 2e 3c 2f 66 6f 6e  rk here ...</fon
4690: 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f  t><br>..<font co
46a0: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 34 36  lor="#a52a2a">46
46b0: 20 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66   </font><br>..<f
46c0: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61  ont color="#a52a
46d0: 32 61 22 3e 34 37 20 3c 2f 66 6f 6e 74 3e 3c 66  2a">47 </font><f
46e0: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 30 30 38 62  ont color="#008b
46f0: 38 62 22 3e 70 72 6f 6a 65 63 74 3c 2f 66 6f 6e  8b">project</fon
4700: 74 3e 3d 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  t>=<font color="
4710: 23 36 61 35 61 63 64 22 3e 60 65 63 68 6f 20 3c  #6a5acd">`echo <
4720: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
4730: 72 3d 22 23 61 30 32 30 66 30 22 3e 24 50 41 54  r="#a020f0">$PAT
4740: 48 5f 49 4e 46 4f 3c 2f 66 6f 6e 74 3e 3c 66 6f  H_INFO</font><fo
4750: 6e 74 20 63 6f 6c 6f 72 3d 22 23 36 61 35 61 63  nt color="#6a5ac
4760: 64 22 3e 26 6e 62 73 70 3b 3c 2f 66 6f 6e 74 3e  d">&nbsp;</font>
4770: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35  <font color="#a5
4780: 32 61 32 61 22 3e 3c 62 3e 7c 3c 2f 62 3e 3c 2f  2a2a"><b>|</b></
4790: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
47a0: 3d 22 23 36 61 35 61 63 64 22 3e 26 6e 62 73 70  ="#6a5acd">&nbsp
47b0: 3b 73 65 64 20 2d 65 20 3c 2f 66 6f 6e 74 3e 3c  ;sed -e </font><
47c0: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32  font color="#a52
47d0: 61 32 61 22 3e 3c 62 3e 27 3c 2f 62 3e 3c 2f 66  a2a"><b>'</b></f
47e0: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
47f0: 22 23 66 66 30 30 66 66 22 3e 73 21 2f 3c 2f 66  "#ff00ff">s!/</f
4800: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
4810: 22 23 36 61 35 61 63 64 22 3e 5c 28 3c 2f 66 6f  "#6a5acd">\(</fo
4820: 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  nt><font color="
4830: 23 66 66 30 30 66 66 22 3e 5b 5e 2f 5d 2a 3c 2f  #ff00ff">[^/]*</
4840: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
4850: 3d 22 23 36 61 35 61 63 64 22 3e 5c 29 3c 2f 66  ="#6a5acd">\)</f
4860: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
4870: 22 23 66 66 30 30 66 66 22 3e 2e 2a 21 5c 31 21  "#ff00ff">.*!\1!
4880: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
4890: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e  or="#a52a2a"><b>
48a0: 27 7c 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f  '|</b></font><fo
48b0: 6e 74 20 63 6f 6c 6f 72 3d 22 23 36 61 35 61 63  nt color="#6a5ac
48c0: 64 22 3e 26 6e 62 73 70 3b 74 72 20 3c 2f 66 6f  d">&nbsp;tr </fo
48d0: 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  nt><font color="
48e0: 23 61 35 32 61 32 61 22 3e 3c 62 3e 26 71 75 6f  #a52a2a"><b>&quo
48f0: 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f  t;</b></font><fo
4900: 6e 74 20 63 6f 6c 6f 72 3d 22 23 66 66 30 30 66  nt color="#ff00f
4910: 66 22 3e 5b 41 2d 5a 5d 3c 2f 66 6f 6e 74 3e 3c  f">[A-Z]</font><
4920: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32  font color="#a52
4930: 61 32 61 22 3e 3c 62 3e 26 71 75 6f 74 3b 3c 2f  a2a"><b>&quot;</
4940: 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63  b></font><font c
4950: 6f 6c 6f 72 3d 22 23 36 61 35 61 63 64 22 3e 26  olor="#6a5acd">&
4960: 6e 62 73 70 3b 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  nbsp;</font><fon
4970: 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61  t color="#a52a2a
4980: 22 3e 3c 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c  "><b>&quot;</b><
4990: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
49a0: 72 3d 22 23 66 66 30 30 66 66 22 3e 5b 61 2d 7a  r="#ff00ff">[a-z
49b0: 5d 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f  ]</font><font co
49c0: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62  lor="#a52a2a"><b
49d0: 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e  >&quot;</b></fon
49e0: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
49f0: 36 61 35 61 63 64 22 3e 60 3c 2f 66 6f 6e 74 3e  6a5acd">`</font>
4a00: 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f  <br>..<font colo
4a10: 72 3d 22 23 61 35 32 61 32 61 22 3e 34 38 20 3c  r="#a52a2a">48 <
4a20: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
4a30: 72 3d 22 23 30 30 38 62 38 62 22 3e 72 65 70 6f  r="#008b8b">repo
4a40: 73 3c 2f 66 6f 6e 74 3e 3d 3c 66 6f 6e 74 20 63  s</font>=<font c
4a50: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c  olor="#a52a2a"><
4a60: 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f  b>&quot;</b></fo
4a70: 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  nt><font color="
4a80: 23 61 30 32 30 66 30 22 3e 24 52 45 50 4f 53 52  #a020f0">$REPOSR
4a90: 4f 4f 54 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  OOT</font><font 
4aa0: 63 6f 6c 6f 72 3d 22 23 66 66 30 30 66 66 22 3e  color="#ff00ff">
4ab0: 2f 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f  /</font><font co
4ac0: 6c 6f 72 3d 22 23 61 30 32 30 66 30 22 3e 24 70  lor="#a020f0">$p
4ad0: 72 6f 6a 65 63 74 24 52 45 50 4f 53 45 58 54 3c  roject$REPOSEXT<
4ae0: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
4af0: 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 26  r="#a52a2a"><b>&
4b00: 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e  quot;</b></font>
4b10: 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f  <br>..<font colo
4b20: 72 3d 22 23 61 35 32 61 32 61 22 3e 34 39 20 3c  r="#a52a2a">49 <
4b30: 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e  /font><br>..<fon
4b40: 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61  t color="#a52a2a
4b50: 22 3e 35 30 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  ">50 </font><fon
4b60: 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61  t color="#a52a2a
4b70: 22 3e 3c 62 3e 69 66 20 3c 2f 62 3e 3c 2f 66 6f  "><b>if </b></fo
4b80: 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  nt><font color="
4b90: 23 61 35 32 61 32 61 22 3e 3c 62 3e 5b 3c 2f 62  #a52a2a"><b>[</b
4ba0: 3e 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66  ></font>&nbsp;<f
4bb0: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61  ont color="#a52a
4bc0: 32 61 22 3e 3c 62 3e 2d 72 3c 2f 62 3e 3c 2f 66  2a"><b>-r</b></f
4bd0: 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20  ont>&nbsp;<font 
4be0: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
4bf0: 3c 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66  <b>&quot;</b></f
4c00: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
4c10: 22 23 61 30 32 30 66 30 22 3e 24 72 65 70 6f 73  "#a020f0">$repos
4c20: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
4c30: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e  or="#a52a2a"><b>
4c40: 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74  &quot;</b></font
4c50: 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c  >&nbsp;<font col
4c60: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e  or="#a52a2a"><b>
4c70: 5d 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  ]</b></font><fon
4c80: 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61  t color="#a52a2a
4c90: 22 3e 3c 62 3e 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74  "><b>;</b></font
4ca0: 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c  >&nbsp;<font col
4cb0: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e  or="#a52a2a"><b>
4cc0: 74 68 65 6e 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c  then</b></font><
4cd0: 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72  br>..<font color
4ce0: 3d 22 23 61 35 32 61 32 61 22 3e 35 31 20 3c 2f  ="#a52a2a">51 </
4cf0: 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70  font>&nbsp;&nbsp
4d00: 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 30  ;<font color="#0
4d10: 30 38 62 38 62 22 3e 50 41 54 48 5f 49 4e 46 4f  08b8b">PATH_INFO
4d20: 3c 2f 66 6f 6e 74 3e 3d 3c 66 6f 6e 74 20 63 6f  </font>=<font co
4d30: 6c 6f 72 3d 22 23 36 61 35 61 63 64 22 3e 60 65  lor="#6a5acd">`e
4d40: 63 68 6f 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74  cho </font><font
4d50: 20 63 6f 6c 6f 72 3d 22 23 61 30 32 30 66 30 22   color="#a020f0"
4d60: 3e 24 52 45 51 55 45 53 54 5f 55 52 49 3c 2f 66  >$REQUEST_URI</f
4d70: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
4d80: 22 23 36 61 35 61 63 64 22 3e 26 6e 62 73 70 3b  "#6a5acd">&nbsp;
4d90: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
4da0: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e  or="#a52a2a"><b>
4db0: 7c 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  |</b></font><fon
4dc0: 74 20 63 6f 6c 6f 72 3d 22 23 36 61 35 61 63 64  t color="#6a5acd
4dd0: 22 3e 26 6e 62 73 70 3b 73 65 64 20 2d 65 20 3c  ">&nbsp;sed -e <
4de0: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
4df0: 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 26  r="#a52a2a"><b>&
4e00: 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e  quot;</b></font>
4e10: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 66 66  <font color="#ff
4e20: 30 30 66 66 22 3e 73 21 5e 3c 2f 66 6f 6e 74 3e  00ff">s!^</font>
4e30: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 30  <font color="#a0
4e40: 32 30 66 30 22 3e 24 53 43 52 49 50 54 5f 4e 41  20f0">$SCRIPT_NA
4e50: 4d 45 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63  ME</font><font c
4e60: 6f 6c 6f 72 3d 22 23 66 66 30 30 66 66 22 3e 2f  olor="#ff00ff">/
4e70: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
4e80: 6f 72 3d 22 23 61 30 32 30 66 30 22 3e 24 70 72  or="#a020f0">$pr
4e90: 6f 6a 65 63 74 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  oject</font><fon
4ea0: 74 20 63 6f 6c 6f 72 3d 22 23 36 61 35 61 63 64  t color="#6a5acd
4eb0: 22 3e 5c 5c 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74  ">\\</font><font
4ec0: 20 63 6f 6c 6f 72 3d 22 23 66 66 30 30 66 66 22   color="#ff00ff"
4ed0: 3e 28 5b 5e 3f 5d 2a 3c 2f 66 6f 6e 74 3e 3c 66  >([^?]*</font><f
4ee0: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 36 61 35 61  ont color="#6a5a
4ef0: 63 64 22 3e 5c 5c 3c 2f 66 6f 6e 74 3e 3c 66 6f  cd">\\</font><fo
4f00: 6e 74 20 63 6f 6c 6f 72 3d 22 23 66 66 30 30 66  nt color="#ff00f
4f10: 66 22 3e 29 2e 2a 21 3c 2f 66 6f 6e 74 3e 3c 66  f">).*!</font><f
4f20: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 36 61 35 61  ont color="#6a5a
4f30: 63 64 22 3e 5c 5c 3c 2f 66 6f 6e 74 3e 3c 66 6f  cd">\\</font><fo
4f40: 6e 74 20 63 6f 6c 6f 72 3d 22 23 66 66 30 30 66  nt color="#ff00f
4f50: 66 22 3e 31 21 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  f">1!</font><fon
4f60: 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61  t color="#a52a2a
4f70: 22 3e 3c 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c  "><b>&quot;</b><
4f80: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
4f90: 72 3d 22 23 36 61 35 61 63 64 22 3e 60 3c 2f 66  r="#6a5acd">`</f
4fa0: 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20  ont><br>..<font 
4fb0: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
4fc0: 35 32 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  52 </font><font 
4fd0: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
4fe0: 3c 62 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b 3a  <b>&nbsp;&nbsp;:
4ff0: 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70  </b></font>&nbsp
5000: 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61  ;<font color="#a
5010: 30 32 30 66 30 22 3e 24 7b 3c 2f 66 6f 6e 74 3e  020f0">${</font>
5020: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 30  <font color="#a0
5030: 32 30 66 30 22 3e 50 41 54 48 5f 49 4e 46 4f 3c  20f0">PATH_INFO<
5040: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
5050: 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 3a  r="#a52a2a"><b>:
5060: 3d 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  =</b></font><fon
5070: 74 20 63 6f 6c 6f 72 3d 22 23 66 66 30 30 66 66  t color="#ff00ff
5080: 22 3e 2f 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  ">/</font><font 
5090: 63 6f 6c 6f 72 3d 22 23 61 30 32 30 66 30 22 3e  color="#a020f0">
50a0: 7d 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66  }</font><br>..<f
50b0: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61  ont color="#a52a
50c0: 32 61 22 3e 35 33 20 3c 2f 66 6f 6e 74 3e 26 6e  2a">53 </font>&n
50d0: 62 73 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74 20  bsp;&nbsp;<font 
50e0: 63 6f 6c 6f 72 3d 22 23 30 30 38 62 38 62 22 3e  color="#008b8b">
50f0: 53 43 52 49 50 54 5f 4e 41 4d 45 3c 2f 66 6f 6e  SCRIPT_NAME</fon
5100: 74 3e 3d 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  t>=<font color="
5110: 23 61 30 32 30 66 30 22 3e 24 53 43 52 49 50 54  #a020f0">$SCRIPT
5120: 5f 4e 41 4d 45 3c 2f 66 6f 6e 74 3e 2f 3c 66 6f  _NAME</font>/<fo
5130: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 30 32 30 66  nt color="#a020f
5140: 30 22 3e 24 70 72 6f 6a 65 63 74 3c 2f 66 6f 6e  0">$project</fon
5150: 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f  t><br>..<font co
5160: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 35 34  lor="#a52a2a">54
5170: 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e   </font>&nbsp;&n
5180: 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  bsp;<font color=
5190: 22 23 30 30 38 62 38 62 22 3e 54 45 4d 50 46 49  "#008b8b">TEMPFI
51a0: 4c 45 3c 2f 66 6f 6e 74 3e 3d 3c 66 6f 6e 74 20  LE</font>=<font 
51b0: 63 6f 6c 6f 72 3d 22 23 36 61 35 61 63 64 22 3e  color="#6a5acd">
51c0: 60 6d 6b 74 65 6d 70 20 2f 74 6d 70 2f 66 6f 73  `mktemp /tmp/fos
51d0: 73 69 6c 2d 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74  sil-</font><font
51e0: 20 63 6f 6c 6f 72 3d 22 23 61 30 32 30 66 30 22   color="#a020f0"
51f0: 3e 24 70 72 6f 6a 65 63 74 3c 2f 66 6f 6e 74 3e  >$project</font>
5200: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 36 61  <font color="#6a
5210: 35 61 63 64 22 3e 2e 58 58 58 58 58 58 60 3c 2f  5acd">.XXXXXX`</
5220: 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74  font>&nbsp;<font
5230: 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22   color="#a52a2a"
5240: 3e 3c 62 3e 7c 7c 3c 2f 62 3e 3c 2f 66 6f 6e 74  ><b>||</b></font
5250: 3e 26 6e 62 73 70 3b 45 72 72 6f 72 20 3c 66 6f  >&nbsp;Error <fo
5260: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
5270: 61 22 3e 3c 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e  a"><b>&quot;</b>
5280: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
5290: 6f 72 3d 22 23 66 66 30 30 66 66 22 3e 43 6f 75  or="#ff00ff">Cou
52a0: 6c 64 6e 27 74 20 63 72 65 61 74 65 20 74 65 6d  ldn't create tem
52b0: 70 66 69 6c 65 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  pfile</font><fon
52c0: 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61  t color="#a52a2a
52d0: 22 3e 3c 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c  "><b>&quot;</b><
52e0: 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e  /font><br>..<fon
52f0: 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61  t color="#a52a2a
5300: 22 3e 35 35 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73  ">55 </font>&nbs
5310: 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f  p;&nbsp;<font co
5320: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62  lor="#a52a2a"><b
5330: 3e 74 72 61 70 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e  >trap</b></font>
5340: 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f  &nbsp;<font colo
5350: 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 26  r="#a52a2a"><b>&
5360: 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e  quot;</b></font>
5370: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 66 66  <font color="#ff
5380: 30 30 66 66 22 3e 72 6d 20 2d 66 20 3c 2f 66 6f  00ff">rm -f </fo
5390: 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  nt><font color="
53a0: 23 61 30 32 30 66 30 22 3e 24 54 45 4d 50 46 49  #a020f0">$TEMPFI
53b0: 4c 45 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63  LE</font><font c
53c0: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c  olor="#a52a2a"><
53d0: 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f  b>&quot;</b></fo
53e0: 6e 74 3e 26 6e 62 73 70 3b 45 58 49 54 20 51 55  nt>&nbsp;EXIT QU
53f0: 49 54 20 49 4e 54 20 54 45 52 4d 3c 62 72 3e 0d  IT INT TERM<br>.
5400: 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61  .<font color="#a
5410: 35 32 61 32 61 22 3e 35 36 20 3c 2f 66 6f 6e 74  52a2a">56 </font
5420: 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b 3c 66 6f  >&nbsp;&nbsp;<fo
5430: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
5440: 61 22 3e 3c 62 3e 65 63 68 6f 3c 2f 62 3e 3c 2f  a"><b>echo</b></
5450: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
5460: 3d 22 23 66 66 30 30 66 66 22 3e 26 6e 62 73 70  ="#ff00ff">&nbsp
5470: 3b 72 65 70 6f 73 69 74 6f 72 79 3a 20 3c 2f 66  ;repository: </f
5480: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
5490: 22 23 61 30 32 30 66 30 22 3e 24 72 65 70 6f 73  "#a020f0">$repos
54a0: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
54b0: 6f 72 3d 22 23 66 66 30 30 66 66 22 3e 26 6e 62  or="#ff00ff">&nb
54c0: 73 70 3b 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  sp;</font><font 
54d0: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
54e0: 3c 62 3e 26 67 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e  <b>&gt;</b></fon
54f0: 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f  t>&nbsp;<font co
5500: 6c 6f 72 3d 22 23 61 30 32 30 66 30 22 3e 24 54  lor="#a020f0">$T
5510: 45 4d 50 46 49 4c 45 3c 2f 66 6f 6e 74 3e 3c 62  EMPFILE</font><b
5520: 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  r>..<font color=
5530: 22 23 61 35 32 61 32 61 22 3e 35 37 20 3c 2f 66  "#a52a2a">57 </f
5540: 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b  ont>&nbsp;&nbsp;
5550: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 30  <font color="#a0
5560: 32 30 66 30 22 3e 24 46 4f 53 53 49 4c 3c 2f 66  20f0">$FOSSIL</f
5570: 6f 6e 74 3e 26 6e 62 73 70 3b 63 67 69 20 3c 66  ont>&nbsp;cgi <f
5580: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 30 32 30  ont color="#a020
5590: 66 30 22 3e 24 54 45 4d 50 46 49 4c 45 3c 2f 66  f0">$TEMPFILE</f
55a0: 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20  ont><br>..<font 
55b0: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
55c0: 35 38 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  58 </font><font 
55d0: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
55e0: 3c 62 3e 65 6c 69 66 3c 2f 62 3e 3c 2f 66 6f 6e  <b>elif</b></fon
55f0: 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f  t>&nbsp;<font co
5600: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62  lor="#a52a2a"><b
5610: 3e 5b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 26 6e 62  >[</b></font>&nb
5620: 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  sp;<font color="
5630: 23 61 35 32 61 32 61 22 3e 3c 62 3e 2d 7a 3c 2f  #a52a2a"><b>-z</
5640: 62 3e 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c  b></font>&nbsp;<
5650: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32  font color="#a52
5660: 61 32 61 22 3e 3c 62 3e 26 71 75 6f 74 3b 3c 2f  a2a"><b>&quot;</
5670: 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63  b></font><font c
5680: 6f 6c 6f 72 3d 22 23 61 30 32 30 66 30 22 3e 24  olor="#a020f0">$
5690: 70 72 6f 6a 65 63 74 3c 2f 66 6f 6e 74 3e 3c 66  project</font><f
56a0: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61  ont color="#a52a
56b0: 32 61 22 3e 3c 62 3e 26 71 75 6f 74 3b 3c 2f 62  2a"><b>&quot;</b
56c0: 3e 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66  ></font>&nbsp;<f
56d0: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61  ont color="#a52a
56e0: 32 61 22 3e 3c 62 3e 5d 3c 2f 62 3e 3c 2f 66 6f  2a"><b>]</b></fo
56f0: 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  nt><font color="
5700: 23 61 35 32 61 32 61 22 3e 3c 62 3e 3b 3c 2f 62  #a52a2a"><b>;</b
5710: 3e 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66  ></font>&nbsp;<f
5720: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61  ont color="#a52a
5730: 32 61 22 3e 3c 62 3e 74 68 65 6e 3c 2f 62 3e 3c  2a"><b>then</b><
5740: 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e  /font><br>..<fon
5750: 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61  t color="#a52a2a
5760: 22 3e 35 39 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73  ">59 </font>&nbs
5770: 70 3b 26 6e 62 73 70 3b 48 65 61 64 65 72 48 54  p;&nbsp;HeaderHT
5780: 4d 4c 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f  ML<br>..<font co
5790: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 36 30  lor="#a52a2a">60
57a0: 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e   </font>&nbsp;&n
57b0: 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  bsp;<font color=
57c0: 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 65 63 68  "#a52a2a"><b>ech
57d0: 6f 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  o</b></font><fon
57e0: 74 20 63 6f 6c 6f 72 3d 22 23 66 66 30 30 66 66  t color="#ff00ff
57f0: 22 3e 26 6e 62 73 70 3b 3c 2f 66 6f 6e 74 3e 3c  ">&nbsp;</font><
5800: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32  font color="#a52
5810: 61 32 61 22 3e 3c 62 3e 26 71 75 6f 74 3b 3c 2f  a2a"><b>&quot;</
5820: 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63  b></font><font c
5830: 6f 6c 6f 72 3d 22 23 61 30 32 30 66 30 22 3e 24  olor="#a020f0">$
5840: 54 49 54 4c 45 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  TITLE</font><fon
5850: 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61  t color="#a52a2a
5860: 22 3e 3c 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c  "><b>&quot;</b><
5870: 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e  /font><br>..<fon
5880: 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61  t color="#a52a2a
5890: 22 3e 36 31 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73  ">61 </font>&nbs
58a0: 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f  p;&nbsp;<font co
58b0: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62  lor="#a52a2a"><b
58c0: 3e 65 63 68 6f 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e  >echo</b></font>
58d0: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 66 66  <font color="#ff
58e0: 30 30 66 66 22 3e 26 6e 62 73 70 3b 3c 2f 66 6f  00ff">&nbsp;</fo
58f0: 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  nt><font color="
5900: 23 61 35 32 61 32 61 22 3e 3c 62 3e 26 71 75 6f  #a52a2a"><b>&quo
5910: 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f  t;</b></font><fo
5920: 6e 74 20 63 6f 6c 6f 72 3d 22 23 66 66 30 30 66  nt color="#ff00f
5930: 66 22 3e 26 6c 74 3b 75 6c 26 67 74 3b 3c 2f 66  f">&lt;ul&gt;</f
5940: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
5950: 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 26 71 75  "#a52a2a"><b>&qu
5960: 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 62  ot;</b></font><b
5970: 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  r>..<font color=
5980: 22 23 61 35 32 61 32 61 22 3e 36 32 20 3c 2f 66  "#a52a2a">62 </f
5990: 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b  ont>&nbsp;&nbsp;
59a0: 66 69 6e 64 20 3c 66 6f 6e 74 20 63 6f 6c 6f 72  find <font color
59b0: 3d 22 23 61 30 32 30 66 30 22 3e 24 52 45 50 4f  ="#a020f0">$REPO
59c0: 53 52 4f 4f 54 3c 2f 66 6f 6e 74 3e 26 6e 62 73  SROOT</font>&nbs
59d0: 70 3b 2d 6e 61 6d 65 20 3c 66 6f 6e 74 20 63 6f  p;-name <font co
59e0: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62  lor="#a52a2a"><b
59f0: 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e  >&quot;</b></fon
5a00: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
5a10: 66 66 30 30 66 66 22 3e 2a 3c 2f 66 6f 6e 74 3e  ff00ff">*</font>
5a20: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 30  <font color="#a0
5a30: 32 30 66 30 22 3e 24 52 45 50 4f 53 45 58 54 3c  20f0">$REPOSEXT<
5a40: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
5a50: 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 26  r="#a52a2a"><b>&
5a60: 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e  quot;</b></font>
5a70: 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f  &nbsp;<font colo
5a80: 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 7c  r="#a52a2a"><b>|
5a90: 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70  </b></font>&nbsp
5aa0: 3b 5c 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f  ;\<br>..<font co
5ab0: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 36 33  lor="#a52a2a">63
5ac0: 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e   </font>&nbsp;&n
5ad0: 62 73 70 3b 77 68 69 6c 65 20 3c 66 6f 6e 74 20  bsp;while <font 
5ae0: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
5af0: 3c 62 3e 72 65 61 64 3c 2f 62 3e 3c 2f 66 6f 6e  <b>read</b></fon
5b00: 74 3e 26 6e 62 73 70 3b 72 65 70 6f 73 3c 66 6f  t>&nbsp;repos<fo
5b10: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
5b20: 61 22 3e 3c 62 3e 3b 3c 2f 62 3e 3c 2f 66 6f 6e  a"><b>;</b></fon
5b30: 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f  t>&nbsp;<font co
5b40: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62  lor="#a52a2a"><b
5b50: 3e 64 6f 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 62  >do</b></font><b
5b60: 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  r>..<font color=
5b70: 22 23 61 35 32 61 32 61 22 3e 36 34 20 3c 2f 66  "#a52a2a">64 </f
5b80: 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b  ont>&nbsp;&nbsp;
5b90: 26 6e 62 73 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e  &nbsp;&nbsp;<fon
5ba0: 74 20 63 6f 6c 6f 72 3d 22 23 30 30 38 62 38 62  t color="#008b8b
5bb0: 22 3e 70 72 6f 6a 65 63 74 3c 2f 66 6f 6e 74 3e  ">project</font>
5bc0: 3d 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 36  =<font color="#6
5bd0: 61 35 61 63 64 22 3e 60 62 61 73 65 6e 61 6d 65  a5acd">`basename
5be0: 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f   </font><font co
5bf0: 6c 6f 72 3d 22 23 61 30 32 30 66 30 22 3e 24 72  lor="#a020f0">$r
5c00: 65 70 6f 73 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74  epos</font><font
5c10: 20 63 6f 6c 6f 72 3d 22 23 36 61 35 61 63 64 22   color="#6a5acd"
5c20: 3e 26 6e 62 73 70 3b 3c 2f 66 6f 6e 74 3e 3c 66  >&nbsp;</font><f
5c30: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 30 32 30  ont color="#a020
5c40: 66 30 22 3e 24 52 45 50 4f 53 45 58 54 3c 2f 66  f0">$REPOSEXT</f
5c50: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
5c60: 22 23 36 61 35 61 63 64 22 3e 60 3c 2f 66 6f 6e  "#6a5acd">`</fon
5c70: 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f  t><br>..<font co
5c80: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 36 35  lor="#a52a2a">65
5c90: 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e   </font>&nbsp;&n
5ca0: 62 73 70 3b 26 6e 62 73 70 3b 26 6e 62 73 70 3b  bsp;&nbsp;&nbsp;
5cb0: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35  <font color="#a5
5cc0: 32 61 32 61 22 3e 3c 62 3e 69 66 20 3c 2f 62 3e  2a2a"><b>if </b>
5cd0: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
5ce0: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e  or="#a52a2a"><b>
5cf0: 5b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 26 6e 62 73  [</b></font>&nbs
5d00: 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  p;<font color="#
5d10: 61 35 32 61 32 61 22 3e 3c 62 3e 2d 66 3c 2f 62  a52a2a"><b>-f</b
5d20: 3e 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66  ></font>&nbsp;<f
5d30: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 30 32 30  ont color="#a020
5d40: 66 30 22 3e 24 72 65 70 6f 73 3c 2f 66 6f 6e 74  f0">$repos</font
5d50: 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c  >&nbsp;<font col
5d60: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e  or="#a52a2a"><b>
5d70: 2d 61 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 26 6e 62  -a</b></font>&nb
5d80: 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  sp;<font color="
5d90: 23 61 35 32 61 32 61 22 3e 3c 62 3e 21 3c 2f 62  #a52a2a"><b>!</b
5da0: 3e 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66  ></font>&nbsp;<f
5db0: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61  ont color="#a52a
5dc0: 32 61 22 3e 3c 62 3e 2d 65 3c 2f 62 3e 3c 2f 66  2a"><b>-e</b></f
5dd0: 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20  ont>&nbsp;<font 
5de0: 63 6f 6c 6f 72 3d 22 23 61 30 32 30 66 30 22 3e  color="#a020f0">
5df0: 24 52 45 50 4f 53 52 4f 4f 54 3c 2f 66 6f 6e 74  $REPOSROOT</font
5e00: 3e 2f 2e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  >/.<font color="
5e10: 23 61 30 32 30 66 30 22 3e 24 70 72 6f 6a 65 63  #a020f0">$projec
5e20: 74 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66  t</font>&nbsp;<f
5e30: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61  ont color="#a52a
5e40: 32 61 22 3e 3c 62 3e 5d 3c 2f 62 3e 3c 2f 66 6f  2a"><b>]</b></fo
5e50: 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  nt><font color="
5e60: 23 61 35 32 61 32 61 22 3e 3c 62 3e 3b 3c 2f 62  #a52a2a"><b>;</b
5e70: 3e 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66  ></font>&nbsp;<f
5e80: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61  ont color="#a52a
5e90: 32 61 22 3e 3c 62 3e 74 68 65 6e 3c 2f 62 3e 3c  2a"><b>then</b><
5ea0: 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e  /font><br>..<fon
5eb0: 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61  t color="#a52a2a
5ec0: 22 3e 36 36 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73  ">66 </font>&nbs
5ed0: 70 3b 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e  p;&nbsp;&nbsp;&n
5ee0: 62 73 70 3b 26 6e 62 73 70 3b 26 6e 62 73 70 3b  bsp;&nbsp;&nbsp;
5ef0: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35  <font color="#a5
5f00: 32 61 32 61 22 3e 3c 62 3e 65 63 68 6f 3c 2f 62  2a2a"><b>echo</b
5f10: 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f  ></font><font co
5f20: 6c 6f 72 3d 22 23 66 66 30 30 66 66 22 3e 26 6e  lor="#ff00ff">&n
5f30: 62 73 70 3b 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74  bsp;</font><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 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f  ><b>&quot;</b></
5f60: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
5f70: 3d 22 23 66 66 30 30 66 66 22 3e 26 6c 74 3b 6c  ="#ff00ff">&lt;l
5f80: 69 26 67 74 3b 26 6c 74 3b 61 20 68 72 65 66 3d  i&gt;&lt;a href=
5f90: 27 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f  '</font><font co
5fa0: 6c 6f 72 3d 22 23 61 30 32 30 66 30 22 3e 24 7b  lor="#a020f0">${
5fb0: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
5fc0: 6f 72 3d 22 23 61 30 32 30 66 30 22 3e 52 45 51  or="#a020f0">REQ
5fd0: 55 45 53 54 5f 55 52 49 3c 2f 66 6f 6e 74 3e 3c  UEST_URI</font><
5fe0: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 30 32  font color="#a02
5ff0: 30 66 30 22 3e 7d 3c 2f 66 6f 6e 74 3e 3c 66 6f  0f0">}</font><fo
6000: 6e 74 20 63 6f 6c 6f 72 3d 22 23 66 66 30 30 66  nt color="#ff00f
6010: 66 22 3e 2f 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74  f">/</font><font
6020: 20 63 6f 6c 6f 72 3d 22 23 61 30 32 30 66 30 22   color="#a020f0"
6030: 3e 24 70 72 6f 6a 65 63 74 3c 2f 66 6f 6e 74 3e  >$project</font>
6040: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 66 66  <font color="#ff
6050: 30 30 66 66 22 3e 27 26 67 74 3b 3c 2f 66 6f 6e  00ff">'&gt;</fon
6060: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
6070: 61 30 32 30 66 30 22 3e 24 70 72 6f 6a 65 63 74  a020f0">$project
6080: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
6090: 6f 72 3d 22 23 66 66 30 30 66 66 22 3e 26 6c 74  or="#ff00ff">&lt
60a0: 3b 2f 61 26 67 74 3b 26 6c 74 3b 2f 6c 69 26 67  ;/a&gt;&lt;/li&g
60b0: 74 3b 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63  t;</font><font c
60c0: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c  olor="#a52a2a"><
60d0: 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f  b>&quot;</b></fo
60e0: 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63  nt><br>..<font c
60f0: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 36  olor="#a52a2a">6
6100: 37 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26  7 </font>&nbsp;&
6110: 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e 62 73 70  nbsp;&nbsp;&nbsp
6120: 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61  ;<font color="#a
6130: 35 32 61 32 61 22 3e 3c 62 3e 66 69 3c 2f 62 3e  52a2a"><b>fi</b>
6140: 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f  </font><br>..<fo
6150: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
6160: 61 22 3e 36 38 20 3c 2f 66 6f 6e 74 3e 26 6e 62  a">68 </font>&nb
6170: 73 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63  sp;&nbsp;<font c
6180: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c  olor="#a52a2a"><
6190: 62 3e 64 6f 6e 65 3c 2f 62 3e 3c 2f 66 6f 6e 74  b>done</b></font
61a0: 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c  ><br>..<font col
61b0: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 36 39 20  or="#a52a2a">69 
61c0: 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62  </font>&nbsp;&nb
61d0: 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  sp;<font color="
61e0: 23 61 35 32 61 32 61 22 3e 3c 62 3e 65 63 68 6f  #a52a2a"><b>echo
61f0: 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74  </b></font><font
6200: 20 63 6f 6c 6f 72 3d 22 23 66 66 30 30 66 66 22   color="#ff00ff"
6210: 3e 26 6e 62 73 70 3b 3c 2f 66 6f 6e 74 3e 3c 66  >&nbsp;</font><f
6220: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61  ont color="#a52a
6230: 32 61 22 3e 3c 62 3e 26 71 75 6f 74 3b 3c 2f 62  2a"><b>&quot;</b
6240: 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f  ></font><font co
6250: 6c 6f 72 3d 22 23 66 66 30 30 66 66 22 3e 26 6c  lor="#ff00ff">&l
6260: 74 3b 2f 75 6c 26 67 74 3b 3c 2f 66 6f 6e 74 3e  t;/ul&gt;</font>
6270: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35  <font color="#a5
6280: 32 61 32 61 22 3e 3c 62 3e 26 71 75 6f 74 3b 3c  2a2a"><b>&quot;<
6290: 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a  /b></font><br>..
62a0: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35  <font color="#a5
62b0: 32 61 32 61 22 3e 37 30 20 3c 2f 66 6f 6e 74 3e  2a2a">70 </font>
62c0: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35  <font color="#a5
62d0: 32 61 32 61 22 3e 3c 62 3e 65 6c 73 65 3c 2f 62  2a2a"><b>else</b
62e0: 3e 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66  ></font><br>..<f
62f0: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61  ont color="#a52a
6300: 32 61 22 3e 37 31 20 3c 2f 66 6f 6e 74 3e 26 6e  2a">71 </font>&n
6310: 62 73 70 3b 26 6e 62 73 70 3b 45 72 72 6f 72 20  bsp;&nbsp;Error 
6320: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35  <font color="#a5
6330: 32 61 32 61 22 3e 3c 62 3e 26 71 75 6f 74 3b 3c  2a2a"><b>&quot;<
6340: 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  /b></font><font 
6350: 63 6f 6c 6f 72 3d 22 23 66 66 30 30 66 66 22 3e  color="#ff00ff">
6360: 4e 6f 20 73 75 63 68 20 70 72 6f 6a 65 63 74 3a  No such project:
6370: 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f   </font><font co
6380: 6c 6f 72 3d 22 23 61 30 32 30 66 30 22 3e 24 70  lor="#a020f0">$p
6390: 72 6f 6a 65 63 74 3c 2f 66 6f 6e 74 3e 3c 66 6f  roject</font><fo
63a0: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
63b0: 61 22 3e 3c 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e  a"><b>&quot;</b>
63c0: 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f  </font><br>..<fo
63d0: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
63e0: 61 22 3e 37 32 20 3c 2f 66 6f 6e 74 3e 3c 66 6f  a">72 </font><fo
63f0: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
6400: 61 22 3e 3c 62 3e 66 69 3c 2f 62 3e 3c 2f 66 6f  a"><b>fi</b></fo
6410: 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63  nt><br>..<font c
6420: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 37  olor="#a52a2a">7
6430: 33 20 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c  3 </font><br>..<
6440: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32  font color="#a52
6450: 61 32 61 22 3e 37 34 20 3c 2f 66 6f 6e 74 3e 3c  a2a">74 </font><
6460: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32  font color="#a52
6470: 61 32 61 22 3e 3c 62 3e 65 78 69 74 3c 2f 62 3e  a2a"><b>exit</b>
6480: 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f  </font>&nbsp;<fo
6490: 6e 74 20 63 6f 6c 6f 72 3d 22 23 66 66 30 30 66  nt color="#ff00f
64a0: 66 22 3e 30 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d  f">0</font><br>.
64b0: 0a 3c 2f 66 6f 6e 74 3e 0d 0a 3c 2f 6e 6f 77 69  .</font>..</nowi
64c0: 6b 69 3e 0d 0a 0d 0a 3c 68 34 3e 57 69 6e 64 6f  ki>....<h4>Windo
64d0: 77 73 3c 2f 68 34 3e 0d 0a 3c 70 3e 57 68 69 6c  ws</h4>..<p>Whil
64e0: 65 20 69 74 20 69 73 20 66 61 72 20 66 72 6f 6d  e it is far from
64f0: 20 61 20 70 65 72 66 65 63 74 20 73 65 74 20 6f   a perfect set o
6500: 66 20 69 6e 73 74 72 75 63 74 69 6f 6e 73 2c 20  f instructions, 
6510: 68 65 72 65 20 61 72 65 20 73 6f 6d 65 20 71 75  here are some qu
6520: 69 63 6b 20 6e 6f 74 65 73 20 74 68 61 74 20 73  ick notes that s
6530: 68 6f 75 6c 64 20 68 65 6c 70 20 77 69 6e 64 6f  hould help windo
6540: 77 73 20 75 73 65 72 73 20 61 6c 6f 6e 67 20 74  ws users along t
6550: 68 65 20 77 61 79 2e 3c 2f 70 3e 0d 0a 3c 75 6c  he way.</p>..<ul
6560: 3e 0d 0a 3c 6c 69 3e 79 6f 75 20 6e 65 65 64 20  >..<li>you need 
6570: 66 6f 73 73 69 6c 2e 65 78 65 20 61 63 63 65 73  fossil.exe acces
6580: 73 69 62 6c 65 20 62 79 20 79 6f 75 72 20 77 65  sible by your we
6590: 62 20 73 65 72 76 65 72 20 6f 72 20 6f 6e 20 79  b server or on y
65a0: 6f 75 72 20 70 61 74 68 20 2d 2d 20 65 61 73 69  our path -- easi
65b0: 65 73 74 20 69 73 20 74 6f 20 6a 75 73 74 20 63  est is to just c
65c0: 68 75 63 6b 20 69 74 20 69 6e 20 5c 25 53 59 53  huck it in \%SYS
65d0: 54 45 4d 5f 52 4f 4f 54 25 5c 20 28 75 73 75 61  TEM_ROOT%\ (usua
65e0: 6c 6c 79 20 63 3a 5c 77 69 6e 64 6f 77 73 5c 29  lly c:\windows\)
65f0: 2e 20 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 61 73 73  . </li>..<li>ass
6600: 75 6d 69 6e 67 20 79 6f 75 20 61 72 65 20 72 75  uming you are ru
6610: 6e 6e 69 6e 67 20 61 70 61 63 68 65 2c 20 79 6f  nning apache, yo
6620: 75 20 6e 65 65 64 20 74 6f 20 65 69 74 68 65 72  u need to either
6630: 20 61 64 64 20 74 68 65 20 45 78 65 63 43 47 49   add the ExecCGI
6640: 20 74 6f 20 74 68 65 20 6f 70 74 69 6f 6e 73 20   to the options 
6650: 6f 6e 20 79 6f 75 72 20 44 6f 63 75 6d 65 6e 74  on your Document
6660: 52 6f 6f 74 2c 20 6f 72 20 6d 61 6b 65 20 73 75  Root, or make su
6670: 72 65 20 74 68 65 20 53 63 72 69 70 74 41 6c 69  re the ScriptAli
6680: 61 73 20 64 69 72 65 63 74 69 76 65 20 69 73 20  as directive is 
6690: 73 65 74 20 61 6e 64 20 70 75 74 20 79 6f 75 72  set and put your
66a0: 20 2e 63 67 69 20 66 69 6c 65 73 20 69 6e 20 74   .cgi files in t
66b0: 68 61 74 20 66 6f 6c 64 65 72 2e 3c 2f 6c 69 3e  hat folder.</li>
66c0: 0d 0a 3c 6c 69 3e 74 68 65 20 63 6f 6e 74 65 6e  ..<li>the conten
66d0: 74 73 20 6f 66 20 79 6f 75 72 20 63 67 69 20 66  ts of your cgi f
66e0: 69 6c 65 20 6e 65 65 64 20 74 6f 20 62 65 20 65  ile need to be e
66f0: 73 73 65 6e 74 69 61 6c 6c 79 20 74 68 65 20 73  ssentially the s
6700: 61 6d 65 20 61 73 20 61 62 6f 76 65 2c 20 74 68  ame as above, th
6710: 6f 75 67 68 20 70 61 74 68 73 20 6e 65 65 64 20  ough paths need 
6720: 74 6f 20 62 65 20 77 69 6e 64 6f 77 73 2d 66 72  to be windows-fr
6730: 69 65 6e 64 6c 79 2e 20 49 20 68 61 76 65 20 6d  iendly. I have m
6740: 61 64 65 20 73 75 72 65 20 74 68 61 74 20 61 6c  ade sure that al
6750: 6c 20 66 6f 6c 64 65 72 73 20 6f 6e 20 6d 79 20  l folders on my 
6760: 74 65 73 74 20 62 6f 78 20 61 72 65 20 66 72 65  test box are fre
6770: 65 20 6f 66 20 73 70 61 63 65 73 2c 20 61 6e 64  e of spaces, and
6780: 20 61 73 20 73 75 63 68 20 74 68 69 73 20 66 69   as such this fi
6790: 6c 65 20 77 6f 72 6b 73 20 66 6f 72 20 6d 65 20  le works for me 
67a0: 28 6f 62 76 69 6f 75 73 6c 79 20 79 6f 75 72 20  (obviously your 
67b0: 70 61 74 68 73 20 6d 61 79 20 64 69 66 66 65 72  paths may differ
67c0: 29 2e 0d 0a 3c 70 72 65 3e 0d 0a 23 21 20 66 6f  )...<pre>..#! fo
67d0: 73 73 69 6c 2e 65 78 65 0d 0a 72 65 70 6f 73 69  ssil.exe..reposi
67e0: 74 6f 72 79 3a 20 63 3a 2f 77 61 6d 70 2f 77 77  tory: c:/wamp/ww
67f0: 77 2f 64 65 76 2f 61 63 63 6f 75 6e 74 73 2e 66  w/dev/accounts.f
6800: 6f 73 73 69 6c 0d 0a 3c 2f 70 72 65 3e 0d 0a 49  ossil..</pre>..I
6810: 20 73 75 70 70 6f 73 65 20 79 6f 75 20 63 6f 75   suppose you cou
6820: 6c 64 20 70 75 74 20 66 6f 73 73 69 6c 2e 65 78  ld put fossil.ex
6830: 65 20 73 6f 6d 65 77 68 65 72 65 20 6d 6f 72 65  e somewhere more
6840: 20 73 70 65 63 69 66 69 63 20 61 6e 64 20 73 65   specific and se
6850: 74 20 74 68 65 20 70 61 74 68 20 74 6f 20 69 74  t the path to it
6860: 20 61 73 20 77 65 6c 6c 2c 20 62 75 74 20 73 69   as well, but si
6870: 6e 63 65 20 79 6f 75 20 61 72 65 20 70 72 6f 62  nce you are prob
6880: 61 62 6c 79 20 75 73 69 6e 67 20 74 68 65 20 73  ably using the s
6890: 61 6d 65 20 65 78 65 63 75 74 61 62 6c 65 20 66  ame executable f
68a0: 6f 72 20 63 6d 64 6c 69 6e 65 20 61 6e 64 20 63  or cmdline and c
68b0: 67 69 20 69 74 20 6b 69 6e 64 20 6f 66 20 6a 75  gi it kind of ju
68c0: 73 74 20 6d 61 6b 65 73 20 73 65 6e 73 65 20 74  st makes sense t
68d0: 6f 20 70 75 74 20 69 74 20 73 6f 6d 65 77 68 65  o put it somewhe
68e0: 72 65 20 6d 6f 72 65 20 61 63 63 65 73 73 69 62  re more accessib
68f0: 6c 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 41 73  le.</li>..<li>As
6900: 20 77 69 74 68 20 6d 6f 73 74 20 57 69 6e 64 6f   with most Windo
6910: 77 73 20 62 61 73 65 64 20 77 65 62 20 69 6e 73  ws based web ins
6920: 74 72 75 63 74 69 6f 6e 73 2c 20 70 65 72 6d 69  tructions, permi
6930: 73 73 69 6f 6e 73 20 61 72 65 20 6e 6f 74 20 61  ssions are not a
6940: 73 20 69 6d 70 6f 72 74 61 6e 74 2c 20 68 6f 77  s important, how
6950: 65 76 65 72 20 61 74 20 74 68 65 20 6c 65 61 73  ever at the leas
6960: 74 2c 20 79 6f 75 20 6e 65 65 64 20 74 6f 20 6d  t, you need to m
6970: 61 6b 65 20 73 75 72 65 20 74 68 61 74 20 79 6f  ake sure that yo
6980: 75 72 20 72 65 70 6f 73 69 74 6f 72 79 20 69 73  ur repository is
6990: 20 6e 6f 74 20 66 6c 61 67 67 65 64 20 72 65 61   not flagged rea
69a0: 64 2d 6f 6e 6c 79 2c 20 61 73 20 79 6f 75 20 77  d-only, as you w
69b0: 69 6c 6c 20 65 6e 63 6f 75 6e 74 65 72 20 64 61  ill encounter da
69c0: 74 61 62 61 73 65 20 65 72 72 6f 72 73 20 69 66  tabase errors if
69d0: 20 69 74 20 69 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f   it is.</li>..</
69e0: 75 6c 3e 0d 0a 0d 0a 3c 68 33 3e 44 69 73 63 75  ul>....<h3>Discu
69f0: 73 73 69 6f 6e 3c 2f 68 33 3e 0d 0a 55 73 69 6e  ssion</h3>..Usin
6a00: 67 20 74 68 65 20 43 47 49 20 73 65 72 76 65 72  g the CGI server
6a10: 20 69 73 20 74 68 65 20 62 65 73 74 20 73 6f 6c   is the best sol
6a20: 75 74 69 6f 6e 20 63 6f 6d 62 69 6e 69 6e 67 20  ution combining 
6a30: 61 6e 20 65 78 69 73 74 69 6e 67 20 77 65 62 20  an existing web 
6a40: 69 6e 66 72 61 73 74 72 75 63 74 75 72 65 20 61  infrastructure a
6a50: 6e 64 20 74 68 65 20 73 68 61 72 69 6e 67 20 6f  nd the sharing o
6a60: 66 20 6d 61 6e 79 20 3c 63 69 74 65 3e 46 6f 73  f many <cite>Fos
6a70: 73 69 6c 3c 2f 63 69 74 65 3e 20 72 65 70 6f 73  sil</cite> repos
6a80: 69 74 6f 72 69 65 73 2e 20 20 55 6e 6c 69 6b 65  itories.  Unlike
6a90: 20 74 68 65 20 61 64 2d 68 6f 63 20 73 6f 6c 75   the ad-hoc solu
6aa0: 74 69 6f 6e 20 77 68 69 63 68 20 72 65 71 75 69  tion which requi
6ab0: 72 65 73 2c 20 69 6e 20 65 66 66 65 63 74 2c 20  res, in effect, 
6ac0: 61 20 73 65 70 61 72 61 74 65 20 70 6f 72 74 20  a separate port 
6ad0: 66 6f 72 20 65 61 63 68 20 73 69 6d 75 6c 74 61  for each simulta
6ae0: 6e 65 6f 75 73 6c 79 2d 73 68 61 72 65 64 20 72  neously-shared r
6af0: 65 70 6f 73 69 74 6f 72 79 2c 20 61 6e 64 20 77  epository, and w
6b00: 68 69 63 68 20 72 65 71 75 69 72 65 73 20 73 65  hich requires se
6b10: 76 65 72 61 6c 20 69 6e 73 74 61 6e 63 65 73 20  veral instances 
6b20: 6f 66 20 66 6f 73 73 69 6c 20 72 75 6e 6e 69 6e  of fossil runnin
6b30: 67 20 2d 2d 20 6f 6e 65 20 66 6f 72 20 65 61 63  g -- one for eac
6b40: 68 20 73 68 61 72 65 64 20 72 65 70 6f 73 69 74  h shared reposit
6b50: 6f 72 79 20 2d 2d 20 74 68 65 20 43 47 49 20 61  ory -- the CGI a
6b60: 70 70 72 6f 61 63 68 20 75 73 65 73 20 55 52 4c  pproach uses URL
6b70: 73 20 74 6f 20 64 69 73 74 69 6e 67 75 69 73 68  s to distinguish
6b80: 20 62 65 74 77 65 65 6e 20 72 65 70 6f 73 69 74   between reposit
6b90: 6f 72 69 65 73 20 61 6e 64 20 6f 6e 6c 79 20 28  ories and only (
6ba0: 62 72 69 65 66 6c 79 29 20 72 75 6e 73 20 61 20  briefly) runs a 
6bb0: 63 6f 70 79 20 6f 66 20 66 6f 73 73 69 6c 20 77  copy of fossil w
6bc0: 68 65 6e 20 74 68 65 20 72 65 70 6f 73 69 74 6f  hen the reposito
6bd0: 72 79 20 69 73 20 61 63 74 75 61 6c 6c 79 20 61  ry is actually a
6be0: 63 63 65 73 73 65 64 2e 0d 0a 0d 0a 53 68 61 72  ccessed.....Shar
6bf0: 69 6e 67 20 72 65 70 6f 73 69 74 6f 72 69 65 73  ing repositories
6c00: 20 77 69 74 68 20 43 47 49 20 69 73 20 72 65 61   with CGI is rea
6c10: 6c 6c 79 20 6f 6e 6c 79 20 77 6f 72 74 68 20 74  lly only worth t
6c20: 68 65 20 65 66 66 6f 72 74 20 69 66 20 6d 6f 72  he effort if mor
6c30: 65 20 74 68 61 6e 20 6f 6e 65 20 72 65 70 6f 73  e than one repos
6c40: 69 74 6f 72 79 20 69 73 20 62 65 69 6e 67 20 73  itory is being s
6c50: 68 61 72 65 64 2c 20 68 6f 77 65 76 65 72 2e 20  hared, however. 
6c60: 20 57 69 74 68 20 6f 6e 6c 79 20 6f 6e 65 20 62   With only one b
6c70: 65 69 6e 67 20 73 68 61 72 65 64 2c 20 3c 63 6f  eing shared, <co
6c80: 64 65 3e 66 6f 73 73 69 6c 20 73 65 72 76 65 72  de>fossil server
6c90: 3c 2f 63 6f 64 65 3e 20 69 73 20 6c 69 6b 65 6c  </code> is likel
6ca0: 79 20 6d 6f 72 65 20 74 68 61 6e 20 61 64 65 71  y more than adeq
6cb0: 75 61 74 65 20 6f 72 20 74 68 65 20 75 73 65 20  uate or the use 
6cc0: 6f 66 20 28 78 29 69 6e 65 74 64 20 6d 61 79 20  of (x)inetd may 
6cd0: 62 65 20 69 6e 64 69 63 61 74 65 64 2e 20 20 49  be indicated.  I
6ce0: 66 2c 20 68 6f 77 65 76 65 72 2c 20 74 68 65 72  f, however, ther
6cf0: 65 20 69 73 20 61 6c 72 65 61 64 79 20 61 6e 20  e is already an 
6d00: 65 78 69 73 74 69 6e 67 20 77 65 62 20 69 6e 66  existing web inf
6d10: 72 61 73 74 72 75 63 74 75 72 65 20 69 6e 20 70  rastructure in p
6d20: 6c 61 63 65 2c 20 43 47 49 20 73 74 69 6c 6c 20  lace, CGI still 
6d30: 6d 61 79 20 62 65 20 70 72 65 66 65 72 72 65 64  may be preferred
6d40: 20 69 66 20 6f 6e 6c 79 20 66 6f 72 20 63 6f 6e   if only for con
6d50: 73 69 73 74 65 6e 63 79 20 61 6e 64 20 6d 61 69  sistency and mai
6d60: 6e 74 61 69 6e 61 62 69 6c 69 74 79 20 6f 66 20  ntainability of 
6d70: 74 68 65 20 73 79 73 74 65 6d 20 61 73 20 61 20  the system as a 
6d80: 77 68 6f 6c 65 2e 0d 0a 0d 0a 3c 68 32 3e 3c 61  whole.....<h2><a
6d90: 20 6e 61 6d 65 3d 22 65 6e 76 22 3e 55 73 69 6e   name="env">Usin
6da0: 67 20 45 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61  g Environment va
6db0: 72 69 61 62 6c 65 73 3c 2f 61 3e 3c 2f 68 32 3e  riables</a></h2>
6dc0: 0d 0a 3c 68 33 3e 4d 6f 74 69 76 61 74 69 6f 6e  ..<h3>Motivation
6dd0: 3c 2f 68 33 3e 0d 0a 20 20 2a 20 20 57 61 6e 74  </h3>..  *  Want
6de0: 20 74 6f 20 75 73 65 20 61 20 64 69 66 66 65 72   to use a differ
6df0: 65 6e 74 20 65 64 69 74 6f 72 20 66 6f 72 20 63  ent editor for c
6e00: 68 65 63 6b 69 6e 73 20 28 55 6e 69 78 2f 57 69  heckins (Unix/Wi
6e10: 6e 64 6f 77 73 29 0d 0a 20 20 2a 20 20 55 73 65  ndows)..  *  Use
6e20: 20 61 20 70 72 6f 78 79 20 69 66 20 79 6f 75 20   a proxy if you 
6e30: 61 72 65 20 62 65 68 69 6e 64 20 61 20 66 69 72  are behind a fir
6e40: 65 77 61 6c 6c 0d 0a 0d 0a 3c 68 33 3e 53 6f 6c  ewall....<h3>Sol
6e50: 75 74 69 6f 6e 3c 2f 68 33 3e 0d 0a 45 6e 76 69  ution</h3>..Envi
6e60: 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65  ronment variable
6e70: 73 20 61 72 65 20 75 73 65 64 20 74 6f 20 63 75  s are used to cu
6e80: 73 74 6f 6d 69 7a 65 20 73 6f 6d 65 20 70 72 6f  stomize some pro
6e90: 67 72 61 6d 6d 65 20 62 65 68 61 76 69 6f 75 72  gramme behaviour
6ea0: 2e 20 4f 6e 20 4c 69 6e 75 78 2f 55 6e 69 78 20  . On Linux/Unix 
6eb0: 74 68 65 79 20 63 61 6e 20 62 65 20 73 65 74 20  they can be set 
6ec0: 69 6e 20 79 6f 75 20 7e 2f 2e 62 61 73 68 72 63  in you ~/.bashrc
6ed0: 20 6f 72 20 65 76 65 6e 20 6f 6e 20 63 6f 6d 6d   or even on comm
6ee0: 61 6e 64 20 6c 69 6e 65 2e 20 4f 6e 20 57 69 6e  and line. On Win
6ef0: 64 6f 77 73 20 74 68 65 79 20 63 61 6e 20 62 65  dows they can be
6f00: 20 73 65 74 20 69 6e 20 74 68 65 20 73 79 73 74   set in the syst
6f10: 65 6d 20 73 65 74 74 69 6e 67 73 2e 0d 0a 0d 0a  em settings.....
6f20: 3c 63 69 74 65 3e 46 6f 73 73 69 6c 3c 2f 63 69  <cite>Fossil</ci
6f30: 74 65 3e 20 63 68 65 63 6b 73 20 74 68 65 20 66  te> checks the f
6f40: 6f 6c 6c 6f 77 69 6e 67 20 65 6e 76 69 72 6f 6e  ollowing environ
6f50: 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 73 3a 0d  ment variables:.
6f60: 0a 20 20 2a 20 20 56 49 53 55 41 4c 2f 45 44 49  .  *  VISUAL/EDI
6f70: 54 4f 52 0d 0a 20 20 2a 20 20 68 74 74 70 5f 70  TOR..  *  http_p
6f80: 72 6f 78 79 0d 0a 20 20 2a 20 20 54 4d 50 5f 44  roxy..  *  TMP_D
6f90: 49 52 0d 0a 20 20 2a 20 20 47 41 54 45 57 41 59  IR..  *  GATEWAY
6fa0: 5f 49 4e 54 45 52 46 41 43 45 0d 0a 20 20 2a 20  _INTERFACE..  * 
6fb0: 20 53 51 4c 49 54 45 5f 46 4f 52 43 45 5f 50 52   SQLITE_FORCE_PR
6fc0: 4f 58 59 5f 4c 4f 43 4b 49 4e 47 0d 0a 20 20 2a  OXY_LOCKING..  *
6fd0: 20 20 55 53 45 52 0d 0a 20 20 2a 20 20 55 53 45    USER..  *  USE
6fe0: 52 4e 41 4d 45 0d 0a 0d 0a 3c 62 3e 56 49 53 55  RNAME....<b>VISU
6ff0: 41 4c 2f 45 44 49 54 4f 52 3c 2f 62 3e 20 63 6f  AL/EDITOR</b> co
7000: 6e 74 61 69 6e 20 74 68 65 20 65 64 69 74 6f 72  ntain the editor
7010: 20 6f 66 20 79 6f 75 72 20 63 68 6f 69 63 65 20   of your choice 
7020: 74 68 61 74 20 69 73 20 75 73 65 64 20 74 6f 20  that is used to 
7030: 77 72 69 74 65 20 74 68 65 20 63 6f 6d 6d 69 74  write the commit
7040: 20 66 69 6c 65 2e 0d 0a 0d 0a 3c 62 3e 54 4d 50   file.....<b>TMP
7050: 5f 44 49 52 3c 2f 62 3e 20 73 70 65 63 69 66 69  _DIR</b> specifi
7060: 65 73 20 74 68 65 20 64 69 72 65 63 74 6f 72 79  es the directory
7070: 20 66 6f 72 20 74 65 6d 70 6f 72 61 72 79 20 66   for temporary f
7080: 69 6c 65 73 2e 0d 0a 0d 0a 3c 62 3e 47 41 54 45  iles.....<b>GATE
7090: 57 41 59 5f 49 4e 54 45 52 46 41 43 45 3c 2f 62  WAY_INTERFACE</b
70a0: 3e 20 3f 3f 3f 0d 0a 0d 0a 3c 62 3e 53 51 4c 49  > ???....<b>SQLI
70b0: 54 45 5f 46 4f 52 43 45 5f 50 52 4f 58 59 5f 4c  TE_FORCE_PROXY_L
70c0: 4f 43 4b 49 4e 47 3c 2f 62 3e 20 3f 3f 3f 0d 0a  OCKING</b> ???..
70d0: 0d 0a 3c 62 3e 55 53 45 52 3c 2f 62 3e 0d 0a 0d  ..<b>USER</b>...
70e0: 0a 3c 62 3e 55 53 45 52 4e 41 4d 45 3c 2f 62 3e  .<b>USERNAME</b>
70f0: 0d 0a 0d 0a 0d 0a 3c 68 32 3e 3c 61 20 6e 61 6d  ......<h2><a nam
7100: 65 3d 22 63 73 73 22 3e 45 78 61 6d 70 6c 65 20  e="css">Example 
7110: 43 53 53 3c 2f 61 3e 3c 2f 68 32 3e 0d 0a 3c 68  CSS</a></h2>..<h
7120: 33 3e 4d 6f 74 69 76 61 74 69 6f 6e 3c 2f 68 33  3>Motivation</h3
7130: 3e 0d 0a 54 68 65 20 64 65 66 61 75 6c 74 20 55  >..The default U
7140: 49 20 6d 61 79 20 6e 6f 74 20 62 65 20 73 74 79  I may not be sty
7150: 6c 69 73 68 20 69 6e 20 65 76 65 72 79 6f 6e 65  lish in everyone
7160: 73 20 65 79 65 73 2e 0d 0a 49 74 20 69 73 20 75  s eyes...It is u
7170: 70 20 74 6f 20 79 6f 75 20 74 6f 20 63 68 61 6e  p to you to chan
7180: 67 65 20 69 74 2e 20 53 65 65 20 74 68 65 20 43  ge it. See the C
7190: 53 53 20 63 6f 64 65 20 62 65 6c 6f 77 20 66 72  SS code below fr
71a0: 6f 6d 20 74 68 69 73 20 73 69 74 65 20 5b 68 74  om this site [ht
71b0: 74 70 3a 2f 2f 66 6f 73 73 69 6c 2e 77 61 6e 64  tp://fossil.wand
71c0: 65 72 69 6e 67 68 6f 72 73 65 2e 6e 65 74 2f 69  eringhorse.net/i
71d0: 6e 64 65 78 2e 63 67 69 2f 69 6e 64 65 78 7c 57  ndex.cgi/index|W
71e0: 61 6e 64 65 72 69 6e 67 20 48 6f 72 73 65 5d 0d  andering Horse].
71f0: 0a 0d 0a 3c 6e 6f 77 69 6b 69 3e 0d 0a 3c 70 72  ...<nowiki>..<pr
7200: 65 3e 0d 0a 2f 2a 20 47 65 6e 65 72 61 6c 20 73  e>../* General s
7210: 65 74 74 69 6e 67 73 20 66 6f 72 20 74 68 65 20  ettings for the 
7220: 65 6e 74 69 72 65 20 70 61 67 65 20 2a 2f 0d 0a  entire page */..
7230: 62 6f 64 79 20 7b 0d 0a 20 20 6d 61 72 67 69 6e  body {..  margin
7240: 3a 20 30 65 78 20 31 65 78 3b 0d 0a 20 20 70 61  : 0ex 1ex;..  pa
7250: 64 64 69 6e 67 3a 20 30 70 78 3b 0d 0a 20 20 62  dding: 0px;..  b
7260: 61 63 6b 67 72 6f 75 6e 64 2d 63 6f 6c 6f 72 3a  ackground-color:
7270: 20 77 68 69 74 65 3b 0d 0a 20 20 66 6f 6e 74 2d   white;..  font-
7280: 66 61 6d 69 6c 79 3a 20 22 73 61 6e 73 20 73 65  family: "sans se
7290: 72 69 66 22 3b 0d 0a 7d 0d 0a 0d 0a 2f 2a 20 4d  rif";..}..../* M
72a0: 61 6b 65 20 74 68 65 20 6c 69 6e 6b 73 20 69 6e  ake the links in
72b0: 20 74 68 65 20 66 6f 6f 74 65 72 20 6c 65 73 73   the footer less
72c0: 20 75 67 6c 79 2e 2e 2e 20 2a 2f 0d 0a 61 20 7b   ugly... */..a {
72d0: 20 63 6f 6c 6f 72 3a 20 23 30 30 30 66 36 61 3b   color: #000f6a;
72e0: 20 7d 0d 0a 61 3a 6c 69 6e 6b 20 7b 20 63 6f 6c   }..a:link { col
72f0: 6f 72 3a 20 23 30 30 30 66 36 61 3b 20 7d 0d 0a  or: #000f6a; }..
7300: 61 3a 76 69 73 69 74 65 64 20 7b 20 63 6f 6c 6f  a:visited { colo
7310: 72 3a 20 23 30 30 30 66 36 61 3b 20 7d 0d 0a 61  r: #000f6a; }..a
7320: 3a 68 6f 76 65 72 20 7b 20 62 61 63 6b 67 72 6f  :hover { backgro
7330: 75 6e 64 2d 63 6f 6c 6f 72 3a 20 23 65 33 65 33  und-color: #e3e3
7340: 65 33 3b 20 7d 0d 0a 0d 0a 0d 0a 68 72 20 7b 0d  e3; }......hr {.
7350: 0a 20 20 68 65 69 67 68 74 3a 20 33 70 78 3b 0d  .  height: 3px;.
7360: 0a 20 20 62 6f 72 64 65 72 2d 74 6f 70 3a 20 6e  .  border-top: n
7370: 6f 6e 65 3b 20 2f 2a 31 70 78 20 64 61 73 68 65  one; /*1px dashe
7380: 64 20 23 30 30 35 3b 2a 2f 0d 0a 20 20 62 6f 72  d #005;*/..  bor
7390: 64 65 72 2d 62 6f 74 74 6f 6d 3a 20 31 70 78 20  der-bottom: 1px 
73a0: 64 61 73 68 65 64 20 23 30 30 35 3b 0d 0a 20 20  dashed #005;..  
73b0: 62 6f 72 64 65 72 2d 6c 65 66 74 3a 20 6e 6f 6e  border-left: non
73c0: 65 3b 0d 0a 20 20 62 6f 72 64 65 72 2d 72 69 67  e;..  border-rig
73d0: 68 74 3a 20 6e 6f 6e 65 3b 0d 0a 7d 0d 0a 2f 2a  ht: none;..}../*
73e0: 20 54 68 65 20 70 72 6f 6a 65 63 74 20 6c 6f 67   The project log
73f0: 6f 20 69 6e 20 74 68 65 20 75 70 70 65 72 20 6c  o in the upper l
7400: 65 66 74 2d 68 61 6e 64 20 63 6f 72 6e 65 72 20  eft-hand corner 
7410: 6f 66 20 65 61 63 68 20 70 61 67 65 20 2a 2f 0d  of each page */.
7420: 0a 64 69 76 2e 6c 6f 67 6f 20 7b 0d 0a 20 20 64  .div.logo {..  d
7430: 69 73 70 6c 61 79 3a 20 74 61 62 6c 65 2d 63 65  isplay: table-ce
7440: 6c 6c 3b 0d 0a 20 20 74 65 78 74 2d 61 6c 69 67  ll;..  text-alig
7450: 6e 3a 20 63 65 6e 74 65 72 3b 0d 0a 20 20 76 65  n: center;..  ve
7460: 72 74 69 63 61 6c 2d 61 6c 69 67 6e 3a 20 62 6f  rtical-align: bo
7470: 74 74 6f 6d 3b 0d 0a 20 20 63 6f 6c 6f 72 3a 20  ttom;..  color: 
7480: 23 30 30 30 66 36 61 3b 0d 0a 7d 0d 0a 0d 0a 2f  #000f6a;..}..../
7490: 2a 20 54 68 65 20 70 61 67 65 20 74 69 74 6c 65  * The page title
74a0: 20 63 65 6e 74 65 72 65 64 20 61 74 20 74 68 65   centered at the
74b0: 20 74 6f 70 20 6f 66 20 65 61 63 68 20 70 61 67   top of each pag
74c0: 65 20 2a 2f 0d 0a 64 69 76 2e 74 69 74 6c 65 20  e */..div.title 
74d0: 7b 0d 0a 20 20 64 69 73 70 6c 61 79 3a 20 74 61  {..  display: ta
74e0: 62 6c 65 2d 63 65 6c 6c 3b 0d 0a 20 20 66 6f 6e  ble-cell;..  fon
74f0: 74 2d 73 69 7a 65 3a 20 32 65 6d 3b 0d 0a 20 20  t-size: 2em;..  
7500: 66 6f 6e 74 2d 77 65 69 67 68 74 3a 20 62 6f 6c  font-weight: bol
7510: 64 3b 0d 0a 20 20 74 65 78 74 2d 61 6c 69 67 6e  d;..  text-align
7520: 3a 20 63 65 6e 74 65 72 3b 0d 0a 20 20 63 6f 6c  : center;..  col
7530: 6f 72 3a 20 23 30 30 30 66 36 61 3b 0d 0a 20 20  or: #000f6a;..  
7540: 76 65 72 74 69 63 61 6c 2d 61 6c 69 67 6e 3a 20  vertical-align: 
7550: 62 6f 74 74 6f 6d 3b 0d 0a 20 20 77 69 64 74 68  bottom;..  width
7560: 3a 20 31 30 30 25 3b 0d 0a 7d 0d 0a 0d 0a 2f 2a  : 100%;..}..../*
7570: 20 54 68 65 20 6c 6f 67 69 6e 20 73 74 61 74 75   The login statu
7580: 73 20 6d 65 73 73 61 67 65 20 69 6e 20 74 68 65  s message in the
7590: 20 74 6f 70 20 72 69 67 68 74 2d 68 61 6e 64 20   top right-hand 
75a0: 63 6f 72 6e 65 72 20 2a 2f 0d 0a 64 69 76 2e 73  corner */..div.s
75b0: 74 61 74 75 73 20 7b 0d 0a 20 20 64 69 73 70 6c  tatus {..  displ
75c0: 61 79 3a 20 74 61 62 6c 65 2d 63 65 6c 6c 3b 0d  ay: table-cell;.
75d0: 0a 20 20 74 65 78 74 2d 61 6c 69 67 6e 3a 20 72  .  text-align: r
75e0: 69 67 68 74 3b 0d 0a 20 20 76 65 72 74 69 63 61  ight;..  vertica
75f0: 6c 2d 61 6c 69 67 6e 3a 20 62 6f 74 74 6f 6d 3b  l-align: bottom;
7600: 0d 0a 20 20 63 6f 6c 6f 72 3a 20 23 30 30 30 66  ..  color: #000f
7610: 36 61 3b 0d 0a 20 20 66 6f 6e 74 2d 73 69 7a 65  6a;..  font-size
7620: 3a 20 30 2e 38 65 6d 3b 0d 0a 7d 0d 0a 0d 0a 2f  : 0.8em;..}..../
7630: 2a 20 54 68 65 20 68 65 61 64 65 72 20 61 63 72  * The header acr
7640: 6f 73 73 20 74 68 65 20 74 6f 70 20 6f 66 20 74  oss the top of t
7650: 68 65 20 70 61 67 65 20 2a 2f 0d 0a 64 69 76 2e  he page */..div.
7660: 68 65 61 64 65 72 20 7b 0d 0a 20 20 64 69 73 70  header {..  disp
7670: 6c 61 79 3a 20 74 61 62 6c 65 3b 0d 0a 20 20 77  lay: table;..  w
7680: 69 64 74 68 3a 20 31 30 30 25 3b 0d 0a 20 20 74  idth: 100%;..  t
7690: 65 78 74 2d 61 6c 69 67 6e 3a 20 63 65 6e 74 65  ext-align: cente
76a0: 72 3b 0d 0a 7d 0d 0a 0d 0a 2f 2a 20 54 68 65 20  r;..}..../* The 
76b0: 6d 61 69 6e 20 6d 65 6e 75 20 62 61 72 20 74 68  main menu bar th
76c0: 61 74 20 61 70 70 65 61 72 73 20 61 74 20 74 68  at appears at th
76d0: 65 20 74 6f 70 20 6f 66 20 74 68 65 20 70 61 67  e top of the pag
76e0: 65 20 62 65 6e 65 61 74 68 0d 0a 2a 2a 20 74 68  e beneath..** th
76f0: 65 20 68 65 61 64 65 72 20 2a 2f 0d 0a 64 69 76  e header */..div
7700: 2e 6d 61 69 6e 6d 65 6e 75 20 7b 0d 0a 20 20 70  .mainmenu {..  p
7710: 61 64 64 69 6e 67 3a 20 32 70 78 20 35 70 78 20  adding: 2px 5px 
7720: 32 70 78 20 35 70 78 3b 0d 0a 20 20 66 6f 6e 74  2px 5px;..  font
7730: 2d 73 69 7a 65 3a 20 30 2e 39 65 6d 3b 0d 0a 20  -size: 0.9em;.. 
7740: 20 74 65 78 74 2d 61 6c 69 67 6e 3a 20 63 65 6e   text-align: cen
7750: 74 65 72 3b 0d 0a 20 20 6c 65 74 74 65 72 2d 73  ter;..  letter-s
7760: 70 61 63 69 6e 67 3a 20 31 70 78 3b 0d 0a 20 20  pacing: 1px;..  
7770: 62 61 63 6b 67 72 6f 75 6e 64 2d 63 6f 6c 6f 72  background-color
7780: 3a 20 23 65 33 65 33 65 33 3b 0d 0a 20 20 63 6f  : #e3e3e3;..  co
7790: 6c 6f 72 3a 20 23 30 30 30 66 36 61 3b 0d 0a 20  lor: #000f6a;.. 
77a0: 20 62 6f 72 64 65 72 3a 20 31 70 78 20 69 6e 73   border: 1px ins
77b0: 65 74 20 62 6c 61 63 6b 3b 0d 0a 7d 0d 0a 0d 0a  et black;..}....
77c0: 2f 2a 20 54 68 65 20 73 75 62 6d 65 6e 75 20 62  /* The submenu b
77d0: 61 72 20 74 68 61 74 20 2a 73 6f 6d 65 74 69 6d  ar that *sometim
77e0: 65 73 2a 20 61 70 70 65 61 72 73 20 62 65 6c 6f  es* appears belo
77f0: 77 20 74 68 65 20 6d 61 69 6e 20 6d 65 6e 75 20  w the main menu 
7800: 2a 2f 0d 0a 64 69 76 2e 73 75 62 6d 65 6e 75 20  */..div.submenu 
7810: 7b 0d 0a 20 20 70 61 64 64 69 6e 67 3a 20 32 70  {..  padding: 2p
7820: 78 20 35 70 78 20 32 70 78 20 35 70 78 3b 0d 0a  x 5px 2px 5px;..
7830: 20 20 66 6f 6e 74 2d 73 69 7a 65 3a 20 30 2e 39    font-size: 0.9
7840: 65 6d 3b 0d 0a 20 20 74 65 78 74 2d 61 6c 69 67  em;..  text-alig
7850: 6e 3a 20 63 65 6e 74 65 72 3b 0d 0a 20 20 62 61  n: center;..  ba
7860: 63 6b 67 72 6f 75 6e 64 2d 63 6f 6c 6f 72 3a 20  ckground-color: 
7870: 23 65 33 65 33 65 33 3b 0d 0a 20 20 63 6f 6c 6f  #e3e3e3;..  colo
7880: 72 3a 20 23 30 30 30 66 36 61 3b 0d 0a 7d 0d 0a  r: #000f6a;..}..
7890: 64 69 76 2e 6d 61 69 6e 6d 65 6e 75 20 61 2c 20  div.mainmenu a, 
78a0: 64 69 76 2e 6d 61 69 6e 6d 65 6e 75 20 61 3a 76  div.mainmenu a:v
78b0: 69 73 69 74 65 64 2c 20 64 69 76 2e 73 75 62 6d  isited, div.subm
78c0: 65 6e 75 20 61 2c 20 64 69 76 2e 73 75 62 6d 65  enu a, div.subme
78d0: 6e 75 20 61 3a 76 69 73 69 74 65 64 20 7b 0d 0a  nu a:visited {..
78e0: 20 20 70 61 64 64 69 6e 67 3a 20 32 70 78 20 31    padding: 2px 1
78f0: 30 70 78 20 32 70 78 20 31 30 70 78 3b 0d 0a 20  0px 2px 10px;.. 
7900: 20 63 6f 6c 6f 72 3a 20 23 30 30 30 66 36 61 3b   color: #000f6a;
7910: 0d 0a 20 20 62 61 63 6b 67 72 6f 75 6e 64 2d 63  ..  background-c
7920: 6f 6c 6f 72 3a 20 23 65 33 65 33 65 33 3b 0d 0a  olor: #e3e3e3;..
7930: 20 20 74 65 78 74 2d 64 65 63 6f 72 61 74 69 6f    text-decoratio
7940: 6e 3a 20 6e 6f 6e 65 3b 0d 0a 7d 0d 0a 64 69 76  n: none;..}..div
7950: 2e 6d 61 69 6e 6d 65 6e 75 20 61 3a 68 6f 76 65  .mainmenu a:hove
7960: 72 2c 20 64 69 76 2e 73 75 62 6d 65 6e 75 20 61  r, div.submenu a
7970: 3a 68 6f 76 65 72 20 7b 0d 0a 20 20 63 6f 6c 6f  :hover {..  colo
7980: 72 3a 20 23 65 33 65 33 65 33 3b 0d 0a 20 20 62  r: #e3e3e3;..  b
7990: 61 63 6b 67 72 6f 75 6e 64 2d 63 6f 6c 6f 72 3a  ackground-color:
79a0: 20 23 30 30 30 66 36 61 3b 0d 0a 7d 0d 0a 0d 0a   #000f6a;..}....
79b0: 2f 2a 20 41 6c 6c 20 70 61 67 65 20 63 6f 6e 74  /* All page cont
79c0: 65 6e 74 20 66 72 6f 6d 20 74 68 65 20 62 6f 74  ent from the bot
79d0: 74 6f 6d 20 6f 66 20 74 68 65 20 6d 65 6e 75 20  tom of the menu 
79e0: 6f 72 20 73 75 62 6d 65 6e 75 20 64 6f 77 6e 20  or submenu down 
79f0: 74 6f 0d 0a 2a 2a 20 74 68 65 20 66 6f 6f 74 65  to..** the foote
7a00: 72 20 2a 2f 0d 0a 64 69 76 2e 63 6f 6e 74 65 6e  r */..div.conten
7a10: 74 20 7b 0d 0a 20 20 70 61 64 64 69 6e 67 3a 20  t {..  padding: 
7a20: 30 65 78 20 31 65 78 20 30 65 78 20 32 65 78 3b  0ex 1ex 0ex 2ex;
7a30: 0d 0a 7d 0d 0a 0d 0a 2f 2a 20 53 6f 6d 65 20 70  ..}..../* Some p
7a40: 61 67 65 73 20 68 61 76 65 20 73 65 63 74 69 6f  ages have sectio
7a50: 6e 20 64 69 76 69 64 65 72 73 20 2a 2f 0d 0a 64  n dividers */..d
7a60: 69 76 2e 73 65 63 74 69 6f 6e 20 7b 0d 0a 20 20  iv.section {..  
7a70: 6d 61 72 67 69 6e 2d 62 6f 74 74 6f 6d 3a 20 30  margin-bottom: 0
7a80: 70 78 3b 0d 0a 20 20 6d 61 72 67 69 6e 2d 74 6f  px;..  margin-to
7a90: 70 3a 20 31 65 6d 3b 0d 0a 20 20 70 61 64 64 69  p: 1em;..  paddi
7aa0: 6e 67 3a 20 31 70 78 20 31 70 78 20 31 70 78 20  ng: 1px 1px 1px 
7ab0: 31 70 78 3b 0d 0a 20 20 66 6f 6e 74 2d 73 69 7a  1px;..  font-siz
7ac0: 65 3a 20 31 2e 32 65 6d 3b 0d 0a 20 20 66 6f 6e  e: 1.2em;..  fon
7ad0: 74 2d 77 65 69 67 68 74 3a 20 62 6f 6c 64 3b 0d  t-weight: bold;.
7ae0: 0a 20 20 62 61 63 6b 67 72 6f 75 6e 64 2d 63 6f  .  background-co
7af0: 6c 6f 72 3a 20 23 65 33 65 33 65 33 3b 0d 0a 20  lor: #e3e3e3;.. 
7b00: 20 63 6f 6c 6f 72 3a 20 23 30 30 30 66 36 61 3b   color: #000f6a;
7b10: 0d 0a 7d 0d 0a 0d 0a 2f 2a 20 54 68 65 20 22 44  ..}..../* The "D
7b20: 61 74 65 22 20 74 68 61 74 20 6f 63 63 75 72 73  ate" that occurs
7b30: 20 6f 6e 20 74 68 65 20 6c 65 66 74 20 68 61 6e   on the left han
7b40: 64 20 73 69 64 65 20 6f 66 20 74 69 6d 65 6c 69  d side of timeli
7b50: 6e 65 73 20 2a 2f 0d 0a 64 69 76 2e 64 69 76 69  nes */..div.divi
7b60: 64 65 72 20 7b 0d 0a 20 20 62 61 63 6b 67 72 6f  der {..  backgro
7b70: 75 6e 64 2d 63 6f 6c 6f 72 3a 20 23 65 33 65 33  und-color: #e3e3
7b80: 65 33 3b 0d 0a 20 20 63 6f 6c 6f 72 3a 20 23 30  e3;..  color: #0
7b90: 30 30 66 36 61 3b 0d 0a 20 20 62 6f 72 64 65 72  00f6a;..  border
7ba0: 3a 20 31 70 78 20 23 62 62 62 62 66 66 20 73 6f  : 1px #bbbbff so
7bb0: 6c 69 64 3b 0d 0a 20 20 66 6f 6e 74 2d 73 69 7a  lid;..  font-siz
7bc0: 65 3a 20 31 65 6d 3b 20 66 6f 6e 74 2d 77 65 69  e: 1em; font-wei
7bd0: 67 68 74 3a 20 6e 6f 72 6d 61 6c 3b 0d 0a 20 20  ght: normal;..  
7be0: 70 61 64 64 69 6e 67 3a 20 2e 32 35 65 6d 3b 0d  padding: .25em;.
7bf0: 0a 20 20 6d 61 72 67 69 6e 3a 20 2e 32 65 6d 20  .  margin: .2em 
7c00: 30 20 2e 32 65 6d 20 30 3b 0d 0a 20 20 66 6c 6f  0 .2em 0;..  flo
7c10: 61 74 3a 20 6c 65 66 74 3b 0d 0a 20 20 63 6c 65  at: left;..  cle
7c20: 61 72 3a 20 6c 65 66 74 3b 0d 0a 7d 0d 0a 0d 0a  ar: left;..}....
7c30: 2f 2a 20 54 68 65 20 66 6f 6f 74 65 72 20 61 74  /* The footer at
7c40: 20 74 68 65 20 76 65 72 79 20 62 6f 74 74 6f 6d   the very bottom
7c50: 20 6f 66 20 74 68 65 20 70 61 67 65 20 2a 2f 0d   of the page */.
7c60: 0a 64 69 76 2e 66 6f 6f 74 65 72 20 7b 0d 0a 20  .div.footer {.. 
7c70: 20 66 6f 6e 74 2d 73 69 7a 65 3a 20 30 2e 38 65   font-size: 0.8e
7c80: 6d 3b 0d 0a 20 20 70 61 64 64 69 6e 67 3a 20 32  m;..  padding: 2
7c90: 70 78 20 35 70 78 20 32 70 78 20 35 70 78 3b 0d  px 5px 2px 5px;.
7ca0: 0a 20 20 74 65 78 74 2d 61 6c 69 67 6e 3a 20 63  .  text-align: c
7cb0: 65 6e 74 65 72 3b 0d 0a 20 20 6c 65 74 74 65 72  enter;..  letter
7cc0: 2d 73 70 61 63 69 6e 67 3a 20 31 70 78 3b 0d 0a  -spacing: 1px;..
7cd0: 20 20 62 61 63 6b 67 72 6f 75 6e 64 2d 63 6f 6c    background-col
7ce0: 6f 72 3a 20 23 65 33 65 33 65 33 3b 0d 0a 20 20  or: #e3e3e3;..  
7cf0: 63 6f 6c 6f 72 3a 20 23 30 30 30 66 36 61 3b 0d  color: #000f6a;.
7d00: 0a 20 20 62 6f 72 64 65 72 3a 20 31 70 78 20 69  .  border: 1px i
7d10: 6e 73 65 74 20 62 6c 61 63 6b 3b 0d 0a 7d 0d 0a  nset black;..}..
7d20: 0d 0a 2f 2a 20 4d 61 6b 65 20 74 68 65 20 6c 69  ../* Make the li
7d30: 6e 6b 73 20 69 6e 20 74 68 65 20 66 6f 6f 74 65  nks in the foote
7d40: 72 20 6c 65 73 73 20 75 67 6c 79 2e 2e 2e 20 2a  r less ugly... *
7d50: 2f 0d 0a 64 69 76 2e 66 6f 6f 74 65 72 20 61 20  /..div.footer a 
7d60: 7b 20 63 6f 6c 6f 72 3a 20 23 30 30 30 66 36 61  { color: #000f6a
7d70: 3b 20 7d 0d 0a 64 69 76 2e 66 6f 6f 74 65 72 20  ; }..div.footer 
7d80: 61 3a 6c 69 6e 6b 20 7b 20 63 6f 6c 6f 72 3a 20  a:link { color: 
7d90: 23 30 30 30 66 36 61 3b 20 7d 0d 0a 64 69 76 2e  #000f6a; }..div.
7da0: 66 6f 6f 74 65 72 20 61 3a 76 69 73 69 74 65 64  footer a:visited
7db0: 20 7b 20 63 6f 6c 6f 72 3a 20 23 30 30 30 66 36   { color: #000f6
7dc0: 61 3b 20 7d 0d 0a 64 69 76 2e 66 6f 6f 74 65 72  a; }..div.footer
7dd0: 20 61 3a 68 6f 76 65 72 20 7b 20 62 61 63 6b 67   a:hover { backg
7de0: 72 6f 75 6e 64 2d 63 6f 6c 6f 72 3a 20 23 30 30  round-color: #00
7df0: 30 66 36 61 3b 20 63 6f 6c 6f 72 3a 20 23 65 33  0f6a; color: #e3
7e00: 65 33 65 33 3b 20 7d 0d 0a 0d 0a 2f 2a 20 76 65  e3e3; }..../* ve
7e10: 72 62 61 74 69 6d 20 62 6c 6f 63 6b 73 20 2a 2f  rbatim blocks */
7e20: 0d 0a 70 72 65 2e 76 65 72 62 61 74 69 6d 20 7b  ..pre.verbatim {
7e30: 0d 0a 20 20 20 62 61 63 6b 67 72 6f 75 6e 64 2d  ..   background-
7e40: 63 6f 6c 6f 72 3a 20 23 66 35 66 35 66 35 3b 0d  color: #f5f5f5;.
7e50: 0a 20 20 20 70 61 64 64 69 6e 67 3a 20 30 2e 35  .   padding: 0.5
7e60: 65 6d 3b 0d 0a 7d 0d 0a 0d 0a 2f 2a 20 54 68 65  em;..}..../* The
7e70: 20 6c 61 62 65 6c 2f 76 61 6c 75 65 20 70 61 69   label/value pai
7e80: 72 73 20 6f 6e 20 28 66 6f 72 20 65 78 61 6d 70  rs on (for examp
7e90: 6c 65 29 20 74 68 65 20 76 69 6e 66 6f 20 70 61  le) the vinfo pa
7ea0: 67 65 20 2a 2f 0d 0a 74 61 62 6c 65 2e 6c 61 62  ge */..table.lab
7eb0: 65 6c 2d 76 61 6c 75 65 20 74 68 20 7b 0d 0a 20  el-value th {.. 
7ec0: 20 76 65 72 74 69 63 61 6c 2d 61 6c 69 67 6e 3a   vertical-align:
7ed0: 20 74 6f 70 3b 0d 0a 20 20 74 65 78 74 2d 61 6c   top;..  text-al
7ee0: 69 67 6e 3a 20 72 69 67 68 74 3b 0d 0a 20 20 70  ign: right;..  p
7ef0: 61 64 64 69 6e 67 3a 20 30 2e 32 65 78 20 32 65  adding: 0.2ex 2e
7f00: 78 3b 0d 0a 7d 0d 0a 0d 0a 2f 2a 20 46 6f 72 20  x;..}..../* For 
7f10: 6d 61 72 6b 69 6e 67 20 69 6d 70 6f 72 74 61 6e  marking importan
7f20: 74 20 55 49 20 65 6c 65 6d 65 6e 74 73 20 77 68  t UI elements wh
7f30: 69 63 68 20 73 68 6f 75 6c 64 6e 27 74 20 62 65  ich shouldn't be
7f40: 0d 0a 20 20 20 6c 69 67 68 74 6c 79 20 64 69 73  ..   lightly dis
7f50: 6d 69 73 73 65 64 2e 20 49 20 6d 61 69 6e 6c 79  missed. I mainly
7f60: 20 75 73 65 20 69 74 20 74 6f 20 6d 61 72 6b 20   use it to mark 
7f70: 22 6e 6f 74 20 79 65 74 0d 0a 20 20 20 69 6d 70  "not yet..   imp
7f80: 6c 65 6d 65 6e 74 65 64 22 20 70 61 72 74 73 20  lemented" parts 
7f90: 6f 66 20 61 20 70 61 67 65 2e 20 57 68 65 74 68  of a page. Wheth
7fa0: 65 72 20 6f 72 20 6e 6f 74 20 74 6f 20 68 61 76  er or not to hav
7fb0: 65 0d 0a 20 20 20 61 20 27 62 6f 72 64 65 72 27  e..   a 'border'
7fc0: 20 61 74 74 72 69 62 75 74 65 20 73 65 74 20 69   attribute set i
7fd0: 73 20 61 72 67 75 61 62 6c 65 2e 20 2a 2f 0d 0a  s arguable. */..
7fe0: 2e 61 63 68 74 75 6e 67 20 7b 0d 0a 20 20 63 6f  .achtung {..  co
7ff0: 6c 6f 72 3a 20 23 66 66 30 30 30 30 3b 0d 0a 20  lor: #ff0000;.. 
8000: 20 62 61 63 6b 67 72 6f 75 6e 64 3a 20 23 66 66   background: #ff
8010: 66 66 30 30 3b 0d 0a 20 20 62 6f 72 64 65 72 3a  ff00;..  border:
8020: 20 31 70 78 20 73 6f 6c 69 64 20 23 66 66 30 30   1px solid #ff00
8030: 30 30 3b 0d 0a 7d 0d 0a 0d 0a 74 61 62 6c 65 2e  00;..}....table.
8040: 66 6f 73 73 69 6c 5f 64 62 5f 67 65 6e 65 72 69  fossil_db_generi
8050: 63 5f 71 75 65 72 79 5f 76 69 65 77 20 7b 0d 0a  c_query_view {..
8060: 20 20 62 6f 72 64 65 72 2d 73 70 61 63 69 6e 67    border-spacing
8070: 3a 20 30 70 78 3b 0d 0a 20 20 62 6f 72 64 65 72  : 0px;..  border
8080: 3a 20 31 70 78 20 73 6f 6c 69 64 20 62 6c 61 63  : 1px solid blac
8090: 6b 3b 0d 0a 7d 0d 0a 74 61 62 6c 65 2e 66 6f 73  k;..}..table.fos
80a0: 73 69 6c 5f 64 62 5f 67 65 6e 65 72 69 63 5f 71  sil_db_generic_q
80b0: 75 65 72 79 5f 76 69 65 77 20 74 64 20 7b 0d 0a  uery_view td {..
80c0: 20 20 70 61 64 64 69 6e 67 3a 20 32 70 78 20 31    padding: 2px 1
80d0: 65 6d 20 32 70 78 20 31 65 6d 3b 0d 0a 7d 0d 0a  em 2px 1em;..}..
80e0: 74 61 62 6c 65 2e 66 6f 73 73 69 6c 5f 64 62 5f  table.fossil_db_
80f0: 67 65 6e 65 72 69 63 5f 71 75 65 72 79 5f 76 69  generic_query_vi
8100: 65 77 20 74 72 20 7b 0d 0a 7d 0d 0a 74 61 62 6c  ew tr {..}..tabl
8110: 65 2e 66 6f 73 73 69 6c 5f 64 62 5f 67 65 6e 65  e.fossil_db_gene
8120: 72 69 63 5f 71 75 65 72 79 5f 76 69 65 77 20 74  ric_query_view t
8130: 72 2e 65 76 65 6e 20 7b 0d 0a 20 20 62 61 63 6b  r.even {..  back
8140: 67 72 6f 75 6e 64 3a 20 23 66 66 66 66 66 66 3b  ground: #ffffff;
8150: 0d 0a 7d 0d 0a 74 61 62 6c 65 2e 66 6f 73 73 69  ..}..table.fossi
8160: 6c 5f 64 62 5f 67 65 6e 65 72 69 63 5f 71 75 65  l_db_generic_que
8170: 72 79 5f 76 69 65 77 20 74 72 2e 6f 64 64 20 7b  ry_view tr.odd {
8180: 0d 0a 20 20 62 61 63 6b 67 72 6f 75 6e 64 3a 20  ..  background: 
8190: 23 65 35 65 35 65 35 3b 0d 0a 7d 0d 0a 74 61 62  #e5e5e5;..}..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 2e 68 65 61 64 65 72 20 7b 0d 0a 20 20 62  tr.header {..  b
81d0: 61 63 6b 67 72 6f 75 6e 64 3a 20 23 35 35 38 31  ackground: #5581
81e0: 39 35 3b 0d 0a 20 20 66 6f 6e 74 2d 73 69 7a 65  95;..  font-size
81f0: 3a 20 31 2e 35 65 6d 3b 0d 0a 20 20 63 6f 6c 6f  : 1.5em;..  colo
8200: 72 3a 20 23 66 66 66 66 66 66 3b 0d 0a 7d 0d 0a  r: #ffffff;..}..
8210: 3c 2f 70 72 65 3e 0d 0a 3c 2f 6e 6f 77 69 6b 69  </pre>..</nowiki
8220: 3e 0d 0a 3c 68 32 3e 3c 61 20 6e 61 6d 65 3d 22  >..<h2><a name="
8230: 73 6f 75 72 63 65 2d 68 69 6c 69 67 68 74 22 3e  source-hilight">
8240: 53 6f 75 72 63 65 20 68 69 67 68 6c 69 67 68 74  Source highlight
8250: 69 6e 67 3c 2f 61 3e 3c 2f 68 32 3e 0d 0a 3c 68  ing</a></h2>..<h
8260: 33 3e 4d 6f 74 69 76 61 74 69 6f 6e 3c 2f 68 33  3>Motivation</h3
8270: 3e 0d 0a 20 20 2a 20 20 59 6f 75 20 77 61 6e 74  >..  *  You want
8280: 20 74 6f 20 68 61 76 65 20 73 6f 75 72 63 65 20   to have source 
8290: 63 6f 64 65 20 68 69 67 68 6c 69 67 68 74 69 6e  code highlightin
82a0: 67 20 66 6f 72 20 74 68 65 20 66 69 6c 65 73 20  g for the files 
82b0: 69 6e 20 79 6f 75 72 20 72 65 70 6f 73 69 74 6f  in your reposito
82c0: 72 79 0d 0a 0d 0a 3c 68 33 3e 50 72 6f 62 6c 65  ry....<h3>Proble
82d0: 6d 3c 2f 68 33 3e 0d 0a 54 68 65 20 6d 61 69 6e  m</h3>..The main
82e0: 20 70 75 72 70 6f 73 65 20 6f 66 20 46 6f 73 73   purpose of Foss
82f0: 69 6c 20 69 73 20 74 6f 20 64 6f 20 76 65 72 73  il is to do vers
8300: 69 6f 6e 69 6e 67 20 66 6f 72 20 73 6f 75 72 63  ioning for sourc
8310: 65 20 63 6f 64 65 2e 20 41 6c 74 68 6f 75 67 68  e code. Although
8320: 20 69 74 20 70 72 6f 76 69 64 65 73 20 61 20 73   it provides a s
8330: 74 61 6e 64 61 6c 6f 6e 65 20 73 65 72 76 65 72  tandalone server
8340: 20 61 6e 64 20 6c 65 74 73 20 79 6f 75 20 6e 61   and lets you na
8350: 76 69 67 61 74 65 20 74 68 72 6f 75 67 68 20 74  vigate through t
8360: 68 65 20 72 65 70 6f 73 69 74 6f 72 79 20 66 69  he repository fi
8370: 6c 65 73 20 61 64 64 69 74 69 6f 6e 61 6c 20 66  les additional f
8380: 65 61 74 75 72 65 73 20 6c 69 6b 65 20 73 6f 75  eatures like sou
8390: 72 63 65 20 63 6f 64 65 20 68 69 67 68 6c 69 67  rce code highlig
83a0: 68 74 69 6e 67 20 66 72 6f 6d 20 6d 79 20 70 65  hting from my pe
83b0: 72 73 70 65 63 74 69 76 65 20 28 49 20 61 6d 20  rspective (I am 
83c0: 6e 6f 74 20 61 20 64 65 76 65 6c 6f 70 65 72 20  not a developer 
83d0: 6f 66 20 46 6f 73 73 69 6c 29 20 61 72 65 20 6f  of Fossil) are o
83e0: 75 74 20 6f 66 20 73 63 6f 70 65 20 66 6f 72 20  ut of scope for 
83f0: 61 6e 20 53 43 4d 2e 20 4a 75 73 74 20 6b 65 65  an SCM. Just kee
8400: 70 20 74 68 65 20 55 6e 69 78 20 70 72 69 6e 63  p the Unix princ
8410: 69 70 6c 65 3a 20 73 6d 61 6c 6c 20 6c 69 74 74  iple: small litt
8420: 6c 65 20 70 72 6f 67 72 61 6d 73 20 74 68 61 74  le programs that
8430: 20 64 6f 20 74 68 65 69 72 20 74 61 73 6b 20 61   do their task a
8440: 6e 64 20 64 6f 20 69 74 20 77 65 6c 6c 2e 0d 0a  nd do it well...
8450: 0d 0a 48 6f 77 65 76 65 72 20 74 6f 20 68 61 76  ..However to hav
8460: 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 68 69  e source code hi
8470: 67 68 6c 69 67 68 74 65 64 20 69 6e 20 74 68 65  ghlighted in the
8480: 20 70 72 65 73 65 6e 74 65 64 20 77 65 62 20 70   presented web p
8490: 61 67 65 73 20 77 6f 75 6c 64 20 73 74 69 6c 6c  ages would still
84a0: 20 62 65 20 64 65 73 69 72 61 62 6c 65 2e 0d 0a   be desirable...
84b0: 0d 0a 3c 68 33 3e 53 6f 6c 75 74 69 6f 6e 3c 2f  ..<h3>Solution</
84c0: 68 33 3e 0d 0a 54 68 65 72 65 20 61 72 65 20 74  h3>..There are t
84d0: 77 6f 20 73 63 65 6e 61 72 69 6f 73 20 68 6f 77  wo scenarios how
84e0: 20 74 6f 20 69 6d 70 6c 65 6d 65 6e 74 20 73 75   to implement su
84f0: 63 68 20 61 20 66 65 61 74 75 72 65 3a 0d 0a 20  ch a feature:.. 
8500: 20 20 2a 20 20 46 6f 73 73 69 6c 20 70 69 70 65    *  Fossil pipe
8510: 73 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64  s the source cod
8520: 65 20 74 68 72 6f 75 67 68 20 61 20 66 69 6c 74  e through a filt
8530: 65 72 20 62 65 66 6f 72 65 20 73 65 6e 64 69 6e  er before sendin
8540: 67 20 69 74 20 74 6f 20 74 68 65 20 62 72 6f 77  g it to the brow
8550: 73 65 72 2e 20 54 68 65 20 66 69 6c 74 65 72 20  ser. The filter 
8560: 63 6f 75 6c 64 20 62 65 20 64 65 66 69 6e 65 64  could be defined
8570: 20 61 73 20 61 20 63 6f 6e 66 69 67 75 72 61 74   as a configurat
8580: 69 6f 6e 20 6f 70 74 69 6f 6e 20 74 6f 20 46 6f  ion option to Fo
8590: 73 73 69 6c 2e 20 4f 6e 65 20 73 6f 6c 75 74 69  ssil. One soluti
85a0: 6f 6e 20 66 6f 72 20 74 68 69 73 20 6d 69 67 68  on for this migh
85b0: 74 20 62 65 20 74 68 65 20 3c 61 20 68 72 65 66  t be the <a href
85c0: 3d 22 68 74 74 70 3a 2f 2f 77 77 77 2e 67 6e 75  ="http://www.gnu
85d0: 2e 6f 72 67 2f 73 6f 66 74 77 61 72 65 2f 73 72  .org/software/sr
85e0: 63 2d 68 69 67 68 6c 69 74 65 22 3e 47 4e 55 20  c-highlite">GNU 
85f0: 53 6f 75 72 63 65 20 63 6f 64 65 20 48 69 67 68  Source code High
8600: 6c 69 67 68 74 69 6e 67 3c 2f 61 3e 20 70 72 6f  lighting</a> pro
8610: 67 72 61 6d 2e 0d 0a 20 20 20 2a 20 20 55 73 65  gram...   *  Use
8620: 20 61 20 4a 61 76 61 73 63 72 69 70 74 20 6c 69   a Javascript li
8630: 62 72 61 72 79 20 74 68 61 74 20 72 65 6e 64 65  brary that rende
8640: 72 73 20 74 68 65 20 63 6f 64 65 20 77 69 74 68  rs the code with
8650: 69 6e 20 79 6f 75 72 20 62 72 6f 77 73 65 72 2e  in your browser.
8660: 20 4f 6e 65 20 73 6f 6c 75 74 69 6f 6e 20 66 6f   One solution fo
8670: 72 20 74 68 69 73 20 6d 69 67 68 74 20 62 65 20  r this might be 
8680: 3c 61 20 68 72 65 66 3d 22 68 74 74 70 3a 2f 2f  <a href="http://
8690: 63 6f 64 65 2e 67 6f 6f 67 6c 65 2e 63 6f 6d 2f  code.google.com/
86a0: 70 2f 73 79 6e 74 61 78 68 69 67 68 6c 69 67 68  p/syntaxhighligh
86b0: 74 65 72 22 3e 47 6f 6f 67 6c 65 20 53 79 6e 74  ter">Google Synt
86c0: 61 78 20 48 69 67 68 6c 69 67 68 74 65 72 3c 2f  ax Highlighter</
86d0: 61 3e 0d 0a 0d 0a 49 20 65 73 74 69 6d 61 74 65  a>....I estimate
86e0: 20 74 68 61 74 20 74 68 65 20 3c 69 3e 70 69 70   that the <i>pip
86f0: 65 3c 2f 69 3e 20 73 6f 6c 75 74 69 6f 6e 20 6e  e</i> solution n
8700: 65 65 64 73 20 73 6f 6d 65 20 6d 6f 72 65 20 77  eeds some more w
8710: 6f 72 6b 2f 20 63 6f 64 65 20 63 68 61 6e 67 65  ork/ code change
8720: 73 2e 20 54 68 75 73 20 49 20 61 6d 20 73 6f 6c  s. Thus I am sol
8730: 65 6c 79 20 6c 6f 6f 6b 69 6e 67 20 61 74 20 74  ely looking at t
8740: 68 65 20 4a 61 76 61 73 63 72 69 70 74 20 73 6f  he Javascript so
8750: 6c 75 74 69 6f 6e 2e 0d 0a 0d 0a 54 68 65 20 53  lution.....The S
8760: 79 6e 74 61 78 48 69 67 68 6c 69 67 68 74 65 72  yntaxHighlighter
8770: 20 69 73 20 61 20 6c 69 62 72 61 72 79 20 6f 66   is a library of
8780: 20 73 6f 6d 65 20 4a 61 76 61 73 63 72 69 70 74   some Javascript
8790: 20 66 69 6c 65 73 2c 20 61 20 6c 69 74 74 6c 65   files, a little
87a0: 20 46 6c 61 73 68 20 61 70 70 6c 69 63 61 74 69   Flash applicati
87b0: 6f 6e 20 61 6e 64 20 61 20 43 53 53 20 66 69 6c  on and a CSS fil
87c0: 65 2e 20 54 68 65 20 46 6c 61 73 68 20 61 70 70  e. The Flash app
87d0: 6c 69 63 61 74 69 6f 6e 20 69 73 20 66 6f 72 20  lication is for 
87e0: 63 6f 70 79 69 6e 67 20 74 6f 20 63 6c 69 70 62  copying to clipb
87f0: 6f 61 72 64 2c 20 70 72 69 6e 74 20 61 6e 64 20  oard, print and 
8800: 76 69 65 77 20 73 6f 75 72 63 65 2e 20 59 6f 75  view source. You
8810: 20 68 61 76 65 20 74 68 65 20 6f 70 74 69 6f 6e   have the option
8820: 20 74 6f 20 69 6e 63 6c 75 64 65 20 61 6c 6c 20   to include all 
8830: 74 68 65 20 66 69 6c 65 73 20 69 6e 74 6f 20 79  the files into y
8840: 6f 75 72 20 72 65 70 6f 73 69 74 6f 72 79 20 6f  our repository o
8850: 72 20 75 73 65 20 74 68 65 20 66 69 6c 65 73 20  r use the files 
8860: 68 6f 73 74 65 64 20 61 74 20 47 6f 6f 67 6c 65  hosted at Google
8870: 2e 20 54 68 65 20 6c 61 74 74 65 72 20 6d 61 79  . The latter may
8880: 20 6f 6e 6c 79 20 62 65 20 61 6e 20 6f 70 74 69   only be an opti
8890: 6f 6e 20 69 66 20 79 6f 75 20 61 72 65 20 63 6f  on if you are co
88a0: 6e 6e 65 63 74 65 64 20 74 6f 20 69 6e 74 65 72  nnected to inter
88b0: 6e 65 74 20 61 6c 6c 20 74 68 65 20 74 69 6d 65  net all the time
88c0: 2e 0d 0a 0d 0a 46 6f 72 20 73 79 6e 74 61 78 20  .....For syntax 
88d0: 68 69 67 68 6c 69 67 68 74 69 6e 67 20 74 6f 20  highlighting to 
88e0: 77 6f 72 6b 20 74 68 65 20 48 65 61 64 65 72 20  work the Header 
88f0: 61 6e 64 20 46 6f 6f 74 65 72 20 74 65 6d 70 6c  and Footer templ
8900: 61 74 65 73 20 6e 65 65 64 20 74 6f 20 62 65 20  ates need to be 
8910: 6d 6f 64 69 66 69 65 64 20 61 6e 64 20 61 20 6c  modified and a l
8920: 69 74 74 6c 65 20 63 6f 64 65 20 63 68 61 6e 67  ittle code chang
8930: 65 20 68 61 73 20 74 6f 20 62 65 20 61 70 70 6c  e has to be appl
8940: 69 65 64 20 74 6f 20 74 68 65 20 46 6f 73 73 69  ied to the Fossi
8950: 6c 20 73 6f 75 72 63 65 73 2e 0d 0a 54 68 65 20  l sources...The 
8960: 65 78 61 6d 70 6c 65 73 20 62 65 6c 6f 77 20 61  examples below a
8970: 73 73 75 6d 65 20 79 6f 75 20 68 61 76 65 20 61  ssume you have a
8980: 64 64 65 64 20 74 68 65 20 73 79 6e 74 61 78 20  dded the syntax 
8990: 68 69 67 68 6c 69 67 68 74 69 6e 67 20 6c 69 62  highlighting lib
89a0: 72 61 72 79 20 74 6f 20 79 6f 75 72 20 72 65 70  rary to your rep
89b0: 6f 73 69 74 6f 72 79 20 69 6e 74 6f 20 61 20 64  ository into a d
89c0: 69 72 65 63 74 6f 72 79 20 77 77 77 2f 73 63 72  irectory www/scr
89d0: 69 70 74 73 2e 0d 0a 3c 70 3e 0d 0a 3c 62 3e 48  ipts...<p>..<b>H
89e0: 65 61 64 65 72 3c 2f 62 3e 0d 0a 3c 70 72 65 3e  eader</b>..<pre>
89f0: 0d 0a 26 6c 74 3b 68 74 6d 6c 26 67 74 3b 0d 0a  ..&lt;html&gt;..
8a00: 20 26 6c 74 3b 68 65 61 64 26 67 74 3b 0d 0a 20   &lt;head&gt;.. 
8a10: 26 6c 74 3b 74 69 74 6c 65 26 67 74 3b 24 26 6c  &lt;title&gt;$&l
8a20: 74 3b 70 72 6f 6a 65 63 74 5f 6e 61 6d 65 26 67  t;project_name&g
8a30: 74 3b 3a 20 24 26 6c 74 3b 74 69 74 6c 65 26 67  t;: $&lt;title&g
8a40: 74 3b 26 6c 74 3b 2f 74 69 74 6c 65 26 67 74 3b  t;&lt;/title&gt;
8a50: 0d 0a 20 26 6c 74 3b 6c 69 6e 6b 20 72 65 6c 3d  .. &lt;link rel=
8a60: 22 61 6c 74 65 72 6e 61 74 65 22 20 74 79 70 65  "alternate" type
8a70: 3d 22 61 70 70 6c 69 63 61 74 69 6f 6e 2f 72 73  ="application/rs
8a80: 73 2b 78 6d 6c 22 20 74 69 74 6c 65 3d 22 52 53  s+xml" title="RS
8a90: 53 20 46 65 65 64 22 0d 0a 20 20 20 20 20 20 20  S Feed"..       
8aa0: 68 72 65 66 3d 22 24 62 61 73 65 75 72 6c 2f 74  href="$baseurl/t
8ab0: 69 6d 65 6c 69 6e 65 2e 72 73 73 22 26 67 74 3b  imeline.rss"&gt;
8ac0: 0d 0a 20 26 6c 74 3b 6c 69 6e 6b 20 72 65 6c 3d  .. &lt;link rel=
8ad0: 22 73 74 79 6c 65 73 68 65 65 74 22 20 68 72 65  "stylesheet" hre
8ae0: 66 3d 22 24 62 61 73 65 75 72 6c 2f 73 74 79 6c  f="$baseurl/styl
8af0: 65 2e 63 73 73 22 20 74 79 70 65 3d 22 74 65 78  e.css" type="tex
8b00: 74 2f 63 73 73 22 0d 0a 20 20 20 20 20 20 20 6d  t/css"..       m
8b10: 65 64 69 61 3d 22 73 63 72 65 65 6e 22 26 67 74  edia="screen"&gt
8b20: 3b 0d 0a 20 26 6c 74 3b 6c 69 6e 6b 20 72 65 6c  ;.. &lt;link rel
8b30: 3d 22 73 74 79 6c 65 73 68 65 65 74 22 20 68 72  ="stylesheet" hr
8b40: 65 66 3d 22 24 62 61 73 65 75 72 6c 2f 64 6f 63  ef="$baseurl/doc
8b50: 2f 74 69 70 2f 77 77 77 2f 53 79 6e 74 61 78 48  /tip/www/SyntaxH
8b60: 69 67 68 6c 69 67 68 74 65 72 2e 63 73 73 22 20  ighlighter.css" 
8b70: 74 79 70 65 3d 22 74 65 78 74 2f 63 73 73 22 0d  type="text/css".
8b80: 0a 20 20 20 20 20 20 20 6d 65 64 69 61 3d 22 73  .       media="s
8b90: 63 72 65 65 6e 22 26 67 74 3b 0d 0a 20 26 6c 74  creen"&gt;.. &lt
8ba0: 3b 2f 68 65 61 64 26 67 74 3b 0d 0a 0d 0a 2e 20  ;/head&gt;..... 
8bb0: 2e 20 2e 0d 0a 3c 2f 70 72 65 3e 0d 0a 3c 2f 70  . ...</pre>..</p
8bc0: 3e 3c 70 3e 0d 0a 3c 62 3e 46 6f 6f 74 65 72 3c  ><p>..<b>Footer<
8bd0: 2f 62 3e 0d 0a 3c 70 72 65 3e 0d 0a 26 6c 74 3b  /b>..<pre>..&lt;
8be0: 2f 64 69 76 26 67 74 3b 0d 0a 26 6c 74 3b 64 69  /div&gt;..&lt;di
8bf0: 76 20 63 6c 61 73 73 3d 22 66 6f 6f 74 65 72 22  v class="footer"
8c00: 26 67 74 3b 0d 0a 46 6f 73 73 69 6c 20 76 65 72  &gt;..Fossil ver
8c10: 73 69 6f 6e 20 24 6d 61 6e 69 66 65 73 74 5f 76  sion $manifest_v
8c20: 65 72 73 69 6f 6e 20 24 6d 61 6e 69 66 65 73 74  ersion $manifest
8c30: 5f 64 61 74 65 0d 0a 26 6c 74 3b 2f 64 69 76 26  _date..&lt;/div&
8c40: 67 74 3b 0d 0a 26 6c 74 3b 73 63 72 69 70 74 20  gt;..&lt;script 
8c50: 6c 61 6e 67 75 61 67 65 3d 22 6a 61 76 61 73 63  language="javasc
8c60: 72 69 70 74 22 20 73 72 63 3d 22 24 62 61 73 65  ript" src="$base
8c70: 75 72 6c 2f 64 6f 63 2f 74 69 70 2f 77 77 77 2f  url/doc/tip/www/
8c80: 73 63 72 69 70 74 73 2f 73 68 43 6f 72 65 2e 6a  scripts/shCore.j
8c90: 73 22 26 67 74 3b 26 6c 74 3b 2f 73 63 72 69 70  s"&gt;&lt;/scrip
8ca0: 74 26 67 74 3b 0d 0a 26 6c 74 3b 73 63 72 69 70  t&gt;..&lt;scrip
8cb0: 74 20 6c 61 6e 67 75 61 67 65 3d 22 6a 61 76 61  t language="java
8cc0: 73 63 72 69 70 74 22 20 73 72 63 3d 22 24 62 61  script" src="$ba
8cd0: 73 65 75 72 6c 2f 64 6f 63 2f 74 69 70 2f 77 77  seurl/doc/tip/ww
8ce0: 77 2f 73 63 72 69 70 74 73 2f 73 68 42 72 75 73  w/scripts/shBrus
8cf0: 68 43 70 70 2e 6a 73 22 26 67 74 3b 26 6c 74 3b  hCpp.js"&gt;&lt;
8d00: 2f 73 63 72 69 70 74 26 67 74 3b 0d 0a 26 6c 74  /script&gt;..&lt
8d10: 3b 73 63 72 69 70 74 20 6c 61 6e 67 75 61 67 65  ;script language
8d20: 3d 22 6a 61 76 61 73 63 72 69 70 74 22 26 67 74  ="javascript"&gt
8d30: 3b 0d 0a 64 70 2e 53 79 6e 74 61 78 48 69 67 68  ;..dp.SyntaxHigh
8d40: 6c 69 67 68 74 65 72 2e 43 6c 69 70 62 6f 61 72  lighter.Clipboar
8d50: 64 53 77 66 20 3d 20 27 24 62 61 73 65 75 72 6c  dSwf = '$baseurl
8d60: 2f 64 6f 63 2f 74 69 70 2f 77 77 77 2f 73 63 72  /doc/tip/www/scr
8d70: 69 70 74 73 2f 63 6c 69 70 62 6f 61 72 64 2e 73  ipts/clipboard.s
8d80: 77 66 27 3b 0d 0a 64 70 2e 53 79 6e 74 61 78 48  wf';..dp.SyntaxH
8d90: 69 67 68 6c 69 67 68 74 65 72 2e 48 69 67 68 6c  ighlighter.Highl
8da0: 69 67 68 74 41 6c 6c 28 27 63 6f 64 65 27 29 3b  ightAll('code');
8db0: 0d 0a 26 6c 74 3b 2f 73 63 72 69 70 74 26 67 74  ..&lt;/script&gt
8dc0: 3b 0d 0a 26 6c 74 3b 2f 62 6f 64 79 26 67 74 3b  ;..&lt;/body&gt;
8dd0: 26 6c 74 3b 2f 68 74 6d 6c 26 67 74 3b 0d 0a 3c  &lt;/html&gt;..<
8de0: 2f 70 72 65 3e 0d 0a 3c 2f 70 3e 3c 70 3e 0d 0a  /pre>..</p><p>..
8df0: 3c 62 3e 46 6f 73 73 69 6c 2f 73 72 63 2f 69 6e  <b>Fossil/src/in
8e00: 66 6f 2e 63 3c 2f 62 3e 20 66 75 6e 63 74 69 6f  fo.c</b> functio
8e10: 6e 20 61 72 74 69 66 61 63 74 5f 70 61 67 65 0d  n artifact_page.
8e20: 0a 3c 70 72 65 3e 0d 0a 69 66 28 20 7a 4d 69 6d  .<pre>..if( zMim
8e30: 65 3d 3d 30 20 29 7b 0d 0a 20 20 20 20 40 20 26  e==0 ){..    @ &
8e40: 6c 74 3b 70 72 65 20 6e 61 6d 65 3d 22 63 6f 64  lt;pre name="cod
8e50: 65 22 20 63 6c 61 73 73 3d 22 63 22 26 67 74 3b  e" class="c"&gt;
8e60: 0d 0a 20 20 20 20 40 20 25 68 28 62 6c 6f 62 5f  ..    @ %h(blob_
8e70: 73 74 72 28 26 63 6f 6e 74 65 6e 74 29 29 0d 0a  str(&content))..
8e80: 20 20 20 20 40 20 26 6c 74 3b 2f 70 72 65 26 67      @ &lt;/pre&g
8e90: 74 3b 0d 0a 3c 2f 70 72 65 3e 0d 0a 3c 2f 70 3e  t;..</pre>..</p>
8ea0: 0d 0a 3c 70 3e 0d 0a 49 66 20 79 6f 75 20 6f 6e  ..<p>..If you on
8eb0: 6c 79 20 65 78 70 65 63 74 20 6f 6e 65 20 6c 61  ly expect one la
8ec0: 6e 67 75 61 67 65 20 74 6f 20 62 65 20 68 69 67  nguage to be hig
8ed0: 68 6c 69 67 68 74 65 64 20 6f 6e 20 61 20 70 61  hlighted on a pa
8ee0: 67 65 2c 20 74 68 65 6e 20 79 6f 75 20 63 61 6e  ge, then you can
8ef0: 20 69 6d 70 6c 65 6d 65 6e 74 20 74 68 65 20 61   implement the a
8f00: 62 6f 76 65 20 77 69 74 68 6f 75 74 20 63 68 61  bove without cha
8f10: 6e 67 69 6e 67 20 74 68 65 20 46 6f 73 73 69 6c  nging the Fossil
8f20: 20 63 6f 64 65 2e 20 4a 75 73 74 20 75 73 65 20   code. Just use 
8f30: 4a 51 75 65 72 79 20 69 6e 20 74 68 65 20 68 65  JQuery in the he
8f40: 61 64 65 72 20 6c 69 6b 65 20 74 68 69 73 20 28  ader like this (
8f50: 74 68 69 73 20 65 78 61 6d 70 6c 65 20 69 73 20  this example is 
8f60: 66 6f 72 20 56 69 73 75 61 6c 20 42 61 73 69 63  for Visual Basic
8f70: 29 3a 0d 0a 3c 70 72 65 3e 0d 0a 3c 73 63 72 69  ):..<pre>..<scri
8f80: 70 74 20 73 72 63 3d 22 68 74 74 70 3a 2f 2f 63  pt src="http://c
8f90: 6f 64 65 2e 6a 71 75 65 72 79 2e 63 6f 6d 2f 6a  ode.jquery.com/j
8fa0: 71 75 65 72 79 2d 31 2e 34 2e 34 2e 6a 73 22 3e  query-1.4.4.js">
8fb0: 3c 2f 73 63 72 69 70 74 3e 0d 0a 3c 2f 70 72 65  </script>..</pre
8fc0: 3e 0d 0a 61 6e 64 20 69 6e 20 74 68 65 20 66 6f  >..and in the fo
8fd0: 6f 74 65 72 20 6c 69 6b 65 20 74 68 69 73 3a 0d  oter like this:.
8fe0: 0a 3c 70 72 65 3e 0d 0a 3c 73 63 72 69 70 74 3e  .<pre>..<script>
8ff0: 24 28 22 70 72 65 3a 6c 61 73 74 22 29 2e 61 64  $("pre:last").ad
9000: 64 43 6c 61 73 73 28 22 62 72 75 73 68 3a 20 76  dClass("brush: v
9010: 62 22 29 3b 3c 2f 73 63 72 69 70 74 3e 0d 0a 3c  b");</script>..<
9020: 73 63 72 69 70 74 3e 0d 0a 24 28 64 6f 63 75 6d  script>..$(docum
9030: 65 6e 74 29 2e 72 65 61 64 79 28 66 75 6e 63 74  ent).ready(funct
9040: 69 6f 6e 28 29 20 7b 53 79 6e 74 61 78 48 69 67  ion() {SyntaxHig
9050: 68 6c 69 67 68 74 65 72 2e 61 6c 6c 28 29 7d 29  hlighter.all()})
9060: 3b 20 20 20 20 20 0d 0a 3c 2f 73 63 72 69 70 74  ;     ..</script
9070: 3e 0d 0a 3c 2f 70 72 65 3e 0d 0a 3c 2f 70 3e 0d  >..</pre>..</p>.
9080: 0a 3c 68 33 3e 44 69 73 63 75 73 73 69 6f 6e 3c  .<h3>Discussion<
9090: 2f 68 33 3e 0d 0a 54 68 65 20 4a 61 76 61 73 63  /h3>..The Javasc
90a0: 72 69 70 74 20 73 6f 6c 75 74 69 6f 6e 20 72 65  ript solution re
90b0: 71 75 69 72 65 73 20 61 20 6d 69 6e 69 6d 75 6d  quires a minimum
90c0: 20 74 6f 20 62 65 20 66 75 6c 6c 79 20 73 75 70   to be fully sup
90d0: 70 6f 72 74 65 64 20 62 79 20 46 6f 73 73 69 6c  ported by Fossil
90e0: 2e 20 4f 66 20 63 6f 75 72 73 65 20 6d 79 20 6c  . Of course my l
90f0: 69 74 74 65 20 63 68 61 6e 67 65 20 6f 6e 6c 79  itte change only
9100: 20 61 70 70 6c 69 65 73 20 66 6f 72 20 43 2f 43   applies for C/C
9110: 2b 2b 20 66 69 6c 65 73 2e 20 42 75 74 20 6f 6e  ++ files. But on
9120: 6c 79 20 6c 69 74 74 6c 65 20 6d 6f 72 65 20 77  ly little more w
9130: 6f 72 6b 20 6e 65 65 64 73 20 74 6f 20 62 65 20  ork needs to be 
9140: 64 6f 6e 65 20 74 6f 20 67 65 74 20 74 68 65 20  done to get the 
9150: 65 78 74 65 6e 73 69 6f 6e 20 6f 66 20 74 68 65  extension of the
9160: 20 66 69 6c 65 20 61 20 67 75 65 73 73 20 74 68   file a guess th
9170: 65 20 66 69 6c 65 20 74 79 70 65 2e 0d 0a 0d 0a  e file type.....
9180: 54 68 65 20 70 69 70 65 20 73 6f 6c 75 74 69 6f  The pipe solutio
9190: 6e 20 77 6f 75 6c 64 20 61 6c 73 6f 20 62 65 20  n would also be 
91a0: 6e 69 63 65 20 62 75 74 20 77 6f 75 6c 64 20 70  nice but would p
91b0: 72 6f 62 61 62 6c 79 20 6e 65 65 64 20 73 6f 6d  robably need som
91c0: 65 20 6d 6f 72 65 20 77 6f 72 6b 20 74 68 61 6e  e more work than
91d0: 20 74 68 69 73 20 6c 69 74 74 6c 65 20 70 61 74   this little pat
91e0: 63 68 2e 0d 0a 0d 0a 3c 68 32 3e 3c 61 20 6e 61  ch.....<h2><a na
91f0: 6d 65 3d 22 77 69 6e 33 32 64 65 76 22 3e 48 6f  me="win32dev">Ho
9200: 77 20 74 6f 20 70 72 65 70 61 72 65 20 79 6f 75  w to prepare you
9210: 72 20 57 69 6e 64 6f 77 73 20 58 50 20 46 6f 73  r Windows XP Fos
9220: 73 69 6c 20 64 65 76 65 6c 6f 70 6d 65 6e 74 20  sil development 
9230: 45 6e 76 69 72 6f 6e 6d 65 6e 74 3c 2f 61 3e 3c  Environment</a><
9240: 2f 68 32 3e 0d 0a 3c 68 34 3e 4d 69 6e 47 57 2b  /h2>..<h4>MinGW+
9250: 4e 53 49 53 2f 57 69 58 3c 2f 68 34 3e 0d 0a 3c  NSIS/WiX</h4>..<
9260: 75 6c 3e 0d 0a 3c 6c 69 3e 53 65 74 75 70 20 54  ul>..<li>Setup T
9270: 43 4c 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 53 65 74  CL</li>..<li>Set
9280: 75 70 20 4d 69 6e 47 57 3c 2f 6c 69 3e 0d 0a 3c  up MinGW</li>..<
9290: 6c 69 3e 47 65 74 74 69 6e 67 20 4e 53 49 53 20  li>Getting NSIS 
92a0: 57 69 6e 64 6f 77 73 20 70 61 63 6b 61 67 69 6e  Windows packagin
92b0: 67 20 74 6f 6f 6c 20 3c 2f 6c 69 3e 0d 0a 3c 6c  g tool </li>..<l
92c0: 69 3e 47 65 74 74 69 6e 67 20 46 6f 73 73 69 6c  i>Getting Fossil
92d0: 20 73 6f 75 72 63 65 20 63 6f 64 65 3c 2f 6c 69   source code</li
92e0: 3e 0d 0a 3c 6c 69 3e 42 75 69 6c 64 20 74 68 65  >..<li>Build the
92f0: 20 63 6f 64 65 20 77 69 74 68 20 4d 61 6b 65 66   code with Makef
9300: 69 6c 65 2e 77 69 6e 33 32 20 3c 2f 6c 69 3e 0d  ile.win32 </li>.
9310: 0a 3c 2f 75 6c 3e 0d 0a 3c 68 34 3e 56 69 73 75  .</ul>..<h4>Visu
9320: 61 6c 20 53 74 75 64 69 6f 20 45 78 70 72 65 73  al Studio Expres
9330: 73 20 32 30 30 38 2b 57 69 58 3c 2f 68 34 3e 0d  s 2008+WiX</h4>.
9340: 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 53 65 74 75 70  .<ul>..<li>Setup
9350: 20 54 43 4c 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 53   TCL</li>..<li>S
9360: 65 74 75 70 20 56 53 32 30 30 38 3c 2f 6c 69 3e  etup VS2008</li>
9370: 0d 0a 3c 6c 69 3e 47 65 74 74 69 6e 67 20 57 69  ..<li>Getting Wi
9380: 58 20 57 69 6e 64 6f 77 73 20 4d 53 49 20 74 6f  X Windows MSI to
9390: 6f 6c 20 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 47 65  ol </li>..<li>Ge
93a0: 74 74 69 6e 67 20 46 6f 73 73 69 6c 20 73 6f 75  tting Fossil sou
93b0: 72 63 65 20 63 6f 64 65 3c 2f 6c 69 3e 0d 0a 3c  rce code</li>..<
93c0: 6c 69 3e 42 75 69 6c 64 20 74 68 65 20 63 6f 64  li>Build the cod
93d0: 65 20 77 69 74 68 20 4d 61 6b 65 66 69 6c 65 2e  e with Makefile.
93e0: 77 69 6e 33 32 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c  win32</li>..</ul
93f0: 3e 0d 0a 0d 0a 3c 68 32 3e 3c 61 20 6e 61 6d 65  >....<h2><a name
9400: 3d 22 77 79 73 69 77 69 67 22 3e 4a 61 76 61 73  ="wysiwig">Javas
9410: 63 72 69 70 74 20 48 54 4d 4c 20 57 59 53 49 57  cript HTML WYSIW
9420: 59 47 20 65 64 69 74 6f 72 20 63 6f 6e 74 72 6f  YG editor contro
9430: 6c 3c 2f 61 3e 3c 2f 68 32 3e 0d 0a 3c 68 33 3e  l</a></h2>..<h3>
9440: 4d 6f 74 69 76 61 74 69 6f 6e 3c 2f 68 33 3e 0d  Motivation</h3>.
9450: 0a 20 20 2a 20 20 59 6f 75 20 77 61 6e 74 20 74  .  *  You want t
9460: 6f 20 65 64 69 74 20 74 68 65 20 77 69 6b 69 20  o edit the wiki 
9470: 70 61 67 65 73 20 77 69 74 68 20 61 20 6e 69 63  pages with a nic
9480: 65 20 65 64 69 74 6f 72 20 63 6f 6d 70 6f 6e 65  e editor compone
9490: 6e 74 2c 20 69 6e 73 74 65 61 64 20 6f 66 20 75  nt, instead of u
94a0: 73 69 6e 67 20 70 6c 61 69 6e 20 48 54 4d 4c 2e  sing plain HTML.
94b0: 0d 0a 0d 0a 3c 68 33 3e 50 72 6f 62 6c 65 6d 3c  ....<h3>Problem<
94c0: 2f 68 33 3e 0d 0a 46 6f 73 73 69 6c 20 62 79 20  /h3>..Fossil by 
94d0: 69 74 73 65 6c 66 20 64 6f 65 73 6e 27 74 20 73  itself doesn't s
94e0: 75 70 70 6f 72 74 20 69 74 2e 0d 0a 0d 0a 3c 68  upport it.....<h
94f0: 33 3e 53 6f 6c 75 74 69 6f 6e 3c 2f 68 33 3e 0d  3>Solution</h3>.
9500: 0a 54 68 65 72 65 20 61 72 65 20 70 75 72 65 20  .There are pure 
9510: 6a 61 76 61 73 63 72 69 70 74 20 65 64 69 74 6f  javascript edito
9520: 72 20 63 6f 6d 70 6f 6e 65 6e 74 73 20 74 68 61  r components tha
9530: 74 20 63 61 6e 20 62 65 20 75 73 65 64 20 66 6f  t can be used fo
9540: 72 20 74 68 69 73 20 74 61 73 6b 2e 0d 0a 54 68  r this task...Th
9550: 65 20 73 6f 75 72 63 65 20 66 6f 72 20 74 68 65  e source for the
9560: 20 65 64 69 74 6f 72 20 63 6f 6d 70 6f 6e 65 6e   editor componen
9570: 74 20 69 73 20 61 64 64 65 64 20 74 6f 20 74 68  t is added to th
9580: 65 20 72 65 70 6f 73 69 74 6f 72 79 2e 20 54 68  e repository. Th
9590: 65 20 68 74 6d 6c 20 68 65 61 64 65 72 20 6f 72  e html header or
95a0: 20 66 6f 6f 74 65 72 20 69 73 20 70 72 65 70 61   footer is prepa
95b0: 72 65 64 20 74 6f 20 69 6e 63 6c 75 64 65 20 61  red to include a
95c0: 20 6a 61 76 61 73 63 72 69 70 74 20 66 69 6c 65   javascript file
95d0: 20 61 6e 64 2f 6f 72 20 61 20 43 53 53 2e 0d 0a   and/or a CSS...
95e0: 3c 62 72 3e 0d 0a 54 68 65 73 65 20 74 77 6f 20  <br>..These two 
95f0: 74 69 70 73 20 61 72 65 20 66 72 6f 6d 20 74 68  tips are from th
9600: 65 20 6d 61 69 6c 69 6e 67 20 6c 69 73 74 3a 0d  e mailing list:.
9610: 0a 52 65 6e 65 20 64 65 20 5a 77 61 72 74 20 33  .Rene de Zwart 3
9620: 30 2e 20 4f 63 74 2e 20 32 30 30 39 0d 0a 0d 0a  0. Oct. 2009....
9630: 3c 61 20 6e 61 6d 65 3d 22 74 69 6e 79 6d 63 65  <a name="tinymce
9640: 22 3e 3c 68 34 3e 54 69 6e 79 4d 43 45 3c 2f 68  "><h4>TinyMCE</h
9650: 34 3e 3c 2f 61 3e 0d 0a 3c 70 3e 0d 0a 53 6f 75  4></a>..<p>..Sou
9660: 72 63 65 3a 20 3c 61 20 68 72 65 66 3d 22 68 74  rce: <a href="ht
9670: 74 70 3a 2f 2f 74 69 6e 79 6d 63 65 2e 6d 6f 78  tp://tinymce.mox
9680: 69 65 63 6f 64 65 2e 63 6f 6d 2f 22 3e 20 54 69  iecode.com/"> Ti
9690: 6e 79 4d 43 45 20 3c 2f 61 3e 0d 0a 3c 2f 70 3e  nyMCE </a>..</p>
96a0: 0d 0a 3c 68 35 3e 20 45 78 61 6d 70 6c 65 3c 2f  ..<h5> Example</
96b0: 68 35 3e 0d 0a 3c 70 72 65 20 63 6c 61 73 73 3d  h5>..<pre class=
96c0: 22 76 65 72 62 61 74 69 6d 22 3e 0d 0a 20 20 20  "verbatim">..   
96d0: 20 6d 6b 64 69 72 20 74 69 6e 79 0d 0a 20 20 20   mkdir tiny..   
96e0: 20 6d 6b 64 69 72 20 74 69 6e 79 2f 6a 61 76 61   mkdir tiny/java
96f0: 73 63 72 69 70 74 0d 0a 20 20 20 20 66 6f 73 73  script..    foss
9700: 69 6c 20 6e 65 77 20 74 69 6e 79 6d 63 65 2e 66  il new tinymce.f
9710: 73 6c 0d 0a 20 20 20 20 66 6f 73 73 69 6c 20 75  sl..    fossil u
9720: 69 20 74 69 6e 79 6d 63 65 2e 66 73 6c 20 7b 63  i tinymce.fsl {c
9730: 6f 6e 66 69 67 75 72 65 20 74 68 65 20 70 72 6f  onfigure the pro
9740: 6a 65 63 74 29 0d 0a 20 20 20 20 64 6f 77 6e 6c  ject)..    downl
9750: 6f 61 64 20 74 69 6e 79 6d 63 65 0d 0a 20 20 20  oad tinymce..   
9760: 20 75 6e 7a 69 70 20 69 6e 20 74 69 6e 79 2f 6a   unzip in tiny/j
9770: 61 76 61 73 63 72 69 70 74 0d 0a 20 20 20 20 63  avascript..    c
9780: 64 20 74 69 6e 79 0d 0a 20 20 20 20 66 6f 73 73  d tiny..    foss
9790: 69 6c 20 6f 70 65 6e 20 2e 2e 2f 74 69 6e 79 6d  il open ../tinym
97a0: 63 65 2e 66 73 6c 0d 0a 20 20 20 20 66 6f 73 73  ce.fsl..    foss
97b0: 69 6c 20 61 64 64 20 6a 61 76 61 73 63 72 69 70  il add javascrip
97c0: 74 0d 0a 20 20 20 20 66 6f 73 73 69 6c 20 63 6f  t..    fossil co
97d0: 6d 6d 69 74 20 2d 6d 20 22 61 64 64 65 64 20 74  mmit -m "added t
97e0: 69 6d 79 6d 63 65 20 74 6f 20 74 68 65 20 70 72  imymce to the pr
97f0: 6f 6a 65 63 74 22 0d 0a 20 20 20 20 66 6f 73 73  oject"..    foss
9800: 69 6c 20 75 69 0d 0a 3c 2f 70 72 65 3e 0d 0a 53  il ui..</pre>..S
9810: 65 6c 65 63 74 20 61 64 6d 69 6e 2f 68 65 61 64  elect admin/head
9820: 65 72 73 20 61 64 64 20 61 66 74 65 72 20 74 68  ers add after th
9830: 65 20 26 6c 74 3b 2f 6c 69 6e 6b 26 67 74 3b 0d  e &lt;/link&gt;.
9840: 0a 3c 70 72 65 20 63 6c 61 73 73 3d 22 76 65 72  .<pre class="ver
9850: 62 61 74 69 6d 22 3e 0d 0a 20 26 6c 74 3b 74 68  batim">.. &lt;th
9860: 31 26 67 74 3b 0d 0a 20 20 20 69 66 20 7b 20 22  1&gt;..   if { "
9870: 74 6b 74 6e 65 77 22 20 65 71 20 24 63 75 72 72  tktnew" eq $curr
9880: 65 6e 74 5f 70 61 67 65 20 0d 0a 20 20 20 09 7c  ent_page ..   .|
9890: 7c 20 22 74 6b 74 65 64 69 74 22 20 65 71 20 24  | "tktedit" eq $
98a0: 63 75 72 72 65 6e 74 5f 70 61 67 65 20 0d 0a 20  current_page .. 
98b0: 20 20 09 7c 7c 20 22 77 69 6b 69 65 64 69 74 22    .|| "wikiedit"
98c0: 20 65 71 20 24 63 75 72 72 65 6e 74 5f 70 61 67   eq $current_pag
98d0: 65 20 0d 0a 20 20 20 09 7c 7c 20 22 77 69 6b 69  e ..   .|| "wiki
98e0: 61 70 70 65 6e 64 22 20 65 71 20 24 63 75 72 72  append" eq $curr
98f0: 65 6e 74 5f 70 61 67 65 20 7d 20 7b 0d 0a 20 20  ent_page } {..  
9900: 20 20 20 20 20 68 74 6d 6c 20 22 3c 73 63 72 69       html "<scri
9910: 70 74 20 74 79 70 65 3d 27 74 65 78 74 2f 6a 61  pt type='text/ja
9920: 76 61 73 63 72 69 70 74 27 5c 6e 22 0d 0a 20 20  vascript'\n"..  
9930: 20 20 20 20 20 68 74 6d 6c 20 22 73 72 63 3d 27       html "src='
9940: 2f 64 6f 63 2f 74 69 70 2f 6a 61 76 61 73 63 72  /doc/tip/javascr
9950: 69 70 74 2f 74 69 6e 79 6d 63 65 2f 6a 73 63 72  ipt/tinymce/jscr
9960: 69 70 74 73 2f 74 69 6e 79 5f 6d 63 65 2f 74 69  ipts/tiny_mce/ti
9970: 6e 79 5f 6d 63 65 2e 6a 73 27 3e 5c 6e 22 0d 0a  ny_mce.js'>\n"..
9980: 20 20 20 20 20 20 20 68 74 6d 6c 20 22 3c 2f 73         html "</s
9990: 63 72 69 70 74 3e 5c 6e 22 0d 0a 20 20 20 20 20  cript>\n"..     
99a0: 20 20 68 74 6d 6c 20 22 20 3c 73 63 72 69 70 74    html " <script
99b0: 20 74 79 70 65 3d 27 74 65 78 74 2f 6a 61 76 61   type='text/java
99c0: 73 63 72 69 70 74 27 3e 5c 6e 22 0d 0a 20 20 20  script'>\n"..   
99d0: 20 20 20 20 70 75 74 73 20 22 74 69 6e 79 4d 43      puts "tinyMC
99e0: 45 2e 69 6e 69 74 28 7b 20 6d 6f 64 65 20 3a 20  E.init({ mode : 
99f0: 27 73 70 65 63 69 66 69 63 5f 74 65 78 74 61 72  'specific_textar
9a00: 65 61 73 27 20 2c 20 65 64 69 74 6f 72 5f 73 65  eas' , editor_se
9a10: 6c 65 63 74 6f 72 20 3a 20 27 77 69 6b 69 65 64  lector : 'wikied
9a20: 69 74 27 2c 20 74 68 65 6d 65 3a 20 27 61 64 76  it', theme: 'adv
9a30: 61 6e 63 65 64 27 2c 77 69 64 74 68 20 3a 20 27  anced',width : '
9a40: 39 30 25 27 20 7d 20 29 3b 22 0d 0a 20 20 20 20  90%' } );"..    
9a50: 20 20 20 68 74 6d 6c 20 22 3c 2f 73 63 72 69 70     html "</scrip
9a60: 74 3e 5c 6e 22 0d 0a 20 20 20 7d 0d 0a 26 6c 74  t>\n"..   }..&lt
9a70: 3b 2f 74 68 31 26 67 74 3b 0d 0a 3c 2f 70 72 65  ;/th1&gt;..</pre
9a80: 3e 0d 0a 61 6e 64 20 73 61 76 65 2e 0d 0a 3c 61  >..and save...<a
9a90: 20 6e 61 6d 65 3d 22 6d 61 72 6b 69 74 75 70 22   name="markitup"
9aa0: 3e 3c 68 33 3e 6d 61 72 6b 69 74 75 70 21 3c 2f  ><h3>markitup!</
9ab0: 68 33 3e 3c 2f 61 3e 0d 0a 3c 70 3e 0d 0a 53 6f  h3></a>..<p>..So
9ac0: 75 72 63 65 3a 20 3c 61 20 68 72 65 66 3d 22 68  urce: <a href="h
9ad0: 74 74 70 3a 2f 2f 6d 61 72 6b 69 74 75 70 2e 6a  ttp://markitup.j
9ae0: 61 79 73 61 6c 76 61 74 2e 63 6f 6d 2f 68 6f 6d  aysalvat.com/hom
9af0: 65 2f 22 3e 20 4d 61 72 6b 69 74 75 70 20 3c 2f  e/"> Markitup </
9b00: 61 3e 0d 0a 3c 2f 70 3e 0d 0a 3c 68 35 3e 20 45  a>..</p>..<h5> E
9b10: 78 61 6d 70 6c 65 3c 2f 68 35 3e 0d 0a 3c 70 72  xample</h5>..<pr
9b20: 65 20 63 6c 61 73 73 3d 22 76 65 72 62 61 74 69  e class="verbati
9b30: 6d 22 3e 0d 0a 20 20 20 20 6d 6b 64 69 72 20 6d  m">..    mkdir m
9b40: 61 72 6b 69 74 75 70 0d 0a 20 20 20 20 6d 6b 64  arkitup..    mkd
9b50: 69 72 20 6d 61 72 6b 69 74 75 70 2f 6a 61 76 61  ir markitup/java
9b60: 73 63 72 69 70 74 0d 0a 20 20 20 20 66 6f 73 73  script..    foss
9b70: 69 6c 20 6e 65 77 20 6d 61 72 6b 69 74 75 70 2e  il new markitup.
9b80: 66 73 6c 0d 0a 20 20 20 20 66 6f 73 73 69 6c 20  fsl..    fossil 
9b90: 75 69 20 6d 61 72 6b 69 74 75 70 2e 66 73 6c 20  ui markitup.fsl 
9ba0: 7b 63 6f 6e 66 69 67 75 72 65 20 74 68 65 20 70  {configure the p
9bb0: 72 6f 6a 65 63 74 29 0d 0a 20 20 20 20 64 6f 77  roject)..    dow
9bc0: 6e 6c 6f 61 64 20 6d 61 72 6b 69 74 75 70 20 61  nload markitup a
9bd0: 6e 64 20 6a 71 75 65 72 79 0d 0a 20 20 20 20 75  nd jquery..    u
9be0: 6e 7a 69 70 20 69 6e 20 6d 61 72 6b 69 74 75 70  nzip in markitup
9bf0: 2f 6a 61 76 61 73 63 72 69 70 74 2c 20 63 64 20  /javascript, cd 
9c00: 6c 61 74 65 73 74 2c 20 6d 76 20 2a 20 2e 2e 2c  latest, mv * ..,
9c10: 20 72 6d 64 69 72 20 6c 61 74 65 73 74 0d 0a 20   rmdir latest.. 
9c20: 20 20 20 63 6f 70 79 20 6a 71 75 65 72 79 2d 2e     copy jquery-.
9c30: 2e 2e 2e 6a 73 20 74 6f 20 6a 61 76 61 73 63 72  ...js to javascr
9c40: 69 70 74 2f 6a 71 75 65 72 79 2e 6a 73 0d 0a 20  ipt/jquery.js.. 
9c50: 20 20 20 63 64 20 6d 61 72 6b 69 74 75 70 0d 0a     cd markitup..
9c60: 20 20 20 20 66 6f 73 73 69 6c 20 6f 70 65 6e 20      fossil open 
9c70: 2e 2e 2f 6d 61 72 6b 69 74 75 70 2e 66 73 6c 0d  ../markitup.fsl.
9c80: 0a 20 20 20 20 66 6f 73 73 69 6c 20 61 64 64 20  .    fossil add 
9c90: 6a 61 76 61 73 63 72 69 70 74 0d 0a 20 20 20 20  javascript..    
9ca0: 66 6f 73 73 69 6c 20 63 6f 6d 6d 69 74 20 2d 6d  fossil commit -m
9cb0: 20 22 61 64 64 65 64 20 6d 61 72 6b 69 74 75 70   "added markitup
9cc0: 20 61 6e 20 6a 71 75 65 72 79 20 74 6f 20 74 68   an jquery to th
9cd0: 65 20 70 72 6f 6a 65 63 74 22 0d 0a 20 20 20 20  e project"..    
9ce0: 66 6f 73 73 69 6c 20 75 69 0d 0a 3c 2f 70 72 65  fossil ui..</pre
9cf0: 3e 0d 0a 73 65 6c 65 63 74 20 61 64 6d 69 6e 2f  >..select admin/
9d00: 68 65 61 64 65 72 73 20 61 64 64 20 61 66 74 65  headers add afte
9d10: 72 20 74 68 65 20 3c 2f 6c 69 6e 6b 3e 20 70 75  r the </link> pu
9d20: 74 0d 0a 3c 70 72 65 20 63 6c 61 73 73 3d 22 76  t..<pre class="v
9d30: 65 72 62 61 74 69 6d 22 3e 0d 0a 20 20 20 20 26  erbatim">..    &
9d40: 6c 74 3b 6c 69 6e 6b 20 72 65 6c 3d 22 73 74 79  lt;link rel="sty
9d50: 6c 65 73 68 65 65 74 22 20 74 79 70 65 3d 22 74  lesheet" type="t
9d60: 65 78 74 2f 63 73 73 22 20 68 72 65 66 3d 22 2f  ext/css" href="/
9d70: 64 6f 63 2f 74 69 70 2f 6a 61 76 61 73 63 72 69  doc/tip/javascri
9d80: 70 74 2f 6d 61 72 6b 69 74 75 70 2f 73 6b 69 6e  pt/markitup/skin
9d90: 73 2f 6d 61 72 6b 69 74 75 70 2f 73 74 79 6c 65  s/markitup/style
9da0: 2e 63 73 73 22 20 2f 26 67 74 3b 0d 0a 20 20 20  .css" /&gt;..   
9db0: 20 26 6c 74 3b 6c 69 6e 6b 20 72 65 6c 3d 22 73   &lt;link rel="s
9dc0: 74 79 6c 65 73 68 65 65 74 22 20 74 79 70 65 3d  tylesheet" type=
9dd0: 22 74 65 78 74 2f 63 73 73 22 20 68 72 65 66 3d  "text/css" href=
9de0: 22 2f 64 6f 63 2f 74 69 70 2f 6a 61 76 61 73 63  "/doc/tip/javasc
9df0: 72 69 70 74 2f 6d 61 72 6b 69 74 75 70 2f 73 65  ript/markitup/se
9e00: 74 73 2f 64 65 66 61 75 6c 74 2f 73 74 79 6c 65  ts/default/style
9e10: 2e 63 73 73 22 20 2f 26 67 74 3b 0d 0a 20 20 20  .css" /&gt;..   
9e20: 20 26 6c 74 3b 73 63 72 69 70 74 20 74 79 70 65   &lt;script type
9e30: 3d 22 74 65 78 74 2f 6a 61 76 61 73 63 72 69 70  ="text/javascrip
9e40: 74 22 20 73 72 63 3d 22 2f 64 6f 63 2f 74 69 70  t" src="/doc/tip
9e50: 2f 6a 61 76 61 73 63 72 69 70 74 2f 6a 71 75 65  /javascript/jque
9e60: 72 79 2e 6a 73 22 26 67 74 3b 0d 0a 20 20 20 20  ry.js"&gt;..    
9e70: 26 6c 74 3b 2f 73 63 72 69 70 74 26 67 74 3b 0d  &lt;/script&gt;.
9e80: 0a 20 20 20 20 26 6c 74 3b 73 63 72 69 70 74 20  .    &lt;script 
9e90: 74 79 70 65 3d 22 74 65 78 74 2f 6a 61 76 61 73  type="text/javas
9ea0: 63 72 69 70 74 22 20 73 72 63 3d 22 2f 64 6f 63  cript" src="/doc
9eb0: 2f 74 69 70 2f 6a 61 76 61 73 63 72 69 70 74 2f  /tip/javascript/
9ec0: 6d 61 72 6b 69 74 75 70 2f 6a 71 75 65 72 79 2e  markitup/jquery.
9ed0: 6d 61 72 6b 69 74 75 70 2e 6a 73 22 26 67 74 3b  markitup.js"&gt;
9ee0: 0d 0a 20 20 20 20 26 6c 74 3b 2f 73 63 72 69 70  ..    &lt;/scrip
9ef0: 74 26 67 74 3b 0d 0a 3c 2f 70 72 65 3e 0d 0a 0d  t&gt;..</pre>...
9f00: 0a 61 6e 64 20 73 61 76 65 0d 0a 73 65 6c 65 63  .and save..selec
9f10: 74 20 61 64 6d 69 6e 2f 66 6f 6f 74 65 72 20 61  t admin/footer a
9f20: 64 64 20 61 62 6f 76 65 20 74 68 65 20 66 69 72  dd above the fir
9f30: 73 74 20 6c 69 6e 65 0d 0a 0d 0a 3c 70 72 65 20  st line....<pre 
9f40: 63 6c 61 73 73 3d 22 76 65 72 62 61 74 69 6d 22  class="verbatim"
9f50: 3e 0d 0a 20 20 20 20 26 6c 74 3b 73 63 72 69 70  >..    &lt;scrip
9f60: 74 20 74 79 70 65 3d 27 74 65 78 74 2f 6a 61 76  t type='text/jav
9f70: 61 73 63 72 69 70 74 27 26 67 74 3b 0d 0a 20 20  ascript'&gt;..  
9f80: 20 20 20 20 76 61 72 20 6d 20 3d 20 64 6f 63 75      var m = docu
9f90: 6d 65 6e 74 2e 67 65 74 45 6c 65 6d 65 6e 74 73  ment.getElements
9fa0: 42 79 54 61 67 4e 61 6d 65 28 27 74 65 78 74 61  ByTagName('texta
9fb0: 72 65 61 27 29 0d 0a 20 20 20 20 20 20 76 61 72  rea')..      var
9fc0: 20 6c 20 3d 20 6d 2e 6c 65 6e 67 74 68 0d 0a 20   l = m.length.. 
9fd0: 20 20 20 20 20 76 61 72 20 6e 0d 0a 20 20 20 20       var n..    
9fe0: 20 20 3c 6e 6f 77 69 6b 69 3e 76 61 72 20 6d 79    <nowiki>var my
9ff0: 53 65 74 74 69 6e 67 73 20 3d 20 7b 0d 0a 09 6e  Settings = {...n
a000: 61 6d 65 53 70 61 63 65 3a 20 20 20 20 20 20 20  ameSpace:       
a010: 22 68 74 6d 6c 22 2c 20 2f 2f 20 55 73 65 66 75  "html", // Usefu
a020: 6c 20 74 6f 20 70 72 65 76 65 6e 74 20 6d 75 6c  l to prevent mul
a030: 74 69 2d 69 6e 73 74 61 6e 63 65 73 20 43 53 53  ti-instances CSS
a040: 20 63 6f 6e 66 6c 69 63 74 0d 0a 09 6f 6e 53 68   conflict...onSh
a050: 69 66 74 45 6e 74 65 72 3a 20 20 20 20 7b 6b 65  iftEnter:    {ke
a060: 65 70 44 65 66 61 75 6c 74 3a 66 61 6c 73 65 2c  epDefault:false,
a070: 20 72 65 70 6c 61 63 65 57 69 74 68 3a 27 26 6c   replaceWith:'&l
a080: 74 3b 62 72 20 2f 26 67 74 3b 5c 6e 27 7d 2c 0d  t;br /&gt;\n'},.
a090: 0a 09 6f 6e 43 74 72 6c 45 6e 74 65 72 3a 20 20  ..onCtrlEnter:  
a0a0: 20 20 20 7b 6b 65 65 70 44 65 66 61 75 6c 74 3a     {keepDefault:
a0b0: 66 61 6c 73 65 2c 20 6f 70 65 6e 57 69 74 68 3a  false, openWith:
a0c0: 27 5c 6e 26 6c 74 3b 70 26 67 74 3b 27 2c 20 63  '\n&lt;p&gt;', c
a0d0: 6c 6f 73 65 57 69 74 68 3a 27 26 6c 74 3b 2f 70  loseWith:'&lt;/p
a0e0: 26 67 74 3b 5c 6e 27 7d 2c 0d 0a 09 6f 6e 54 61  &gt;\n'},...onTa
a0f0: 62 3a 20 20 20 20 20 20 20 20 20 20 20 7b 6b 65  b:           {ke
a100: 65 70 44 65 66 61 75 6c 74 3a 66 61 6c 73 65 2c  epDefault:false,
a110: 20 6f 70 65 6e 57 69 74 68 3a 27 20 20 20 20 20   openWith:'     
a120: 27 7d 2c 0d 0a 09 6d 61 72 6b 75 70 53 65 74 3a  '},...markupSet:
a130: 20 20 5b 0d 0a 09 20 20 20 20 7b 6e 61 6d 65 3a    [...    {name:
a140: 27 48 65 61 64 69 6e 67 20 31 27 2c 20 6b 65 79  'Heading 1', key
a150: 3a 27 31 27 2c 20 6f 70 65 6e 57 69 74 68 3a 27  :'1', openWith:'
a160: 26 6c 74 3b 68 31 28 21 28 20 63 6c 61 73 73 3d  &lt;h1(!( class=
a170: 22 5b 21 5b 43 6c 61 73 73 5d 21 5d 22 29 21 29  "[![Class]!]")!)
a180: 26 67 74 3b 27 2c 20 63 6c 6f 73 65 57 69 74 68  &gt;', closeWith
a190: 3a 27 26 6c 74 3b 2f 68 31 26 67 74 3b 27 2c 20  :'&lt;/h1&gt;', 
a1a0: 70 6c 61 63 65 48 6f 6c 64 65 72 3a 27 59 6f 75  placeHolder:'You
a1b0: 72 20 74 69 74 6c 65 20 68 65 72 65 2e 2e 2e 27  r title here...'
a1c0: 20 7d 2c 0d 0a 09 20 20 20 20 7b 6e 61 6d 65 3a   },...    {name:
a1d0: 27 48 65 61 64 69 6e 67 20 32 27 2c 20 6b 65 79  'Heading 2', key
a1e0: 3a 27 32 27 2c 20 6f 70 65 6e 57 69 74 68 3a 27  :'2', openWith:'
a1f0: 26 6c 74 3b 68 32 28 21 28 20 63 6c 61 73 73 3d  &lt;h2(!( class=
a200: 22 5b 21 5b 43 6c 61 73 73 5d 21 5d 22 29 21 29  "[![Class]!]")!)
a210: 26 67 74 3b 27 2c 20 63 6c 6f 73 65 57 69 74 68  &gt;', closeWith
a220: 3a 27 26 6c 74 3b 2f 68 32 26 67 74 3b 27 2c 20  :'&lt;/h2&gt;', 
a230: 70 6c 61 63 65 48 6f 6c 64 65 72 3a 27 59 6f 75  placeHolder:'You
a240: 72 20 74 69 74 6c 65 20 68 65 72 65 2e 2e 2e 27  r title here...'
a250: 20 7d 2c 0d 0a 09 20 20 20 20 7b 6e 61 6d 65 3a   },...    {name:
a260: 27 48 65 61 64 69 6e 67 20 33 27 2c 20 6b 65 79  'Heading 3', key
a270: 3a 27 33 27 2c 20 6f 70 65 6e 57 69 74 68 3a 27  :'3', openWith:'
a280: 26 6c 74 3b 68 33 28 21 28 20 63 6c 61 73 73 3d  &lt;h3(!( class=
a290: 22 5b 21 5b 43 6c 61 73 73 5d 21 5d 22 29 21 29  "[![Class]!]")!)
a2a0: 26 67 74 3b 27 2c 20 63 6c 6f 73 65 57 69 74 68  &gt;', closeWith
a2b0: 3a 27 26 6c 74 3b 2f 68 33 26 67 74 3b 27 2c 20  :'&lt;/h3&gt;', 
a2c0: 70 6c 61 63 65 48 6f 6c 64 65 72 3a 27 59 6f 75  placeHolder:'You
a2d0: 72 20 74 69 74 6c 65 20 68 65 72 65 2e 2e 2e 27  r title here...'
a2e0: 20 7d 2c 0d 0a 09 20 20 20 20 7b 6e 61 6d 65 3a   },...    {name:
a2f0: 27 48 65 61 64 69 6e 67 20 34 27 2c 20 6b 65 79  'Heading 4', key
a300: 3a 27 34 27 2c 20 6f 70 65 6e 57 69 74 68 3a 27  :'4', openWith:'
a310: 26 6c 74 3b 68 34 28 21 28 20 63 6c 61 73 73 3d  &lt;h4(!( class=
a320: 22 5b 21 5b 43 6c 61 73 73 5d 21 5d 22 29 21 29  "[![Class]!]")!)
a330: 26 67 74 3b 27 2c 20 63 6c 6f 73 65 57 69 74 68  &gt;', closeWith
a340: 3a 27 26 6c 74 3b 2f 68 34 26 67 74 3b 27 2c 20  :'&lt;/h4&gt;', 
a350: 70 6c 61 63 65 48 6f 6c 64 65 72 3a 27 59 6f 75  placeHolder:'You
a360: 72 20 74 69 74 6c 65 20 68 65 72 65 2e 2e 2e 27  r title here...'
a370: 20 7d 2c 0d 0a 09 20 20 20 20 7b 6e 61 6d 65 3a   },...    {name:
a380: 27 48 65 61 64 69 6e 67 20 35 27 2c 20 6b 65 79  'Heading 5', key
a390: 3a 27 35 27 2c 20 6f 70 65 6e 57 69 74 68 3a 27  :'5', openWith:'
a3a0: 26 6c 74 3b 68 35 28 21 28 20 63 6c 61 73 73 3d  &lt;h5(!( class=
a3b0: 22 5b 21 5b 43 6c 61 73 73 5d 21 5d 22 29 21 29  "[![Class]!]")!)
a3c0: 26 67 74 3b 27 2c 20 63 6c 6f 73 65 57 69 74 68  &gt;', closeWith
a3d0: 3a 27 26 6c 74 3b 2f 68 35 26 67 74 3b 27 2c 20  :'&lt;/h5&gt;', 
a3e0: 70 6c 61 63 65 48 6f 6c 64 65 72 3a 27 59 6f 75  placeHolder:'You
a3f0: 72 20 74 69 74 6c 65 20 68 65 72 65 2e 2e 2e 27  r title here...'
a400: 20 7d 2c 0d 0a 09 20 20 20 20 7b 6e 61 6d 65 3a   },...    {name:
a410: 27 48 65 61 64 69 6e 67 20 36 27 2c 20 6b 65 79  'Heading 6', key
a420: 3a 27 36 27 2c 20 6f 70 65 6e 57 69 74 68 3a 27  :'6', openWith:'
a430: 26 6c 74 3b 68 36 28 21 28 20 63 6c 61 73 73 3d  &lt;h6(!( class=
a440: 22 5b 21 5b 43 6c 61 73 73 5d 21 5d 22 29 21 29  "[![Class]!]")!)
a450: 26 67 74 3b 27 2c 20 63 6c 6f 73 65 57 69 74 68  &gt;', closeWith
a460: 3a 27 26 6c 74 3b 2f 68 36 26 67 74 3b 27 2c 20  :'&lt;/h6&gt;', 
a470: 70 6c 61 63 65 48 6f 6c 64 65 72 3a 27 59 6f 75  placeHolder:'You
a480: 72 20 74 69 74 6c 65 20 68 65 72 65 2e 2e 2e 27  r title here...'
a490: 20 7d 2c 0d 0a 09 20 20 20 20 7b 6e 61 6d 65 3a   },...    {name:
a4a0: 27 50 61 72 61 67 72 61 70 68 27 2c 20 6f 70 65  'Paragraph', ope
a4b0: 6e 57 69 74 68 3a 27 26 6c 74 3b 70 28 21 28 20  nWith:'&lt;p(!( 
a4c0: 63 6c 61 73 73 3d 22 5b 21 5b 43 6c 61 73 73 5d  class="[![Class]
a4d0: 21 5d 22 29 21 29 26 67 74 3b 27 2c 20 63 6c 6f  !]")!)&gt;', clo
a4e0: 73 65 57 69 74 68 3a 27 26 6c 74 3b 2f 70 26 67  seWith:'&lt;/p&g
a4f0: 74 3b 27 20 20 7d 2c 0d 0a 09 20 20 20 20 7b 73  t;'  },...    {s
a500: 65 70 61 72 61 74 6f 72 3a 27 2d 2d 2d 2d 2d 2d  eparator:'------
a510: 2d 2d 2d 2d 2d 2d 2d 2d 2d 27 20 7d 2c 0d 0a 09  ---------' },...
a520: 20 20 20 20 7b 6e 61 6d 65 3a 27 42 6f 6c 64 27      {name:'Bold'
a530: 2c 20 6b 65 79 3a 27 42 27 2c 20 6f 70 65 6e 57  , key:'B', openW
a540: 69 74 68 3a 27 26 6c 74 3b 73 74 72 6f 6e 67 26  ith:'&lt;strong&
a550: 67 74 3b 27 2c 20 63 6c 6f 73 65 57 69 74 68 3a  gt;', closeWith:
a560: 27 26 6c 74 3b 2f 73 74 72 6f 6e 67 26 67 74 3b  '&lt;/strong&gt;
a570: 27 20 7d 2c 0d 0a 09 20 20 20 20 7b 6e 61 6d 65  ' },...    {name
a580: 3a 27 49 74 61 6c 69 63 27 2c 20 6b 65 79 3a 27  :'Italic', key:'
a590: 49 27 2c 20 6f 70 65 6e 57 69 74 68 3a 27 26 6c  I', openWith:'&l
a5a0: 74 3b 65 6d 26 67 74 3b 27 2c 20 63 6c 6f 73 65  t;em&gt;', close
a5b0: 57 69 74 68 3a 27 26 6c 74 3b 2f 65 6d 26 67 74  With:'&lt;/em&gt
a5c0: 3b 27 20 20 7d 2c 0d 0a 09 20 20 20 20 7b 6e 61  ;'  },...    {na
a5d0: 6d 65 3a 27 53 74 72 6f 6b 65 20 74 68 72 6f 75  me:'Stroke throu
a5e0: 67 68 27 2c 20 6b 65 79 3a 27 53 27 2c 20 6f 70  gh', key:'S', op
a5f0: 65 6e 57 69 74 68 3a 27 26 6c 74 3b 64 65 6c 26  enWith:'&lt;del&
a600: 67 74 3b 27 2c 20 63 6c 6f 73 65 57 69 74 68 3a  gt;', closeWith:
a610: 27 26 6c 74 3b 2f 64 65 6c 26 67 74 3b 27 20 7d  '&lt;/del&gt;' }
a620: 2c 0d 0a 09 20 20 20 20 7b 73 65 70 61 72 61 74  ,...    {separat
a630: 6f 72 3a 27 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  or:'------------
a640: 2d 2d 2d 27 20 7d 2c 0d 0a 09 20 20 20 20 7b 6e  ---' },...    {n
a650: 61 6d 65 3a 27 55 6c 27 2c 20 6f 70 65 6e 57 69  ame:'Ul', openWi
a660: 74 68 3a 27 26 6c 74 3b 75 6c 26 67 74 3b 5c 6e  th:'&lt;ul&gt;\n
a670: 27 2c 20 63 6c 6f 73 65 57 69 74 68 3a 27 26 6c  ', closeWith:'&l
a680: 74 3b 2f 75 6c 26 67 74 3b 5c 6e 27 20 7d 2c 0d  t;/ul&gt;\n' },.
a690: 0a 09 20 20 20 20 7b 6e 61 6d 65 3a 27 4f 6c 27  ..    {name:'Ol'
a6a0: 2c 20 6f 70 65 6e 57 69 74 68 3a 27 26 6c 74 3b  , openWith:'&lt;
a6b0: 6f 6c 26 67 74 3b 5c 6e 27 2c 20 63 6c 6f 73 65  ol&gt;\n', close
a6c0: 57 69 74 68 3a 27 26 6c 74 3b 2f 6f 6c 26 67 74  With:'&lt;/ol&gt
a6d0: 3b 5c 6e 27 20 7d 2c 0d 0a 09 20 20 20 20 7b 6e  ;\n' },...    {n
a6e0: 61 6d 65 3a 27 4c 69 27 2c 20 6f 70 65 6e 57 69  ame:'Li', openWi
a6f0: 74 68 3a 27 26 6c 74 3b 6c 69 26 67 74 3b 27 2c  th:'&lt;li&gt;',
a700: 20 63 6c 6f 73 65 57 69 74 68 3a 27 26 6c 74 3b   closeWith:'&lt;
a710: 2f 6c 69 26 67 74 3b 27 20 7d 2c 0d 0a 09 20 20  /li&gt;' },...  
a720: 20 20 7b 73 65 70 61 72 61 74 6f 72 3a 27 2d 2d    {separator:'--
a730: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 27 20 7d  -------------' }
a740: 2c 0d 0a 09 20 20 20 20 7b 6e 61 6d 65 3a 27 50  ,...    {name:'P
a750: 69 63 74 75 72 65 27 2c 20 6b 65 79 3a 27 50 27  icture', key:'P'
a760: 2c 20 72 65 70 6c 61 63 65 57 69 74 68 3a 27 26  , replaceWith:'&
a770: 6c 74 3b 69 6d 67 20 73 72 63 3d 22 5b 21 5b 53  lt;img src="[![S
a780: 6f 75 72 63 65 3a 21 3a 68 74 74 70 3a 2f 2f 5d  ource:!:http://]
a790: 21 5d 22 20 61 6c 74 3d 22 5b 21 5b 41 6c 74 65  !]" alt="[![Alte
a7a0: 72 6e 61 74 69 76 65 20 74 65 78 74 5d 21 5d 22  rnative text]!]"
a7b0: 20 2f 26 67 74 3b 27 20 7d 2c 0d 0a 09 20 20 20   /&gt;' },...   
a7c0: 20 7b 6e 61 6d 65 3a 27 4c 69 6e 6b 27 2c 20 6b   {name:'Link', k
a7d0: 65 79 3a 27 4c 27 2c 20 6f 70 65 6e 57 69 74 68  ey:'L', openWith
a7e0: 3a 27 26 6c 74 3b 61 20 68 72 65 66 3d 22 5b 21  :'&lt;a href="[!
a7f0: 5b 4c 69 6e 6b 3a 21 3a 68 74 74 70 3a 2f 2f 5d  [Link:!:http://]
a800: 21 5d 22 28 21 28 20 74 69 74 6c 65 3d 22 5b 21  !]"(!( title="[!
a810: 5b 54 69 74 6c 65 5d 21 5d 22 29 21 29 26 67 74  [Title]!]")!)&gt
a820: 3b 27 2c 20 63 6c 6f 73 65 57 69 74 68 3a 27 26  ;', closeWith:'&
a830: 6c 74 3b 2f 61 26 67 74 3b 27 2c 20 70 6c 61 63  lt;/a&gt;', plac
a840: 65 48 6f 6c 64 65 72 3a 27 59 6f 75 72 20 74 65  eHolder:'Your te
a850: 78 74 20 74 6f 20 6c 69 6e 6b 2e 2e 2e 27 20 7d  xt to link...' }
a860: 2c 0d 0a 09 20 20 20 20 7b 73 65 70 61 72 61 74  ,...    {separat
a870: 6f 72 3a 27 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  or:'------------
a880: 2d 2d 2d 27 20 7d 2c 0d 0a 09 20 20 20 20 7b 6e  ---' },...    {n
a890: 61 6d 65 3a 27 43 6c 65 61 6e 27 2c 20 72 65 70  ame:'Clean', rep
a8a0: 6c 61 63 65 57 69 74 68 3a 66 75 6e 63 74 69 6f  laceWith:functio
a8b0: 6e 28 68 29 20 7b 20 72 65 74 75 72 6e 20 68 2e  n(h) { return h.
a8c0: 73 65 6c 65 63 74 69 6f 6e 2e 72 65 70 6c 61 63  selection.replac
a8d0: 65 28 2f 26 6c 74 3b 28 2e 2a 3f 29 26 67 74 3b  e(/&lt;(.*?)&gt;
a8e0: 2f 67 2c 20 22 22 29 20 7d 20 7d 2c 0d 0a 09 20  /g, "") } },... 
a8f0: 20 20 20 7b 6e 61 6d 65 3a 27 50 72 65 76 69 65     {name:'Previe
a900: 77 27 2c 20 63 61 6c 6c 3a 27 70 72 65 76 69 65  w', call:'previe
a910: 77 27 2c 20 63 6c 61 73 73 4e 61 6d 65 3a 27 70  w', className:'p
a920: 72 65 76 69 65 77 27 20 7d 0d 0a 09 5d 0d 0a 20  review' }...].. 
a930: 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 66 6f       }..      fo
a940: 72 28 76 61 72 20 69 3d 30 20 3b 69 20 3c 20 6c  r(var i=0 ;i < l
a950: 3b 69 2b 2b 29 7b 0d 0a 09 6e 20 3d 20 6d 5b 69  ;i++){...n = m[i
a960: 5d 2e 6e 61 6d 65 0d 0a 09 69 66 28 20 27 63 6f  ].name...if( 'co
a970: 6d 6d 65 6e 74 27 20 3d 3d 20 6e 20 7c 7c 20 27  mment' == n || '
a980: 63 6d 61 70 70 6e 64 27 20 3d 3d 20 6e 20 7c 7c  cmappnd' == n ||
a990: 20 22 77 22 20 20 3d 3d 20 6e 29 7b 0d 0a 09 20   "w"  == n){... 
a9a0: 20 20 20 6d 5b 69 5d 2e 69 64 20 3d 20 6e 3c 2f     m[i].id = n</
a9b0: 6e 6f 77 69 6b 69 3e 0d 0a 09 20 20 20 20 24 28  nowiki>...    $(
a9c0: 66 75 6e 63 74 69 6f 6e 28 29 20 7b 0d 0a 09 20  function() {... 
a9d0: 20 20 20 20 20 24 28 22 23 22 20 2b 20 6e 29 2e       $("#" + n).
a9e0: 6d 61 72 6b 49 74 55 70 28 6d 79 53 65 74 74 69  markItUp(mySetti
a9f0: 6e 67 73 29 3b 0d 0a 09 20 20 20 20 7d 29 3b 0d  ngs);...    });.
aa00: 0a 09 7d 0d 0a 20 20 20 20 20 20 7d 0d 0a 20 20  ..}..      }..  
aa10: 20 20 26 6c 74 3b 2f 73 63 72 69 70 74 26 67 74    &lt;/script&gt
aa20: 3b 0d 0a 20 3c 2f 70 72 65 3e 0d 0a 0d 0a 3c 68  ;.. </pre>....<h
aa30: 32 3e 3c 61 20 6e 61 6d 65 3d 22 74 69 63 6b 65  2><a name="ticke
aa40: 74 2d 63 68 65 63 6b 69 6e 2d 6c 69 6e 6b 73 22  t-checkin-links"
aa50: 3e 4c 69 6e 6b 69 6e 67 20 54 69 63 6b 65 74 73  >Linking Tickets
aa60: 20 74 6f 20 43 68 65 63 6b 69 6e 27 73 3c 2f 61   to Checkin's</a
aa70: 3e 3c 2f 68 32 3e 0d 0a 0d 0a 49 74 27 73 20 65  ></h2>....It's e
aa80: 61 73 79 20 74 6f 20 6c 69 6e 6b 20 61 20 63 68  asy to link a ch
aa90: 65 63 6b 69 6e 20 74 6f 20 61 20 74 69 63 6b 65  eckin to a ticke
aaa0: 74 2e 2e 2e 20 73 69 6d 70 6c 79 20 69 6e 63 6c  t... simply incl
aab0: 75 64 65 20 3c 6e 6f 77 69 6b 69 3e 5b 74 69 63  ude <nowiki>[tic
aac0: 6b 65 74 2d 75 75 69 64 5d 3c 2f 6e 6f 77 69 6b  ket-uuid]</nowik
aad0: 69 3e 20 69 6e 20 79 6f 75 72 20 63 6f 6d 6d 69  i> in your commi
aae0: 74 20 63 6f 6d 6d 65 6e 74 2e 20 4e 6f 77 2c 20  t comment. Now, 
aaf0: 77 68 65 6e 20 79 6f 75 20 64 6f 20 74 68 61 74  when you do that
ab00: 2c 20 79 6f 75 20 61 6c 73 6f 20 68 61 76 65 20  , you also have 
ab10: 74 68 65 20 61 62 69 6c 69 74 79 20 74 6f 20 6c  the ability to l
ab20: 69 6e 6b 20 61 20 74 69 63 6b 65 74 20 74 6f 20  ink a ticket to 
ab30: 74 68 65 20 61 73 73 6f 63 69 61 74 65 64 20 63  the associated c
ab40: 68 65 63 6b 69 6e 28 73 29 2e 0d 0a 0d 0a 54 68  heckin(s).....Th
ab50: 69 73 20 69 73 20 6a 75 73 74 20 6f 6e 65 20 77  is is just one w
ab60: 61 79 20 6f 66 20 64 6f 69 6e 67 20 74 68 69 73  ay of doing this
ab70: 2c 20 61 6e 64 20 77 68 61 74 20 49 20 64 65 63  , and what I dec
ab80: 69 64 65 64 20 74 6f 20 64 6f 2e 20 59 6f 75 20  ided to do. You 
ab90: 63 61 6e 20 6f 66 20 63 6f 75 72 73 65 20 61 6c  can of course al
aba0: 74 65 72 20 69 74 20 66 6f 72 20 79 6f 75 72 20  ter it for your 
abb0: 6f 77 6e 20 73 74 79 6c 65 2f 6c 61 79 6f 75 74  own style/layout
abc0: 2e 0d 0a 0d 0a 46 69 72 73 74 3a 20 41 64 64 20  .....First: Add 
abd0: 61 20 22 53 68 6f 72 74 20 55 55 49 44 22 20 74  a "Short UUID" t
abe0: 6f 20 79 6f 75 72 20 56 69 65 77 20 54 69 63 6b  o your View Tick
abf0: 65 74 20 70 61 67 65 2e 20 59 6f 75 20 63 61 6e  et page. You can
ac00: 20 64 6f 20 74 68 69 73 20 62 79 3a 20 0d 0a 0d   do this by: ...
ac10: 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 3c 74 68  .<verbatim>..<th
ac20: 31 3e 0d 0a 73 65 74 20 73 68 6f 72 74 55 75 69  1>..set shortUui
ac30: 64 20 5b 73 74 72 69 6e 67 20 72 61 6e 67 65 20  d [string range 
ac40: 24 74 6b 74 5f 75 75 69 64 20 30 20 39 5d 0d 0a  $tkt_uuid 0 9]..
ac50: 3c 2f 74 68 31 3e 0d 0a 3c 2f 76 65 72 62 61 74  </th1>..</verbat
ac60: 69 6d 3e 0d 0a 0d 0a 54 68 65 6e 2c 20 64 69 73  im>....Then, dis
ac70: 70 6c 61 79 20 74 68 61 74 20 74 6f 20 74 68 65  play that to the
ac80: 20 75 73 65 72 20 73 6f 6d 65 77 68 65 72 65 3a   user somewhere:
ac90: 20 0d 0a 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d   ....<verbatim>.
aca0: 0a 55 75 69 64 3a 20 24 3c 73 68 6f 72 74 55 75  .Uuid: $<shortUu
acb0: 69 64 3e 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e  id>..</verbatim>
acc0: 0d 0a 0d 0a 41 6c 6c 20 74 68 61 74 20 64 6f 65  ....All that doe
acd0: 73 20 69 73 20 6d 61 6b 65 20 69 74 20 65 61 73  s is make it eas
ace0: 79 20 66 6f 72 20 74 68 65 20 64 65 76 65 6c 6f  y for the develo
acf0: 70 65 72 20 74 6f 20 63 6f 70 79 2f 70 61 73 74  per to copy/past
ad00: 65 20 61 20 73 65 6e 73 69 62 6c 65 20 55 55 49  e a sensible UUI
ad10: 44 20 69 6e 74 6f 20 74 68 65 69 72 20 63 6f 6d  D into their com
ad20: 6d 69 74 20 6c 6f 67 2e 20 0d 0a 0d 0a 4e 6f 77  mit log. ....Now
ad30: 2c 20 63 6f 6e 74 69 6e 75 69 6e 67 2c 20 6f 6e  , continuing, on
ad40: 20 74 68 65 20 73 61 6d 65 20 56 69 65 77 20 50   the same View P
ad50: 61 67 65 20 61 64 64 20 61 20 6c 69 6e 6b 20 74  age add a link t
ad60: 6f 20 76 69 65 77 20 61 73 73 6f 63 69 61 74 65  o view associate
ad70: 64 20 74 69 63 6b 65 74 73 3a 20 0d 0a 0d 0a 3c  d tickets: ....<
ad80: 76 65 72 62 61 74 69 6d 3e 0d 0a 3c 61 20 68 72  verbatim>..<a hr
ad90: 65 66 3d 22 24 3c 62 61 73 65 75 72 6c 3e 2f 74  ef="$<baseurl>/t
ada0: 69 6d 65 6c 69 6e 65 3f 79 3d 63 69 26 73 3d 24  imeline?y=ci&s=$
adb0: 3c 73 68 6f 72 74 55 75 69 64 3e 22 3e 61 73 73  <shortUuid>">ass
adc0: 6f 63 69 61 74 65 64 20 74 69 63 6b 65 74 73 3c  ociated tickets<
add0: 2f 61 3e 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e  /a>..</verbatim>
ade0: 0d 0a 0d 0a 57 68 61 74 20 74 68 69 73 20 64 6f  ....What this do
adf0: 65 73 20 69 73 20 73 65 61 72 63 68 65 73 20 61  es is searches a
ae00: 6c 6c 20 63 68 65 63 6b 69 6e 27 73 20 66 6f 72  ll checkin's for
ae10: 20 74 68 65 20 74 69 63 6b 65 74 73 20 75 75 69   the tickets uui
ae20: 64 2c 20 74 68 75 73 2c 20 79 6f 75 20 63 61 6e  d, thus, you can
ae30: 20 6e 6f 77 20 73 65 65 20 61 6c 6c 20 63 68 65   now see all che
ae40: 63 6b 69 6e 27 73 20 74 68 61 74 20 61 72 65 20  ckin's that are 
ae50: 6c 69 6e 6b 65 64 20 77 69 74 68 20 74 68 65 20  linked with the 
ae60: 67 69 76 65 6e 20 74 69 63 6b 65 74 2e 0d 0a 0d  given ticket....
ae70: 0a 3c 64 69 76 3e 0d 0a 20 20 3c 68 32 3e 3c 61  .<div>..  <h2><a
ae80: 20 6e 61 6d 65 3d 22 74 68 31 2d 75 73 61 67 65   name="th1-usage
ae90: 22 3e 46 6f 73 73 69 6c 20 54 68 31 3c 2f 61 3e  ">Fossil Th1</a>
aea0: 3c 2f 68 32 3e 0d 0a 0d 0a 20 20 3c 68 33 3e 50  </h2>....  <h3>P
aeb0: 75 72 70 6f 73 65 20 6f 66 20 54 68 31 3c 2f 68  urpose of Th1</h
aec0: 33 3e 0d 0a 0d 0a 20 20 3c 70 3e 54 68 31 20 69  3>....  <p>Th1 i
aed0: 73 20 75 73 65 64 20 61 73 20 61 20 3c 73 74 72  s used as a <str
aee0: 6f 6e 67 3e 74 65 6d 70 6c 61 74 65 20 73 79 73  ong>template sys
aef0: 74 65 6d 3c 2f 73 74 72 6f 6e 67 3e 20 66 6f 72  tem</strong> for
af00: 0d 0a 20 20 67 65 6e 65 72 61 74 69 6e 67 20 48  ..  generating H
af10: 54 4d 4c 20 68 65 61 64 65 72 20 61 6e 64 20 66  TML header and f
af20: 6f 6f 74 65 72 2e 20 49 74 20 69 73 20 61 20 54  ooter. It is a T
af30: 43 4c 20 6c 69 6b 65 0d 0a 20 20 6c 61 6e 67 75  CL like..  langu
af40: 61 67 65 2e 20 49 66 20 79 6f 75 20 6b 6e 6f 77  age. If you know
af50: 20 54 43 4c 20 79 6f 75 20 6b 6e 6f 77 20 54 48   TCL you know TH
af60: 31 2e 3c 2f 70 3e 0d 0a 0d 0a 20 20 3c 70 3e 49  1.</p>....  <p>I
af70: 74 20 69 73 20 69 6e 76 6f 6b 65 64 20 62 79 20  t is invoked by 
af80: 6f 70 65 6e 69 6e 67 20 61 20 26 6c 74 3b 74 68  opening a &lt;th
af90: 31 26 67 74 3b 20 74 61 67 2e 20 54 68 65 20 66  1&gt; tag. The f
afa0: 69 72 73 74 20 74 69 6d 65 20 69 74 0d 0a 20 20  irst time it..  
afb0: 73 74 61 72 74 73 20 61 6e 20 69 6e 74 65 72 70  starts an interp
afc0: 72 65 74 65 72 2e 20 54 68 65 20 73 74 61 74 65  reter. The state
afd0: 20 6f 66 20 74 68 69 73 20 69 6e 74 65 72 70 72   of this interpr
afe0: 65 74 65 72 20 69 73 20 76 61 6c 69 64 0d 0a 20  eter is valid.. 
aff0: 20 64 75 72 69 6e 67 20 74 68 65 20 70 61 67 65   during the page
b000: 20 67 65 6e 65 72 61 74 69 6f 6e 2e 3c 2f 70 3e   generation.</p>
b010: 0d 0a 0d 0a 20 20 3c 70 3e 46 6f 72 20 65 78 61  ....  <p>For exa
b020: 6d 70 6c 65 20 77 68 65 6e 20 79 6f 75 3c 2f 70  mple when you</p
b030: 3e 0d 0a 0d 0a 20 20 3c 75 6c 20 63 6f 6d 70 61  >....  <ul compa
b040: 63 74 3d 27 63 6f 6d 70 61 63 74 27 3e 0d 0a 20  ct='compact'>.. 
b050: 20 20 20 3c 6c 69 3e 0d 0a 20 20 20 20 20 20 64     <li>..      d
b060: 6f 20 69 6e 20 74 68 65 20 68 65 61 64 65 72 20  o in the header 
b070: 26 6c 74 3b 74 68 31 26 67 74 3b 20 73 65 74 20  &lt;th1&gt; set 
b080: 76 65 72 73 69 6f 6e 20 62 65 74 61 20 26 6c 74  version beta &lt
b090: 3b 2f 74 68 31 26 67 74 3b 0d 0a 20 20 20 20 3c  ;/th1&gt;..    <
b0a0: 2f 6c 69 3e 0d 0a 20 20 20 20 3c 6c 69 3e 0d 0a  /li>..    <li>..
b0b0: 20 20 20 20 20 20 74 68 65 6e 20 69 6e 20 74 68        then in th
b0c0: 65 20 66 6f 6f 74 65 72 20 26 6c 74 3b 74 68 31  e footer &lt;th1
b0d0: 26 67 74 3b 70 75 74 73 20 22 56 65 72 73 69 6f  &gt;puts "Versio
b0e0: 6e 20 73 65 74 20 69 6e 20 68 65 61 64 65 72 0d  n set in header.
b0f0: 0a 20 20 20 20 20 20 69 73 20 24 76 65 72 73 69  .      is $versi
b100: 6f 6e 22 26 6c 74 3b 2f 74 68 31 26 67 74 3b 20  on"&lt;/th1&gt; 
b110: 72 65 73 75 6c 74 73 20 69 6e 20 27 56 65 72 73  results in 'Vers
b120: 69 6f 6e 20 73 65 74 20 69 6e 20 68 65 61 64 65  ion set in heade
b130: 72 20 69 73 0d 0a 20 20 20 20 20 20 62 65 74 61  r is..      beta
b140: 27 0d 0a 20 20 20 20 3c 2f 6c 69 3e 0d 0a 20 20  '..    </li>..  
b150: 3c 2f 75 6c 3e 0d 0a 0d 0a 20 20 3c 70 3e 42 65  </ul>....  <p>Be
b160: 63 61 75 73 65 20 69 74 20 69 73 20 75 73 65 64  cause it is used
b170: 20 61 73 20 61 20 74 65 6d 70 6c 61 74 65 20 73   as a template s
b180: 79 73 74 65 6d 20 69 74 20 65 78 70 6f 72 74 73  ystem it exports
b190: 20 73 6f 6d 65 0d 0a 20 20 64 65 74 61 69 6c 73   some..  details
b1a0: 20 6f 66 20 66 6f 73 73 69 6c 20 74 68 72 6f 75   of fossil throu
b1b0: 67 68 3c 2f 70 3e 0d 0a 0d 0a 20 20 3c 6f 6c 3e  gh</p>....  <ol>
b1c0: 0d 0a 20 20 20 20 3c 6c 69 3e 76 61 72 69 61 62  ..    <li>variab
b1d0: 6c 65 73 3c 2f 6c 69 3e 0d 0a 20 20 20 20 3c 6c  les</li>..    <l
b1e0: 69 3e 66 75 6e 63 74 69 6f 6e 73 3c 2f 6c 69 3e  i>functions</li>
b1f0: 0d 0a 20 20 3c 2f 6f 6c 3e 0d 0a 0d 0a 20 20 3c  ..  </ol>....  <
b200: 70 3e 54 68 65 73 65 20 61 72 65 20 64 65 66 69  p>These are defi
b210: 6e 65 64 20 69 6e 0d 0a 20 5b 35 39 30 65 30 37  ned in.. [590e07
b220: 33 37 34 36 31 32 31 62 65 66 65 36 35 35 36 35  3746121befe65565
b230: 65 65 36 64 37 33 30 30 37 63 33 37 61 64 65 31  ee6d73007c37ade1
b240: 32 63 7c 73 72 63 2f 74 68 5f 6d 61 69 6e 2e 63  2c|src/th_main.c
b250: 5d 29 3c 2f 70 3e 0d 0a 0d 0a 20 20 3c 68 33 3e  ])</p>....  <h3>
b260: 56 61 72 69 61 62 6c 65 73 3c 2f 68 33 3e 0d 0a  Variables</h3>..
b270: 0d 0a 20 20 3c 70 3e 54 68 65 73 65 20 76 61 72  ..  <p>These var
b280: 69 61 62 6c 65 20 61 72 65 20 67 6c 6f 62 61 6c  iable are global
b290: 20 61 6e 64 20 61 76 61 69 6c 61 62 6c 65 20 6f   and available o
b2a0: 75 74 73 69 64 65 20 26 6c 74 3b 74 68 31 26 67  utside &lt;th1&g
b2b0: 74 3b 0d 0a 20 20 74 61 67 73 2e 20 54 68 65 79  t;..  tags. They
b2c0: 20 63 61 6e 20 62 65 20 72 65 66 65 72 65 6e 63   can be referenc
b2d0: 65 64 20 65 69 74 68 65 72 20 61 73 3c 2f 70 3e  ed either as</p>
b2e0: 0d 0a 0d 0a 20 20 3c 75 6c 20 63 6f 6d 70 61 63  ....  <ul compac
b2f0: 74 3d 27 63 6f 6d 70 61 63 74 27 3e 0d 0a 20 20  t='compact'>..  
b300: 20 20 3c 6c 69 3e 24 76 61 72 2e 20 65 2e 67 2e    <li>$var. e.g.
b310: 20 24 74 69 74 6c 65 2e 3c 2f 6c 69 3e 0d 0a 20   $title.</li>.. 
b320: 20 20 20 3c 6c 69 3e 24 26 6c 74 3b 76 61 72 26     <li>$&lt;var&
b330: 67 74 3b 20 65 2e 67 2e 20 24 26 6c 74 3b 74 69  gt; e.g. $&lt;ti
b340: 74 6c 65 26 67 74 3b 3c 2f 6c 69 3e 0d 0a 20 20  tle&gt;</li>..  
b350: 3c 2f 75 6c 3e 0d 0a 0d 0a 20 20 3c 70 3e 54 68  </ul>....  <p>Th
b360: 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 61 72 65 20  e following are 
b370: 64 65 66 69 6e 65 64 3a 3c 2f 70 3e 0d 0a 0d 0a  defined:</p>....
b380: 20 20 3c 75 6c 20 63 6f 6d 70 61 63 74 3d 27 63    <ul compact='c
b390: 6f 6d 70 61 63 74 27 3e 0d 0a 20 20 20 20 3c 6c  ompact'>..    <l
b3a0: 69 3e 24 62 61 73 65 5f 75 72 6c 2e 20 54 68 65  i>$base_url. The
b3b0: 20 66 69 72 73 74 20 70 61 72 74 20 6f 66 20 74   first part of t
b3c0: 68 65 20 75 72 6c 2e 20 46 6f 72 20 65 78 61 6d  he url. For exam
b3d0: 70 6c 65 0d 0a 20 20 20 20 3c 73 74 72 6f 6e 67  ple..    <strong
b3e0: 3e 68 74 74 70 3a 2f 2f 6c 6f 63 61 6c 68 6f 73  >http://localhos
b3f0: 74 3a 38 30 38 30 3c 2f 73 74 72 6f 6e 67 3e 3c  t:8080</strong><
b400: 2f 6c 69 3e 0d 0a 20 20 20 20 3c 6c 69 3e 24 63  /li>..    <li>$c
b410: 75 72 72 65 6e 74 5f 70 61 67 65 2e 20 54 68 65  urrent_page. The
b420: 20 70 61 67 65 20 72 65 71 75 65 73 74 65 64 2e   page requested.
b430: 20 46 6f 72 20 65 78 61 6d 70 6c 65 20 65 64 69   For example edi
b440: 74 69 6e 67 20 61 0d 0a 20 20 20 20 77 69 6b 69  ting a..    wiki
b450: 70 61 67 65 20 69 73 20 64 6f 6e 65 20 62 79 20  page is done by 
b460: 24 62 61 73 65 75 72 6c 2f 77 69 6b 69 65 64 69  $baseurl/wikiedi
b470: 74 20 24 63 75 72 72 65 6e 74 5f 70 61 67 65 20  t $current_page 
b480: 69 73 0d 0a 20 20 20 20 3c 73 74 72 6f 6e 67 3e  is..    <strong>
b490: 77 69 6b 69 65 64 69 74 3c 2f 73 74 72 6f 6e 67  wikiedit</strong
b4a0: 3e 3c 2f 6c 69 3e 0d 0a 20 20 20 20 3c 6c 69 3e  ></li>..    <li>
b4b0: 24 69 6e 64 65 78 5f 70 61 67 65 3c 73 74 72 6f  $index_page<stro
b4c0: 6e 67 3e 2e 3c 2f 73 74 72 6f 6e 67 3e 20 4d 6f  ng>.</strong> Mo
b4d0: 73 74 6c 79 20 74 68 65 20 76 61 6c 75 65 20 69  stly the value i
b4e0: 73 0d 0a 20 20 20 20 3c 73 74 72 6f 6e 67 3e 2f  s..    <strong>/
b4f0: 68 6f 6d 65 3c 2f 73 74 72 6f 6e 67 3e 20 73 65  home</strong> se
b500: 74 61 62 6c 65 20 69 6e 20 41 64 6d 69 6e 2f 43  table in Admin/C
b510: 6f 6e 66 69 67 75 72 61 74 69 6f 6e 3c 2f 6c 69  onfiguration</li
b520: 3e 0d 0a 20 20 20 20 3c 6c 69 3e 24 74 69 74 6c  >..    <li>$titl
b530: 65 2e 20 54 68 65 20 74 69 74 6c 65 20 6f 66 20  e. The title of 
b540: 74 68 65 20 24 63 75 72 72 65 6e 74 5f 70 61 67  the $current_pag
b550: 65 3c 2f 6c 69 3e 0d 0a 20 20 20 20 3c 6c 69 3e  e</li>..    <li>
b560: 24 6c 6f 67 69 6e 2e 20 54 68 65 20 6e 61 6d 65  $login. The name
b570: 20 6f 66 20 75 73 65 72 20 69 66 20 61 20 6c 6f   of user if a lo
b580: 67 69 6e 20 68 61 73 20 6f 63 63 75 72 72 65 64  gin has occurred
b590: 2e 20 69 66 20 79 6f 75 0d 0a 20 20 20 20 75 73  . if you..    us
b5a0: 65 20 74 68 69 73 20 76 61 72 69 61 62 6c 65 20  e this variable 
b5b0: 61 6c 77 61 79 73 20 63 68 65 63 6b 20 69 66 20  always check if 
b5c0: 69 74 20 65 78 69 73 74 73 20 76 69 61 0d 0a 20  it exists via.. 
b5d0: 20 20 20 3c 73 74 72 6f 6e 67 3e 3c 63 6f 64 65     <strong><code
b5e0: 3e 69 6e 66 6f 20 65 78 69 73 74 73 20 6c 6f 67  >info exists log
b5f0: 69 6e 3c 2f 63 6f 64 65 3e 3c 2f 73 74 72 6f 6e  in</code></stron
b600: 67 3e 3c 2f 6c 69 3e 0d 0a 20 20 20 20 3c 6c 69  g></li>..    <li
b610: 3e 24 6d 61 6e 69 66 65 73 74 5f 76 65 72 73 69  >$manifest_versi
b620: 6f 6e 2e 20 54 68 65 20 66 6f 73 73 69 6c 20 76  on. The fossil v
b630: 65 72 73 69 6f 6e 3c 2f 6c 69 3e 0d 0a 20 20 20  ersion</li>..   
b640: 20 3c 6c 69 3e 24 6d 61 6e 69 66 65 73 74 5f 64   <li>$manifest_d
b650: 61 74 65 2e 20 54 68 65 20 64 61 74 65 20 74 68  ate. The date th
b660: 61 74 20 66 6f 73 73 69 6c 20 76 65 72 73 69 6f  at fossil versio
b670: 6e 20 77 61 73 0d 0a 20 20 20 20 63 6f 6d 70 69  n was..    compi
b680: 6c 65 64 3c 2f 6c 69 3e 0d 0a 20 20 3c 2f 75 6c  led</li>..  </ul
b690: 3e 0d 0a 0d 0a 20 20 3c 68 33 3e 46 75 6e 63 74  >....  <h3>Funct
b6a0: 69 6f 6e 73 3c 2f 68 33 3e 0d 0a 20 20 3c 70 3e  ions</h3>..  <p>
b6b0: 0d 0a 20 20 20 20 20 54 68 65 73 65 20 61 72 65  ..     These are
b6c0: 20 6f 6e 6c 79 20 61 76 61 69 62 6c 65 20 62 65   only avaible be
b6d0: 74 77 65 65 6e 20 0d 0a 20 20 26 6c 74 3b 74 68  tween ..  &lt;th
b6e0: 31 26 67 74 3b 20 61 6e 64 20 26 6c 74 3b 2f 74  1&gt; and &lt;/t
b6f0: 68 31 26 67 74 3b 0d 0a 20 20 3c 2f 70 3e 0d 0a  h1&gt;..  </p>..
b700: 20 20 3c 75 6c 20 63 6f 6d 70 61 63 74 3d 27 63    <ul compact='c
b710: 6f 6d 70 61 63 74 27 3e 0d 0a 20 20 20 20 3c 6c  ompact'>..    <l
b720: 69 3e 63 6f 6d 62 6f 62 6f 78 20 6e 61 6d 65 20  i>combobox name 
b730: 74 65 78 74 2d 6c 69 73 74 20 6e 75 6d 6c 69 6e  text-list numlin
b740: 65 73 2e 20 47 65 6e 65 72 61 74 65 73 20 61 20  es. Generates a 
b750: 73 65 6c 65 63 74 20 62 6f 78 0d 0a 20 20 20 20  select box..    
b760: 77 69 74 68 20 6e 61 6d 65 3d 22 6e 61 6d 65 22  with name="name"
b770: 20 61 6e 64 20 61 20 63 67 69 2d 70 61 72 61 6d   and a cgi-param
b780: 65 74 65 72 20 6f 66 20 22 6e 61 6d 65 22 3c 2f  eter of "name"</
b790: 6c 69 3e 0d 0a 20 20 20 20 3c 6c 69 3e 65 6e 61  li>..    <li>ena
b7a0: 62 6c 65 5f 6f 75 74 70 75 74 20 62 6f 6f 6c 65  ble_output boole
b7b0: 61 6e 3c 2f 6c 69 3e 0d 0a 20 20 20 20 3c 6c 69  an</li>..    <li
b7c0: 3e 6c 69 6e 65 63 6f 75 6e 74 20 73 74 72 69 6e  >linecount strin
b7d0: 67 20 6d 61 78 20 6d 69 6e 2e 20 43 6f 75 6e 74  g max min. Count
b7e0: 73 20 74 68 65 20 6e 75 6d 65 72 20 6f 66 20 6e  s the numer of n
b7f0: 65 77 6c 69 6e 65 73 20 69 6e 0d 0a 20 20 20 20  ewlines in..    
b800: 73 74 72 69 6e 67 20 62 75 74 20 6e 6f 74 20 6d  string but not m
b810: 6f 72 65 20 74 68 65 6e 20 6d 61 78 20 61 6e 64  ore then max and
b820: 20 6e 6f 74 20 6c 65 73 73 20 74 68 65 6e 20 6d   not less then m
b830: 69 6e 3c 2f 6c 69 3e 0d 0a 20 20 20 20 3c 6c 69  in</li>..    <li
b840: 3e 68 61 73 63 61 70 20 73 74 72 69 6e 67 2e 20  >hascap string. 
b850: 72 65 74 75 72 6e 20 74 72 75 65 20 69 66 20 75  return true if u
b860: 73 65 72 20 68 61 73 20 61 6c 6c 0d 0a 20 20 20  ser has all..   
b870: 20 63 61 70 61 62 69 6c 69 74 69 65 73 20 69 6e   capabilities in
b880: 20 73 74 72 69 6e 67 3c 2f 6c 69 3e 0d 0a 20 20   string</li>..  
b890: 20 20 3c 6c 69 3e 68 74 6d 6c 69 7a 65 20 73 74    <li>htmlize st
b8a0: 72 69 6e 67 2e 20 65 78 63 61 70 65 73 20 61 6c  ring. excapes al
b8b0: 6c 20 63 68 61 72 73 20 69 6e 20 73 74 72 69 6e  l chars in strin
b8c0: 67 20 77 68 69 63 68 20 68 61 76 65 0d 0a 20 20  g which have..  
b8d0: 20 20 73 70 65 63 69 61 6c 20 6d 65 61 6e 69 6e    special meanin
b8e0: 67 20 69 6e 20 48 54 4d 4c 3c 2f 6c 69 3e 0d 0a  g in HTML</li>..
b8f0: 20 20 20 20 3c 6c 69 3e 64 61 74 65 20 72 65 74      <li>date ret
b900: 75 72 6e 73 20 74 68 65 20 73 71 6c 69 74 65 20  urns the sqlite 
b910: 76 61 6c 75 65 20 6f 66 20 64 61 74 65 74 69 6d  value of datetim
b920: 65 28 27 6e 6f 77 27 29 3c 2f 6c 69 3e 0d 0a 20  e('now')</li>.. 
b930: 20 20 20 3c 6c 69 3e 68 74 6d 6c 20 73 74 72 69     <li>html stri
b940: 6e 67 20 6f 75 74 70 75 74 20 68 74 6d 6c 3c 2f  ng output html</
b950: 6c 69 3e 0d 0a 20 20 20 20 3c 6c 69 3e 70 75 74  li>..    <li>put
b960: 73 20 73 74 72 69 6e 67 20 70 72 69 6e 74 73 20  s string prints 
b970: 74 68 65 20 73 74 72 69 6e 67 3c 2f 6c 69 3e 0d  the string</li>.
b980: 0a 20 20 20 20 3c 6c 69 3e 77 69 6b 69 20 73 74  .    <li>wiki st
b990: 72 69 6e 67 2e 20 54 68 65 20 73 74 72 69 6e 67  ring. The string
b9a0: 20 69 73 20 69 6e 20 77 69 6b 69 20 66 6f 72 6d   is in wiki form
b9b0: 61 74 2e 20 74 72 61 6e 73 6c 61 74 65 20 69 74  at. translate it
b9c0: 20 74 6f 0d 0a 20 20 20 20 48 54 4d 4c 3c 2f 6c   to..    HTML</l
b9d0: 69 3e 0d 0a 20 20 3c 2f 75 6c 3e 0d 0a 3c 6e 6f  i>..  </ul>..<no
b9e0: 77 69 6b 69 3e 0d 0a 20 20 3c 68 33 3e 45 78 61  wiki>..  <h3>Exa
b9f0: 6d 70 6c 65 20 66 72 6f 6d 20 61 64 6d 69 6e 2f  mple from admin/
ba00: 68 65 61 64 65 72 3c 2f 68 33 3e 0d 0a 20 20 3c  header</h3>..  <
ba10: 70 72 65 3e 0d 0a 26 6c 74 3b 68 74 6d 6c 26 67  pre>..&lt;html&g
ba20: 74 3b 0d 0a 26 6c 74 3b 68 65 61 64 26 67 74 3b  t;..&lt;head&gt;
ba30: 0d 0a 26 6c 74 3b 74 69 74 6c 65 26 67 74 3b 3c  ..&lt;title&gt;<
ba40: 73 74 72 6f 6e 67 3e 24 26 6c 74 3b 70 72 6f 6a  strong>$&lt;proj
ba50: 65 63 74 5f 6e 61 6d 65 26 67 74 3b 3c 2f 73 74  ect_name&gt;</st
ba60: 72 6f 6e 67 3e 3a 20 3c 73 74 72 6f 6e 67 3e 24  rong>: <strong>$
ba70: 26 6c 74 3b 74 69 74 6c 65 26 67 74 3b 3c 2f 73  &lt;title&gt;</s
ba80: 74 72 6f 6e 67 3e 26 6c 74 3b 2f 74 69 74 6c 65  trong>&lt;/title
ba90: 26 67 74 3b 0d 0a 26 6c 74 3b 6c 69 6e 6b 20 72  &gt;..&lt;link r
baa0: 65 6c 3d 22 61 6c 74 65 72 6e 61 74 65 22 20 74  el="alternate" t
bab0: 79 70 65 3d 22 61 70 70 6c 69 63 61 74 69 6f 6e  ype="application
bac0: 2f 72 73 73 2b 78 6d 6c 22 20 74 69 74 6c 65 3d  /rss+xml" title=
bad0: 22 52 53 53 20 46 65 65 64 22 0d 0a 20 20 20 20  "RSS Feed"..    
bae0: 20 20 68 72 65 66 3d 22 3c 73 74 72 6f 6e 67 3e    href="<strong>
baf0: 24 62 61 73 65 75 72 6c 3c 2f 73 74 72 6f 6e 67  $baseurl</strong
bb00: 3e 2f 74 69 6d 65 6c 69 6e 65 2e 72 73 73 22 26  >/timeline.rss"&
bb10: 67 74 3b 0d 0a 26 6c 74 3b 6c 69 6e 6b 20 72 65  gt;..&lt;link re
bb20: 6c 3d 22 73 74 79 6c 65 73 68 65 65 74 22 20 68  l="stylesheet" h
bb30: 72 65 66 3d 22 24 62 61 73 65 75 72 6c 2f 73 74  ref="$baseurl/st
bb40: 79 6c 65 2e 63 73 73 22 20 74 79 70 65 3d 22 74  yle.css" type="t
bb50: 65 78 74 2f 63 73 73 22 0d 0a 20 20 20 20 20 20  ext/css"..      
bb60: 6d 65 64 69 61 3d 22 73 63 72 65 65 6e 22 26 67  media="screen"&g
bb70: 74 3b 0d 0a 26 6c 74 3b 2f 68 65 61 64 26 67 74  t;..&lt;/head&gt
bb80: 3b 0d 0a 26 6c 74 3b 62 6f 64 79 26 67 74 3b 0d  ;..&lt;body&gt;.
bb90: 0a 26 6c 74 3b 64 69 76 20 63 6c 61 73 73 3d 22  .&lt;div class="
bba0: 68 65 61 64 65 72 22 26 67 74 3b 0d 0a 20 20 26  header"&gt;..  &
bbb0: 6c 74 3b 64 69 76 20 63 6c 61 73 73 3d 22 6c 6f  lt;div class="lo
bbc0: 67 6f 22 26 67 74 3b 0d 0a 20 20 20 20 26 6c 74  go"&gt;..    &lt
bbd0: 3b 69 6d 67 20 73 72 63 3d 22 3c 73 74 72 6f 6e  ;img src="<stron
bbe0: 67 3e 24 62 61 73 65 75 72 6c 3c 2f 73 74 72 6f  g>$baseurl</stro
bbf0: 6e 67 3e 2f 6c 6f 67 6f 22 20 61 6c 74 3d 22 6c  ng>/logo" alt="l
bc00: 6f 67 6f 22 26 67 74 3b 0d 0a 20 20 20 20 26 6c  ogo"&gt;..    &l
bc10: 74 3b 62 72 26 67 74 3b 26 6c 74 3b 6e 6f 62 72  t;br&gt;&lt;nobr
bc20: 26 67 74 3b 3c 73 74 72 6f 6e 67 3e 24 26 6c 74  &gt;<strong>$&lt
bc30: 3b 70 72 6f 6a 65 63 74 5f 6e 61 6d 65 26 67 74  ;project_name&gt
bc40: 3b 3c 2f 73 74 72 6f 6e 67 3e 26 6c 74 3b 2f 6e  ;</strong>&lt;/n
bc50: 6f 62 72 26 67 74 3b 0d 0a 20 20 26 6c 74 3b 2f  obr&gt;..  &lt;/
bc60: 64 69 76 26 67 74 3b 0d 0a 20 20 26 6c 74 3b 64  div&gt;..  &lt;d
bc70: 69 76 20 63 6c 61 73 73 3d 22 74 69 74 6c 65 22  iv class="title"
bc80: 26 67 74 3b 3c 73 74 72 6f 6e 67 3e 24 26 6c 74  &gt;<strong>$&lt
bc90: 3b 74 69 74 6c 65 26 67 74 3b 3c 2f 73 74 72 6f  ;title&gt;</stro
bca0: 6e 67 3e 26 6c 74 3b 2f 64 69 76 26 67 74 3b 0d  ng>&lt;/div&gt;.
bcb0: 0a 20 20 26 6c 74 3b 64 69 76 20 63 6c 61 73 73  .  &lt;div class
bcc0: 3d 22 73 74 61 74 75 73 22 26 67 74 3b 26 6c 74  ="status"&gt;&lt
bcd0: 3b 6e 6f 62 72 26 67 74 3b 3c 73 74 72 6f 6e 67  ;nobr&gt;<strong
bce0: 3e 26 6c 74 3b 74 68 31 26 67 74 3b 3c 2f 73 74  >&lt;th1&gt;</st
bcf0: 72 6f 6e 67 3e 0d 0a 20 20 20 20 20 69 66 20 7b  rong>..     if {
bd00: 3c 73 74 72 6f 6e 67 3e 5b 69 6e 66 6f 20 65 78  <strong>[info ex
bd10: 69 73 74 73 20 6c 6f 67 69 6e 5d 3c 2f 73 74 72  ists login]</str
bd20: 6f 6e 67 3e 7d 20 7b 0d 0a 20 20 20 20 20 20 20  ong>} {..       
bd30: 70 75 74 73 20 22 4c 6f 67 67 65 64 20 69 6e 20  puts "Logged in 
bd40: 61 73 20 3c 73 74 72 6f 6e 67 3e 24 6c 6f 67 69  as <strong>$logi
bd50: 6e 3c 2f 73 74 72 6f 6e 67 3e 22 0d 0a 20 20 20  n</strong>"..   
bd60: 20 20 7d 20 65 6c 73 65 20 7b 0d 0a 20 20 20 20    } else {..    
bd70: 20 20 20 70 75 74 73 20 22 4e 6f 74 20 6c 6f 67     puts "Not log
bd80: 67 65 64 20 69 6e 22 0d 0a 20 20 20 20 20 7d 0d  ged in"..     }.
bd90: 0a 20 20 26 6c 74 3b 2f 74 68 31 26 67 74 3b 26  .  &lt;/th1&gt;&
bda0: 6c 74 3b 2f 6e 6f 62 72 26 67 74 3b 26 6c 74 3b  lt;/nobr&gt;&lt;
bdb0: 2f 64 69 76 26 67 74 3b 0d 0a 26 6c 74 3b 2f 64  /div&gt;..&lt;/d
bdc0: 69 76 26 67 74 3b 0d 0a 26 6c 74 3b 64 69 76 20  iv&gt;..&lt;div 
bdd0: 63 6c 61 73 73 3d 22 6d 61 69 6e 6d 65 6e 75 22  class="mainmenu"
bde0: 26 67 74 3b 26 6c 74 3b 74 68 31 26 67 74 3b 0d  &gt;&lt;th1&gt;.
bdf0: 0a 68 74 6d 6c 20 22 26 6c 74 3b 61 20 68 72 65  .html "&lt;a hre
be00: 66 3d 27 3c 73 74 72 6f 6e 67 3e 24 62 61 73 65  f='<strong>$base
be10: 75 72 6c 24 69 6e 64 65 78 5f 70 61 67 65 3c 2f  url$index_page</
be20: 73 74 72 6f 6e 67 3e 27 26 67 74 3b 48 6f 6d 65  strong>'&gt;Home
be30: 26 6c 74 3b 2f 61 26 67 74 3b 20 22 0d 0a 69 66  &lt;/a&gt; "..if
be40: 20 7b 3c 73 74 72 6f 6e 67 3e 5b 68 61 73 63 61   {<strong>[hasca
be50: 70 20 68 5d 3c 2f 73 74 72 6f 6e 67 3e 5d 7d 20  p h]</strong>]} 
be60: 7b 0d 0a 20 20 68 74 6d 6c 20 22 26 6c 74 3b 61  {..  html "&lt;a
be70: 20 68 72 65 66 3d 27 24 62 61 73 65 75 72 6c 2f   href='$baseurl/
be80: 64 69 72 27 26 67 74 3b 46 69 6c 65 73 26 6c 74  dir'&gt;Files&lt
be90: 3b 2f 61 26 67 74 3b 20 22 0d 0a 7d 0d 0a 3c 2f  ;/a&gt; "..}..</
bea0: 70 72 65 3e 0d 0a 0d 0a 20 20 3c 68 33 3e 43 61  pre>....  <h3>Ca
beb0: 76 65 61 74 73 3c 2f 68 33 3e 0d 0a 0d 0a 20 20  veats</h3>....  
bec0: 3c 75 6c 20 63 6f 6d 70 61 63 74 3d 27 63 6f 6d  <ul compact='com
bed0: 70 61 63 74 27 3e 0d 0a 20 20 20 20 3c 6c 69 3e  pact'>..    <li>
bee0: 70 75 74 73 20 22 5b 68 65 6c 6c 6f 20 68 65 6c  puts "[hello hel
bef0: 6c 6f 5d 22 20 64 6f 65 73 6e 27 74 20 77 6f 72  lo]" doesn't wor
bf00: 6b 20 62 65 63 61 75 73 65 20 5b 20 74 72 69 67  k because [ trig
bf10: 67 65 72 73 20 74 68 65 0d 0a 20 20 20 20 69 6e  gers the..    in
bf20: 74 65 72 70 65 74 65 72 2c 20 75 73 65 20 70 75  terpeter, use pu
bf30: 74 73 20 22 26 61 6d 70 3b 23 39 31 68 65 6c 6c  ts "&amp;#91hell
bf40: 6f 20 68 65 6c 6c 6f 5d 27 3c 2f 6c 69 3e 0d 0a  o hello]'</li>..
bf50: 20 20 3c 2f 75 6c 3e 0d 0a 3c 2f 6e 6f 77 69 6b    </ul>..</nowik
bf60: 69 3e 0d 0a 3c 2f 64 69 76 3e 0d 0a 3c 64 69 76  i>..</div>..<div
bf70: 3e 0d 0a 20 20 3c 68 32 3e 3c 61 20 6e 61 6d 65  >..  <h2><a name
bf80: 3d 22 76 65 72 73 69 6f 6e 43 6f 6d 70 72 65 73  ="versionCompres
bf90: 73 65 64 22 3e 56 65 72 73 69 6f 6e 69 6e 67 20  sed">Versioning 
bfa0: 63 6f 6d 70 72 65 73 73 65 64 20 66 69 6c 65 73  compressed files
bfb0: 3c 2f 61 3e 3c 2f 68 32 3e 0d 0a 20 20 3c 68 33  </a></h2>..  <h3
bfc0: 3e 47 6f 61 6c 3c 2f 68 33 3e 0d 0a 20 20 3c 70  >Goal</h3>..  <p
bfd0: 3e 53 6f 6d 65 20 66 69 6c 65 20 66 6f 72 6d 61  >Some file forma
bfe0: 74 73 20 61 72 65 20 61 63 74 75 61 6c 6c 79 20  ts are actually 
bff0: 7a 69 70 20 61 72 63 68 69 76 65 73 20 63 6f 6e  zip archives con
c000: 74 61 69 6e 69 6e 67 20 74 65 78 74 20 66 69 6c  taining text fil
c010: 65 73 2e 20 46 6f 72 0d 0a 20 20 65 78 61 6d 70  es. For..  examp
c020: 6c 65 20 4d 69 63 72 6f 73 6f 66 74 20 4f 66 66  le Microsoft Off
c030: 69 63 65 20 32 30 30 37 20 61 6e 64 20 6e 65 77  ice 2007 and new
c040: 65 72 20 75 73 65 20 64 6f 63 78 2c 20 78 6c 73  er use docx, xls
c050: 78 20 61 6e 64 20 70 70 74 78 20 65 78 74 65 6e  x and pptx exten
c060: 73 69 6f 6e 73 20 74 6f 0d 0a 20 20 73 74 6f 72  sions to..  stor
c070: 65 20 77 68 61 74 20 69 73 20 6d 65 72 65 6c 79  e what is merely
c080: 20 78 6d 6c 20 66 69 6c 65 73 20 7a 69 70 70 65   xml files zippe
c090: 64 20 69 6e 74 6f 20 61 20 66 69 6c 65 2e 3c 2f  d into a file.</
c0a0: 70 3e 0d 0a 20 20 3c 70 3e 57 68 65 6e 20 65 64  p>..  <p>When ed
c0b0: 69 74 73 20 61 72 65 20 6d 61 64 65 20 74 6f 20  its are made to 
c0c0: 73 75 63 68 20 66 69 6c 65 73 20 61 20 76 65 72  such files a ver
c0d0: 73 69 6f 6e 69 6e 67 20 73 79 73 74 65 6d 20 69  sioning system i
c0e0: 73 20 6e 6f 74 20 65 66 66 69 63 69 65 6e 74 0d  s not efficient.
c0f0: 0a 20 20 62 65 63 61 75 73 65 20 64 69 66 66 69  .  because diffi
c100: 6e 67 20 69 73 20 6e 6f 20 6d 6f 72 65 20 61 70  ng is no more ap
c110: 70 72 6f 70 72 69 61 74 65 3c 2f 70 3e 0d 0a 20  propriate</p>.. 
c120: 20 3c 70 3e 54 68 65 20 69 64 65 61 20 69 73 20   <p>The idea is 
c130: 74 6f 20 76 65 72 73 69 6f 6e 20 74 68 65 20 64  to version the d
c140: 65 63 6f 6d 70 72 65 73 73 65 64 20 66 6f 6c 64  ecompressed fold
c150: 65 72 2e 20 41 20 73 63 72 69 70 74 20 77 69 6c  er. A script wil
c160: 6c 20 74 6f 67 67 6c 65 0d 0a 20 20 43 6f 6d 70  l toggle..  Comp
c170: 72 65 73 73 65 64 2f 55 6e 63 6f 6d 70 72 65 73  ressed/Uncompres
c180: 73 65 64 20 73 74 61 74 65 3c 2f 70 3e 0d 0a 20  sed state</p>.. 
c190: 20 3c 68 33 3e 53 61 6d 70 6c 65 20 62 61 74 63   <h3>Sample batc
c1a0: 68 20 73 63 72 69 70 74 20 66 6f 72 20 75 73 65  h script for use
c1b0: 20 77 69 74 68 20 64 6f 63 78 2c 20 78 6c 73 78   with docx, xlsx
c1c0: 20 61 6e 64 20 70 70 74 78 20 64 6f 63 75 6d 65   and pptx docume
c1d0: 6e 74 73 3c 2f 68 33 3e 0d 0a 20 20 3c 70 3e 54  nts</h3>..  <p>T
c1e0: 68 69 73 20 73 63 72 69 70 74 20 69 73 20 69 6e  his script is in
c1f0: 74 65 6e 64 65 64 20 74 6f 20 77 6f 72 6b 20 75  tended to work u
c200: 6e 64 65 72 20 4d 53 20 57 69 6e 64 6f 77 73 2e  nder MS Windows.
c210: 20 49 74 20 72 65 71 75 69 72 65 73 0d 0a 20 20   It requires..  
c220: 7a 69 70 2e 65 78 65 20 61 6e 64 20 75 6e 7a 69  zip.exe and unzi
c230: 70 2e 65 78 65 0d 0a 20 20 74 68 61 74 20 79 6f  p.exe..  that yo
c240: 75 20 63 61 6e 20 66 69 6e 64 20 66 6f 72 20 65  u can find for e
c250: 78 61 6d 70 6c 65 20 69 6e 20 67 6e 75 77 69 6e  xample in gnuwin
c260: 33 32 20 28 5b 68 74 74 70 3a 2f 2f 67 65 74 67  32 ([http://getg
c270: 6e 75 77 69 6e 33 32 2e 73 66 2e 6e 65 74 5d 29  nuwin32.sf.net])
c280: 2e 3c 2f 70 3e 0d 0a 20 20 3c 70 3e 59 6f 75 20  .</p>..  <p>You 
c290: 68 61 76 65 20 74 68 72 65 65 20 76 61 72 69 61  have three varia
c2a0: 62 6c 65 73 20 74 6f 20 73 65 74 2e 20 52 75 6e  bles to set. Run
c2b0: 6e 69 6e 67 20 74 68 69 73 20 73 63 72 69 70 74  ning this script
c2c0: 20 77 69 6c 6c 3c 2f 70 3e 0d 0a 20 20 3c 75 6c   will</p>..  <ul
c2d0: 20 63 6f 6d 70 61 63 74 3d 27 63 6f 6d 70 61 63   compact='compac
c2e0: 74 27 3e 0d 0a 20 20 20 20 3c 6c 69 3e 41 75 74  t'>..    <li>Aut
c2f0: 6f 64 65 74 65 63 74 20 77 68 65 74 68 65 72 20  odetect whether 
c300: 74 68 65 20 64 6f 63 75 6d 65 6e 74 20 69 73 20  the document is 
c310: 69 6e 20 63 6f 6d 70 72 65 73 73 65 64 20 6f 72  in compressed or
c320: 20 75 6e 63 6f 6d 70 72 65 73 73 65 64 0d 0a 20   uncompressed.. 
c330: 20 20 20 73 74 61 74 65 3c 2f 6c 69 3e 0d 0a 20     state</li>.. 
c340: 20 20 20 3c 6c 69 3e 43 6f 6e 76 65 72 74 20 66     <li>Convert f
c350: 69 6c 65 20 4d 79 5f 64 6f 63 75 6d 65 6e 74 2e  ile My_document.
c360: 64 6f 63 78 20 69 6e 74 6f 20 61 20 64 69 72 65  docx into a dire
c370: 63 74 6f 72 79 20 6f 66 20 74 68 65 20 73 61 6d  ctory of the sam
c380: 65 20 6e 61 6d 65 3c 2f 6c 69 3e 0d 0a 20 20 20  e name</li>..   
c390: 20 3c 6c 69 3e 52 65 6e 61 6d 65 20 66 69 6c 65   <li>Rename file
c3a0: 20 3c 6e 6f 77 69 6b 69 3e 5b 43 6f 6e 74 65 6e   <nowiki>[Conten
c3b0: 74 5f 54 79 70 65 73 5d 3c 2f 6e 6f 77 69 6b 69  t_Types]</nowiki
c3c0: 3e 2e 78 6d 6c 20 74 6f 20 61 20 6e 61 6d 65 20  >.xml to a name 
c3d0: 77 69 74 68 6f 75 74 0d 0a 20 20 20 20 62 72 61  without..    bra
c3e0: 63 6b 65 74 73 20 28 62 72 61 63 6b 65 74 73 20  ckets (brackets 
c3f0: 69 6e 20 66 69 6c 65 20 6e 61 6d 65 73 20 61 72  in file names ar
c400: 65 20 6e 6f 74 20 73 75 70 70 6f 72 74 65 64 20  e not supported 
c410: 62 79 20 46 6f 73 73 69 6c 29 3c 2f 6c 69 3e 0d  by Fossil)</li>.
c420: 0a 20 20 20 20 3c 6c 69 3e 70 65 72 66 6f 72 6d  .    <li>perform
c430: 20 72 65 76 65 72 73 65 20 6f 70 65 72 61 74 69   reverse operati
c440: 6f 6e 73 20 74 6f 20 63 6f 6e 76 65 72 74 20 64  ons to convert d
c450: 69 72 65 63 74 6f 72 79 20 74 6f 20 63 6f 6d 70  irectory to comp
c460: 72 65 73 73 65 64 0d 0a 20 20 20 20 64 6f 63 78  ressed..    docx
c470: 2f 78 6c 73 78 2f 70 70 74 78 20 66 69 6c 65 2e  /xlsx/pptx file.
c480: 3c 2f 6c 69 3e 0d 0a 20 20 3c 2f 75 6c 3e 0d 0a  </li>..  </ul>..
c490: 20 20 3c 70 3e 49 6e 20 74 68 69 73 20 77 61 79    <p>In this way
c4a0: 20 79 6f 75 20 63 61 6e 20 77 6f 72 6b 20 6f 6e   you can work on
c4b0: 20 61 20 64 6f 63 78 20 64 6f 63 75 6d 65 6e 74   a docx document
c4c0: 2c 20 72 75 6e 20 74 68 65 20 73 63 72 69 70 74  , run the script
c4d0: 2c 20 69 6e 73 65 72 74 20 74 68 65 0d 0a 20 20  , insert the..  
c4e0: 75 6e 63 6f 6d 70 72 65 73 73 65 64 20 66 6f 6c  uncompressed fol
c4f0: 64 65 72 20 69 6e 74 6f 20 66 6f 73 73 69 6c 20  der into fossil 
c500: 61 6e 64 20 72 75 6e 20 74 68 65 20 73 63 72 69  and run the scri
c510: 70 74 20 61 67 61 69 6e 20 74 6f 20 67 65 74 20  pt again to get 
c520: 79 6f 75 72 20 64 6f 63 75 6d 65 6e 74 0d 0a 20  your document.. 
c530: 20 62 61 63 6b 20 69 6e 20 65 64 69 74 61 62 6c   back in editabl
c540: 65 20 73 74 61 74 65 2e 3c 2f 70 3e 0d 0a 20 20  e state.</p>..  
c550: 3c 70 3e 3c 73 74 72 6f 6e 67 3e 49 6d 70 6f 72  <p><strong>Impor
c560: 74 61 6e 74 3a 3c 2f 73 74 72 6f 6e 67 3e 20 55  tant:</strong> U
c570: 73 65 20 74 68 65 20 3c 74 74 3e 2d 2d 64 6f 74  se the <tt>--dot
c580: 66 69 6c 65 73 3c 2f 74 74 3e 20 6f 70 74 69 6f  files</tt> optio
c590: 6e 20 74 6f 20 74 68 65 20 61 64 64 20 63 6f 6d  n to the add com
c5a0: 6d 61 6e 64 20 74 6f 20 69 6e 63 6c 75 64 65 20  mand to include 
c5b0: 3c 74 74 3e 72 65 6c 73 2f 2e 72 65 6c 73 3c 2f  <tt>rels/.rels</
c5c0: 74 74 3e 20 66 69 6c 65 2e 3c 2f 70 3e 0d 0a 20  tt> file.</p>.. 
c5d0: 20 3c 66 6f 6e 74 20 66 61 63 65 3d 22 6d 6f 6e   <font face="mon
c5e0: 6f 73 70 61 63 65 22 3e 0d 0a 3c 66 6f 6e 74 20  ospace">..<font 
c5f0: 63 6f 6c 6f 72 3d 22 23 38 30 38 30 38 30 22 3e  color="#808080">
c600: 26 6e 62 73 70 3b 31 20 3c 2f 66 6f 6e 74 3e 3c  &nbsp;1 </font><
c610: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 33 61 35  font color="#3a5
c620: 66 63 64 22 3e 3c 69 3e 3a 3a 20 74 6f 67 67 6c  fcd"><i>:: toggl
c630: 65 20 64 6f 63 78 20 73 74 61 74 65 20 28 63 6f  e docx state (co
c640: 6d 70 72 65 73 73 65 64 20 2f 20 75 6e 63 6f 6d  mpressed / uncom
c650: 70 72 65 73 73 65 64 29 3c 2f 69 3e 3c 2f 66 6f  pressed)</i></fo
c660: 6e 74 3e 3c 62 72 20 2f 3e 0d 0a 3c 66 6f 6e 74  nt><br />..<font
c670: 20 63 6f 6c 6f 72 3d 22 23 38 30 38 30 38 30 22   color="#808080"
c680: 3e 26 6e 62 73 70 3b 32 20 3c 2f 66 6f 6e 74 3e  >&nbsp;2 </font>
c690: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 33 61  <font color="#3a
c6a0: 35 66 63 64 22 3e 3c 69 3e 3a 3a 20 40 65 63 68  5fcd"><i>:: @ech
c6b0: 6f 20 6f 66 66 3c 2f 69 3e 3c 2f 66 6f 6e 74 3e  o off</i></font>
c6c0: 3c 62 72 20 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f  <br />..<font co
c6d0: 6c 6f 72 3d 22 23 38 30 38 30 38 30 22 3e 26 6e  lor="#808080">&n
c6e0: 62 73 70 3b 33 20 3c 2f 66 6f 6e 74 3e 3c 62 72  bsp;3 </font><br
c6f0: 20 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72   />..<font color
c700: 3d 22 23 38 30 38 30 38 30 22 3e 26 6e 62 73 70  ="#808080">&nbsp
c710: 3b 34 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  ;4 </font><font 
c720: 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36 22 3e  color="#8b4726">
c730: 53 45 54 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 0d  SET</font><font.
c740: 0a 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36 22  .color="#8b4726"
c750: 3e 26 6e 62 73 70 3b 44 4f 43 58 3c 2f 66 6f 6e  >&nbsp;DOCX</fon
c760: 74 3e 3c 66 6f 6e 74 0d 0a 63 6f 6c 6f 72 3d 22  t><font..color="
c770: 23 38 62 34 37 32 36 22 3e 3c 62 3e 3d 3c 2f 62  #8b4726"><b>=</b
c780: 3e 3c 2f 66 6f 6e 74 3e 4d 79 5f 64 6f 63 75 6d  ></font>My_docum
c790: 65 6e 74 2e 64 6f 63 78 3c 62 72 20 2f 3e 0d 0a  ent.docx<br />..
c7a0: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 30  <font color="#80
c7b0: 38 30 38 30 22 3e 26 6e 62 73 70 3b 35 20 3c 2f  8080">&nbsp;5 </
c7c0: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
c7d0: 3d 22 23 38 62 34 37 32 36 22 3e 53 45 54 3c 2f  ="#8b4726">SET</
c7e0: 66 6f 6e 74 3e 3c 66 6f 6e 74 0d 0a 63 6f 6c 6f  font><font..colo
c7f0: 72 3d 22 23 38 62 34 37 32 36 22 3e 26 6e 62 73  r="#8b4726">&nbs
c800: 70 3b 54 4d 50 46 49 4c 45 3c 2f 66 6f 6e 74 3e  p;TMPFILE</font>
c810: 3c 66 6f 6e 74 0d 0a 63 6f 6c 6f 72 3d 22 23 38  <font..color="#8
c820: 62 34 37 32 36 22 3e 3c 62 3e 3d 3c 2f 62 3e 3c  b4726"><b>=</b><
c830: 2f 66 6f 6e 74 3e 74 6d 70 5f 76 65 72 73 69 6f  /font>tmp_versio
c840: 6e 5f 63 6f 6d 70 72 65 73 73 65 64 5f 61 72 63  n_compressed_arc
c850: 68 69 76 65 2e 7a 69 70 3c 62 72 20 2f 3e 0d 0a  hive.zip<br />..
c860: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 30  <font color="#80
c870: 38 30 38 30 22 3e 26 6e 62 73 70 3b 36 20 3c 2f  8080">&nbsp;6 </
c880: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
c890: 3d 22 23 38 62 34 37 32 36 22 3e 53 45 54 3c 2f  ="#8b4726">SET</
c8a0: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
c8b0: 3d 22 23 38 62 34 37 32 36 22 3e 26 6e 62 73 70  ="#8b4726">&nbsp
c8c0: 3b 43 4d 44 5a 49 50 3c 2f 66 6f 6e 74 3e 3c 66  ;CMDZIP</font><f
c8d0: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37  ont color="#8b47
c8e0: 32 36 22 3e 3c 62 3e 3d 3c 2f 62 3e 3c 2f 66 6f  26"><b>=</b></fo
c8f0: 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  nt><font color="
c900: 23 32 32 38 62 32 32 22 3e 26 71 75 6f 74 3b 50  #228b22">&quot;P
c910: 3a 5c 62 69 6e 5c 7a 69 70 2e 65 78 65 26 71 75  :\bin\zip.exe&qu
c920: 6f 74 3b 3c 2f 66 6f 6e 74 3e 3c 62 72 20 2f 3e  ot;</font><br />
c930: 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  ..<font color="#
c940: 38 30 38 30 38 30 22 3e 26 6e 62 73 70 3b 37 20  808080">&nbsp;7 
c950: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
c960: 6f 72 3d 22 23 38 62 34 37 32 36 22 3e 53 45 54  or="#8b4726">SET
c970: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
c980: 6f 72 3d 22 23 38 62 34 37 32 36 22 3e 26 6e 62  or="#8b4726">&nb
c990: 73 70 3b 43 4d 44 55 4e 5a 49 50 3c 2f 66 6f 6e  sp;CMDUNZIP</fon
c9a0: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
c9b0: 38 62 34 37 32 36 22 3e 3c 62 3e 3d 3c 2f 62 3e  8b4726"><b>=</b>
c9c0: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
c9d0: 6f 72 3d 22 23 32 32 38 62 32 32 22 3e 26 71 75  or="#228b22">&qu
c9e0: 6f 74 3b 50 3a 5c 62 69 6e 5c 75 6e 7a 69 70 2e  ot;P:\bin\unzip.
c9f0: 65 78 65 26 71 75 6f 74 3b 3c 2f 66 6f 6e 74 3e  exe&quot;</font>
ca00: 3c 62 72 20 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f  <br />..<font co
ca10: 6c 6f 72 3d 22 23 38 30 38 30 38 30 22 3e 26 6e  lor="#808080">&n
ca20: 62 73 70 3b 38 20 3c 2f 66 6f 6e 74 3e 3c 62 72  bsp;8 </font><br
ca30: 20 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72   />..<font color
ca40: 3d 22 23 38 30 38 30 38 30 22 3e 26 6e 62 73 70  ="#808080">&nbsp
ca50: 3b 39 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  ;9 </font><font 
ca60: 63 6f 6c 6f 72 3d 22 23 33 61 35 66 63 64 22 3e  color="#3a5fcd">
ca70: 3c 69 3e 3a 3a 20 63 68 65 63 6b 20 77 68 65 74  <i>:: check whet
ca80: 68 65 72 20 69 74 20 69 73 20 69 6e 20 61 20 64  her it is in a d
ca90: 69 72 65 63 74 6f 72 79 20 6f 72 20 66 69 6c 65  irectory or file
caa0: 20 73 74 61 74 65 3c 2f 69 3e 3c 2f 66 6f 6e 74   state</i></font
cab0: 3e 3c 62 72 20 2f 3e 0d 0a 3c 66 6f 6e 74 20 63  ><br />..<font c
cac0: 6f 6c 6f 72 3d 22 23 38 30 38 30 38 30 22 3e 31  olor="#808080">1
cad0: 30 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63  0 </font><font c
cae0: 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36 22 3e 3c  olor="#8b4726"><
caf0: 62 3e 69 66 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c  b>if</b></font><
cb00: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34  font color="#8b4
cb10: 37 32 36 22 3e 3c 62 3e 26 6e 62 73 70 3b 65 78  726"><b>&nbsp;ex
cb20: 69 73 74 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 26 6e  ist</b></font>&n
cb30: 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  bsp;<font color=
cb40: 22 23 38 62 34 37 32 36 22 3e 25 54 45 4d 50 25  "#8b4726">%TEMP%
cb50: 3c 2f 66 6f 6e 74 3e 5c 3c 66 6f 6e 74 20 63 6f  </font>\<font co
cb60: 6c 6f 72 3d 22 23 38 62 34 37 32 36 22 3e 25 54  lor="#8b4726">%T
cb70: 4d 50 46 49 4c 45 25 3c 2f 66 6f 6e 74 3e 26 6e  MPFILE%</font>&n
cb80: 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  bsp;<font color=
cb90: 22 23 38 62 34 37 32 36 22 3e 64 65 6c 3c 2f 66  "#8b4726">del</f
cba0: 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20  ont>&nbsp;<font 
cbb0: 63 6f 6c 6f 72 3d 22 23 32 37 34 30 38 62 22 3e  color="#27408b">
cbc0: 2f 71 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c  /q</font>&nbsp;<
cbd0: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 32 32 38  font color="#228
cbe0: 62 32 32 22 3e 26 71 75 6f 74 3b 3c 2f 66 6f 6e  b22">&quot;</fon
cbf0: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
cc00: 38 62 34 37 32 36 22 3e 25 54 45 4d 50 25 3c 2f  8b4726">%TEMP%</
cc10: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
cc20: 3d 22 23 32 32 38 62 32 32 22 3e 5c 3c 2f 66 6f  ="#228b22">\</fo
cc30: 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  nt><font color="
cc40: 23 38 62 34 37 32 36 22 3e 25 54 4d 50 46 49 4c  #8b4726">%TMPFIL
cc50: 45 25 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63  E%</font><font c
cc60: 6f 6c 6f 72 3d 22 23 32 32 38 62 32 32 22 3e 26  olor="#228b22">&
cc70: 71 75 6f 74 3b 3c 2f 66 6f 6e 74 3e 3c 62 72 20  quot;</font><br 
cc80: 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  />..<font color=
cc90: 22 23 38 30 38 30 38 30 22 3e 31 31 20 3c 2f 66  "#808080">11 </f
cca0: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
ccb0: 22 23 38 62 34 37 32 36 22 3e 3c 62 3e 69 66 3c  "#8b4726"><b>if<
ccc0: 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  /b></font><font 
ccd0: 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36 22 3e  color="#8b4726">
cce0: 3c 62 3e 26 6e 62 73 70 3b 65 78 69 73 74 3c 2f  <b>&nbsp;exist</
ccf0: 62 3e 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c  b></font>&nbsp;<
cd00: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34  font color="#8b4
cd10: 37 32 36 22 3e 25 44 4f 43 58 25 3c 2f 66 6f 6e  726">%DOCX%</fon
cd20: 74 3e 5c 4e 55 4c 20 28 3c 62 72 20 2f 3e 0d 0a  t>\NUL (<br />..
cd30: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 30  <font color="#80
cd40: 38 30 38 30 22 3e 31 32 20 3c 2f 66 6f 6e 74 3e  8080">12 </font>
cd50: 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e 62 73  &nbsp;&nbsp;&nbs
cd60: 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f  p;&nbsp;<font co
cd70: 6c 6f 72 3d 22 23 38 62 34 37 32 36 22 3e 3c 62  lor="#8b4726"><b
cd80: 3e 63 61 6c 6c 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e  >call</b></font>
cd90: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62  <font color="#8b
cda0: 34 37 32 36 22 3e 3c 62 3e 3c 75 3e 26 6e 62 73  4726"><b><u>&nbs
cdb0: 70 3b 3a 7a 69 70 5f 64 69 72 65 63 74 6f 72 79  p;:zip_directory
cdc0: 3c 2f 75 3e 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c  </u></b></font><
cdd0: 62 72 20 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c  br />..<font col
cde0: 6f 72 3d 22 23 38 30 38 30 38 30 22 3e 31 33 20  or="#808080">13 
cdf0: 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62  </font>&nbsp;&nb
ce00: 73 70 3b 26 6e 62 73 70 3b 26 6e 62 73 70 3b 3c  sp;&nbsp;&nbsp;<
ce10: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34  font color="#8b4
ce20: 37 32 36 22 3e 3c 62 3e 67 6f 74 6f 3c 2f 62 3e  726"><b>goto</b>
ce30: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
ce40: 6f 72 3d 22 23 38 62 34 37 32 36 22 3e 3c 62 3e  or="#8b4726"><b>
ce50: 3c 75 3e 26 6e 62 73 70 3b 3a 65 6e 64 3c 2f 75  <u>&nbsp;:end</u
ce60: 3e 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 62 72 20  ></b></font><br 
ce70: 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  />..<font color=
ce80: 22 23 38 30 38 30 38 30 22 3e 31 34 20 3c 2f 66  "#808080">14 </f
ce90: 6f 6e 74 3e 29 3c 62 72 20 2f 3e 0d 0a 3c 66 6f  ont>)<br />..<fo
cea0: 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 30 38 30 38  nt color="#80808
ceb0: 30 22 3e 31 35 20 3c 2f 66 6f 6e 74 3e 3c 66 6f  0">15 </font><fo
cec0: 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32  nt color="#8b472
ced0: 36 22 3e 3c 62 3e 69 66 3c 2f 62 3e 3c 2f 66 6f  6"><b>if</b></fo
cee0: 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  nt><font color="
cef0: 23 38 62 34 37 32 36 22 3e 3c 62 3e 26 6e 62 73  #8b4726"><b>&nbs
cf00: 70 3b 65 78 69 73 74 3c 2f 62 3e 3c 2f 66 6f 6e  p;exist</b></fon
cf10: 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f  t>&nbsp;<font co
cf20: 6c 6f 72 3d 22 23 38 62 34 37 32 36 22 3e 25 44  lor="#8b4726">%D
cf30: 4f 43 58 25 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70  OCX%</font>&nbsp
cf40: 3b 28 3c 62 72 20 2f 3e 0d 0a 3c 66 6f 6e 74 20  ;(<br />..<font 
cf50: 63 6f 6c 6f 72 3d 22 23 38 30 38 30 38 30 22 3e  color="#808080">
cf60: 31 36 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b  16 </font>&nbsp;
cf70: 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e 62 73  &nbsp;&nbsp;&nbs
cf80: 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  p;<font color="#
cf90: 38 62 34 37 32 36 22 3e 3c 62 3e 63 61 6c 6c 3c  8b4726"><b>call<
cfa0: 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  /b></font><font 
cfb0: 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36 22 3e  color="#8b4726">
cfc0: 3c 62 3e 3c 75 3e 26 6e 62 73 70 3b 3a 75 6e 7a  <b><u>&nbsp;:unz
cfd0: 69 70 5f 66 69 6c 65 3c 2f 75 3e 3c 2f 62 3e 3c  ip_file</u></b><
cfe0: 2f 66 6f 6e 74 3e 3c 62 72 20 2f 3e 0d 0a 3c 66  /font><br />..<f
cff0: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 30 38 30  ont color="#8080
d000: 38 30 22 3e 31 37 20 3c 2f 66 6f 6e 74 3e 26 6e  80">17 </font>&n
d010: 62 73 70 3b 26 6e 62 73 70 3b 26 6e 62 73 70 3b  bsp;&nbsp;&nbsp;
d020: 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f  &nbsp;<font colo
d030: 72 3d 22 23 38 62 34 37 32 36 22 3e 3c 62 3e 67  r="#8b4726"><b>g
d040: 6f 74 6f 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66  oto</b></font><f
d050: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37  ont color="#8b47
d060: 32 36 22 3e 3c 62 3e 3c 75 3e 26 6e 62 73 70 3b  26"><b><u>&nbsp;
d070: 3a 65 6e 64 3c 2f 75 3e 3c 2f 62 3e 3c 2f 66 6f  :end</u></b></fo
d080: 6e 74 3e 3c 62 72 20 2f 3e 0d 0a 3c 66 6f 6e 74  nt><br />..<font
d090: 20 63 6f 6c 6f 72 3d 22 23 38 30 38 30 38 30 22   color="#808080"
d0a0: 3e 31 38 20 3c 2f 66 6f 6e 74 3e 29 3c 62 72 20  >18 </font>)<br 
d0b0: 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  />..<font color=
d0c0: 22 23 38 30 38 30 38 30 22 3e 31 39 20 3c 2f 66  "#808080">19 </f
d0d0: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
d0e0: 22 23 38 62 34 37 32 36 22 3e 65 63 68 6f 3c 2f  "#8b4726">echo</
d0f0: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
d100: 3d 22 23 32 32 38 62 32 32 22 3e 26 6e 62 73 70  ="#228b22">&nbsp
d110: 3b 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f  ;</font><font co
d120: 6c 6f 72 3d 22 23 38 62 34 37 32 36 22 3e 25 44  lor="#8b4726">%D
d130: 4f 43 58 25 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74  OCX%</font><font
d140: 20 63 6f 6c 6f 72 3d 22 23 32 32 38 62 32 32 22   color="#228b22"
d150: 3e 26 6e 62 73 70 3b 6e 6f 74 20 66 6f 75 6e 64  >&nbsp;not found
d160: 3c 2f 66 6f 6e 74 3e 3c 62 72 20 2f 3e 0d 0a 3c  </font><br />..<
d170: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 30 38  font color="#808
d180: 30 38 30 22 3e 32 30 20 3c 2f 66 6f 6e 74 3e 3c  080">20 </font><
d190: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34  font color="#8b4
d1a0: 37 32 36 22 3e 3c 62 3e 67 6f 74 6f 3c 2f 62 3e  726"><b>goto</b>
d1b0: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
d1c0: 6f 72 3d 22 23 38 62 34 37 32 36 22 3e 3c 62 3e  or="#8b4726"><b>
d1d0: 3c 75 3e 26 6e 62 73 70 3b 3a 65 6e 64 3c 2f 75  <u>&nbsp;:end</u
d1e0: 3e 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 62 72 20  ></b></font><br 
d1f0: 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  />..<font color=
d200: 22 23 38 30 38 30 38 30 22 3e 32 31 20 3c 2f 66  "#808080">21 </f
d210: 6f 6e 74 3e 3c 62 72 20 2f 3e 0d 0a 3c 66 6f 6e  ont><br />..<fon
d220: 74 20 63 6f 6c 6f 72 3d 22 23 38 30 38 30 38 30  t color="#808080
d230: 22 3e 32 32 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  ">22 </font><fon
d240: 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36  t color="#8b4726
d250: 22 3e 3c 62 3e 3c 75 3e 3a 7a 69 70 5f 64 69 72  "><b><u>:zip_dir
d260: 65 63 74 6f 72 79 3c 2f 75 3e 3c 2f 62 3e 3c 2f  ectory</u></b></
d270: 66 6f 6e 74 3e 3c 62 72 20 2f 3e 0d 0a 3c 66 6f  font><br />..<fo
d280: 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 30 38 30 38  nt color="#80808
d290: 30 22 3e 32 33 20 3c 2f 66 6f 6e 74 3e 26 6e 62  0">23 </font>&nb
d2a0: 73 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63  sp;&nbsp;<font c
d2b0: 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36 22 3e 65  olor="#8b4726">e
d2c0: 63 68 6f 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  cho</font><font 
d2d0: 63 6f 6c 6f 72 3d 22 23 32 32 38 62 32 32 22 3e  color="#228b22">
d2e0: 26 6e 62 73 70 3b 5a 69 70 70 69 6e 67 20 3c 2f  &nbsp;Zipping </
d2f0: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
d300: 3d 22 23 38 62 34 37 32 36 22 3e 25 44 4f 43 58  ="#8b4726">%DOCX
d310: 25 3c 2f 66 6f 6e 74 3e 3c 62 72 20 2f 3e 0d 0a  %</font><br />..
d320: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 30  <font color="#80
d330: 38 30 38 30 22 3e 32 34 20 3c 2f 66 6f 6e 74 3e  8080">24 </font>
d340: 26 6e 62 73 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e  &nbsp;&nbsp;<fon
d350: 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36  t color="#8b4726
d360: 22 3e 70 75 73 68 64 3c 2f 66 6f 6e 74 3e 26 6e  ">pushd</font>&n
d370: 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  bsp;<font color=
d380: 22 23 38 62 34 37 32 36 22 3e 25 44 4f 43 58 25  "#8b4726">%DOCX%
d390: 3c 2f 66 6f 6e 74 3e 3c 62 72 20 2f 3e 0d 0a 3c  </font><br />..<
d3a0: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 30 38  font color="#808
d3b0: 30 38 30 22 3e 32 35 20 3c 2f 66 6f 6e 74 3e 26  080">25 </font>&
d3c0: 6e 62 73 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74  nbsp;&nbsp;<font
d3d0: 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36 22   color="#8b4726"
d3e0: 3e 72 65 6e 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70  >ren</font>&nbsp
d3f0: 3b 43 6f 6e 74 65 6e 74 5f 54 79 70 65 73 2e 78  ;Content_Types.x
d400: 6d 6c 20 3c 6e 6f 77 69 6b 69 3e 5b 43 6f 6e 74  ml <nowiki>[Cont
d410: 65 6e 74 5f 54 79 70 65 73 5d 2e 78 6d 6c 3c 2f  ent_Types].xml</
d420: 6e 6f 77 69 6b 69 3e 3c 62 72 20 2f 3e 0d 0a 3c  nowiki><br />..<
d430: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 30 38  font color="#808
d440: 30 38 30 22 3e 32 36 20 3c 2f 66 6f 6e 74 3e 26  080">26 </font>&
d450: 6e 62 73 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74  nbsp;&nbsp;<font
d460: 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36 22   color="#8b4726"
d470: 3e 25 43 4d 44 5a 49 50 25 3c 2f 66 6f 6e 74 3e  >%CMDZIP%</font>
d480: 26 6e 62 73 70 3b 2d 39 20 2d 72 20 3c 66 6f 6e  &nbsp;-9 -r <fon
d490: 74 20 63 6f 6c 6f 72 3d 22 23 32 32 38 62 32 32  t color="#228b22
d4a0: 22 3e 26 71 75 6f 74 3b 3c 2f 66 6f 6e 74 3e 3c  ">&quot;</font><
d4b0: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34  font color="#8b4
d4c0: 37 32 36 22 3e 25 54 45 4d 50 25 3c 2f 66 6f 6e  726">%TEMP%</fon
d4d0: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
d4e0: 32 32 38 62 32 32 22 3e 5c 3c 2f 66 6f 6e 74 3e  228b22">\</font>
d4f0: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62  <font color="#8b
d500: 34 37 32 36 22 3e 25 54 4d 50 46 49 4c 45 25 3c  4726">%TMPFILE%<
d510: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
d520: 72 3d 22 23 32 32 38 62 32 32 22 3e 26 71 75 6f  r="#228b22">&quo
d530: 74 3b 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 2e  t;</font>&nbsp;.
d540: 5c 2a 3c 62 72 20 2f 3e 0d 0a 3c 66 6f 6e 74 20  \*<br />..<font 
d550: 63 6f 6c 6f 72 3d 22 23 38 30 38 30 38 30 22 3e  color="#808080">
d560: 32 37 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b  27 </font>&nbsp;
d570: 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f  &nbsp;<font colo
d580: 72 3d 22 23 38 62 34 37 32 36 22 3e 3c 62 3e 69  r="#8b4726"><b>i
d590: 66 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  f</b></font><fon
d5a0: 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36  t color="#8b4726
d5b0: 22 3e 3c 62 3e 26 6e 62 73 70 3b 6e 6f 74 20 65  "><b>&nbsp;not e
d5c0: 78 69 73 74 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 26  xist</b></font>&
d5d0: 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72  nbsp;<font color
d5e0: 3d 22 23 32 32 38 62 32 32 22 3e 26 71 75 6f 74  ="#228b22">&quot
d5f0: 3b 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f  ;</font><font co
d600: 6c 6f 72 3d 22 23 38 62 34 37 32 36 22 3e 25 54  lor="#8b4726">%T
d610: 45 4d 50 25 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74  EMP%</font><font
d620: 20 63 6f 6c 6f 72 3d 22 23 32 32 38 62 32 32 22   color="#228b22"
d630: 3e 5c 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63  >\</font><font c
d640: 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36 22 3e 25  olor="#8b4726">%
d650: 54 4d 50 46 49 4c 45 25 3c 2f 66 6f 6e 74 3e 3c  TMPFILE%</font><
d660: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 32 32 38  font color="#228
d670: 62 32 32 22 3e 26 71 75 6f 74 3b 3c 2f 66 6f 6e  b22">&quot;</fon
d680: 74 3e 26 6e 62 73 70 3b 28 3c 62 72 20 2f 3e 0d  t>&nbsp;(<br />.
d690: 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38  .<font color="#8
d6a0: 30 38 30 38 30 22 3e 32 38 20 3c 2f 66 6f 6e 74  08080">28 </font
d6b0: 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 33  ><font color="#3
d6c0: 61 35 66 63 64 22 3e 3c 69 3e 26 6e 62 73 70 3b  a5fcd"><i>&nbsp;
d6d0: 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e 62 73  &nbsp;&nbsp;&nbs
d6e0: 70 3b 3a 3a 20 63 61 6e 63 65 6c 3c 2f 69 3e 3c  p;:: cancel</i><
d6f0: 2f 66 6f 6e 74 3e 3c 62 72 20 2f 3e 0d 0a 3c 66  /font><br />..<f
d700: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 30 38 30  ont color="#8080
d710: 38 30 22 3e 32 39 20 3c 2f 66 6f 6e 74 3e 26 6e  80">29 </font>&n
d720: 62 73 70 3b 26 6e 62 73 70 3b 26 6e 62 73 70 3b  bsp;&nbsp;&nbsp;
d730: 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f  &nbsp;<font colo
d740: 72 3d 22 23 38 62 34 37 32 36 22 3e 72 65 6e 3c  r="#8b4726">ren<
d750: 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 6e 6f 77  /font>&nbsp;<now
d760: 69 6b 69 3e 5b 43 6f 6e 74 65 6e 74 5f 54 79 70  iki>[Content_Typ
d770: 65 73 5d 3c 2f 6e 6f 77 69 6b 69 3e 2e 78 6d 6c  es]</nowiki>.xml
d780: 20 43 6f 6e 74 65 6e 74 5f 54 79 70 65 73 2e 78   Content_Types.x
d790: 6d 6c 3c 62 72 20 2f 3e 0d 0a 3c 66 6f 6e 74 20  ml<br />..<font 
d7a0: 63 6f 6c 6f 72 3d 22 23 38 30 38 30 38 30 22 3e  color="#808080">
d7b0: 33 30 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b  30 </font>&nbsp;
d7c0: 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e 62 73  &nbsp;&nbsp;&nbs
d7d0: 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  p;<font color="#
d7e0: 38 62 34 37 32 36 22 3e 70 6f 70 64 3c 2f 66 6f  8b4726">popd</fo
d7f0: 6e 74 3e 3c 62 72 20 2f 3e 0d 0a 3c 66 6f 6e 74  nt><br />..<font
d800: 20 63 6f 6c 6f 72 3d 22 23 38 30 38 30 38 30 22   color="#808080"
d810: 3e 33 31 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70  >31 </font>&nbsp
d820: 3b 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e 62  ;&nbsp;&nbsp;&nb
d830: 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  sp;<font color="
d840: 23 38 62 34 37 32 36 22 3e 3c 62 3e 67 6f 74 6f  #8b4726"><b>goto
d850: 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74  </b></font><font
d860: 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36 22   color="#8b4726"
d870: 3e 3c 62 3e 3c 75 3e 26 6e 62 73 70 3b 3a 65 6e  ><b><u>&nbsp;:en
d880: 64 3c 2f 75 3e 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e  d</u></b></font>
d890: 3c 62 72 20 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f  <br />..<font co
d8a0: 6c 6f 72 3d 22 23 38 30 38 30 38 30 22 3e 33 32  lor="#808080">32
d8b0: 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e   </font>&nbsp;&n
d8c0: 62 73 70 3b 29 3c 62 72 20 2f 3e 0d 0a 3c 66 6f  bsp;)<br />..<fo
d8d0: 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 30 38 30 38  nt color="#80808
d8e0: 30 22 3e 33 33 20 3c 2f 66 6f 6e 74 3e 26 6e 62  0">33 </font>&nb
d8f0: 73 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63  sp;&nbsp;<font c
d900: 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36 22 3e 70  olor="#8b4726">p
d910: 6f 70 64 3c 2f 66 6f 6e 74 3e 3c 62 72 20 2f 3e  opd</font><br />
d920: 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  ..<font color="#
d930: 38 30 38 30 38 30 22 3e 33 34 20 3c 2f 66 6f 6e  808080">34 </fon
d940: 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b 3c 66  t>&nbsp;&nbsp;<f
d950: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37  ont color="#8b47
d960: 32 36 22 3e 72 6d 64 69 72 3c 2f 66 6f 6e 74 3e  26">rmdir</font>
d970: 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f  &nbsp;<font colo
d980: 72 3d 22 23 32 32 38 62 32 32 22 3e 26 71 75 6f  r="#228b22">&quo
d990: 74 3b 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63  t;</font><font c
d9a0: 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36 22 3e 25  olor="#8b4726">%
d9b0: 44 4f 43 58 25 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  DOCX%</font><fon
d9c0: 74 20 63 6f 6c 6f 72 3d 22 23 32 32 38 62 32 32  t color="#228b22
d9d0: 22 3e 26 71 75 6f 74 3b 3c 2f 66 6f 6e 74 3e 26  ">&quot;</font>&
d9e0: 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72  nbsp;<font color
d9f0: 3d 22 23 32 37 34 30 38 62 22 3e 2f 73 3c 2f 66  ="#27408b">/s</f
da00: 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20  ont>&nbsp;<font 
da10: 63 6f 6c 6f 72 3d 22 23 32 37 34 30 38 62 22 3e  color="#27408b">
da20: 2f 71 3c 2f 66 6f 6e 74 3e 3c 62 72 20 2f 3e 0d  /q</font><br />.
da30: 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38  .<font color="#8
da40: 30 38 30 38 30 22 3e 33 35 20 3c 2f 66 6f 6e 74  08080">35 </font
da50: 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b 3c 66 6f  >&nbsp;&nbsp;<fo
da60: 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32  nt color="#8b472
da70: 36 22 3e 6d 6f 76 65 3c 2f 66 6f 6e 74 3e 26 6e  6">move</font>&n
da80: 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  bsp;<font color=
da90: 22 23 32 32 38 62 32 32 22 3e 26 71 75 6f 74 3b  "#228b22">&quot;
daa0: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
dab0: 6f 72 3d 22 23 38 62 34 37 32 36 22 3e 25 54 45  or="#8b4726">%TE
dac0: 4d 50 25 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  MP%</font><font 
dad0: 63 6f 6c 6f 72 3d 22 23 32 32 38 62 32 32 22 3e  color="#228b22">
dae0: 5c 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f  \</font><font co
daf0: 6c 6f 72 3d 22 23 38 62 34 37 32 36 22 3e 25 54  lor="#8b4726">%T
db00: 4d 50 46 49 4c 45 25 3c 2f 66 6f 6e 74 3e 3c 66  MPFILE%</font><f
db10: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 32 32 38 62  ont color="#228b
db20: 32 32 22 3e 26 71 75 6f 74 3b 3c 2f 66 6f 6e 74  22">&quot;</font
db30: 3e 26 6e 62 73 70 3b 2e 3c 62 72 20 2f 3e 0d 0a  >&nbsp;.<br />..
db40: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 30  <font color="#80
db50: 38 30 38 30 22 3e 33 36 20 3c 2f 66 6f 6e 74 3e  8080">36 </font>
db60: 26 6e 62 73 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e  &nbsp;&nbsp;<fon
db70: 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36  t color="#8b4726
db80: 22 3e 72 65 6e 3c 2f 66 6f 6e 74 3e 26 6e 62 73  ">ren</font>&nbs
db90: 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  p;<font color="#
dba0: 32 32 38 62 32 32 22 3e 26 71 75 6f 74 3b 3c 2f  228b22">&quot;</
dbb0: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
dbc0: 3d 22 23 38 62 34 37 32 36 22 3e 25 54 4d 50 46  ="#8b4726">%TMPF
dbd0: 49 4c 45 25 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74  ILE%</font><font
dbe0: 20 63 6f 6c 6f 72 3d 22 23 32 32 38 62 32 32 22   color="#228b22"
dbf0: 3e 26 71 75 6f 74 3b 3c 2f 66 6f 6e 74 3e 26 6e  >&quot;</font>&n
dc00: 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  bsp;<font color=
dc10: 22 23 32 32 38 62 32 32 22 3e 26 71 75 6f 74 3b  "#228b22">&quot;
dc20: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
dc30: 6f 72 3d 22 23 38 62 34 37 32 36 22 3e 25 44 4f  or="#8b4726">%DO
dc40: 43 58 25 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  CX%</font><font 
dc50: 63 6f 6c 6f 72 3d 22 23 32 32 38 62 32 32 22 3e  color="#228b22">
dc60: 26 71 75 6f 74 3b 3c 2f 66 6f 6e 74 3e 3c 62 72  &quot;</font><br
dc70: 20 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72   />..<font color
dc80: 3d 22 23 38 30 38 30 38 30 22 3e 33 37 20 3c 2f  ="#808080">37 </
dc90: 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70  font>&nbsp;&nbsp
dca0: 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38  ;<font color="#8
dcb0: 62 34 37 32 36 22 3e 3c 62 3e 67 6f 74 6f 3c 2f  b4726"><b>goto</
dcc0: 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63  b></font><font c
dcd0: 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36 22 3e 3c  olor="#8b4726"><
dce0: 62 3e 3c 75 3e 26 6e 62 73 70 3b 3a 65 6e 64 3c  b><u>&nbsp;:end<
dcf0: 2f 75 3e 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 62  /u></b></font><b
dd00: 72 20 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f  r />..<font colo
dd10: 72 3d 22 23 38 30 38 30 38 30 22 3e 33 38 20 3c  r="#808080">38 <
dd20: 2f 66 6f 6e 74 3e 3c 62 72 20 2f 3e 0d 0a 3c 66  /font><br />..<f
dd30: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 30 38 30  ont color="#8080
dd40: 38 30 22 3e 33 39 20 3c 2f 66 6f 6e 74 3e 3c 66  80">39 </font><f
dd50: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37  ont color="#8b47
dd60: 32 36 22 3e 3c 62 3e 3c 75 3e 3a 75 6e 7a 69 70  26"><b><u>:unzip
dd70: 5f 66 69 6c 65 3c 2f 75 3e 3c 2f 62 3e 3c 2f 66  _file</u></b></f
dd80: 6f 6e 74 3e 3c 62 72 20 2f 3e 0d 0a 3c 66 6f 6e  ont><br />..<fon
dd90: 74 20 63 6f 6c 6f 72 3d 22 23 38 30 38 30 38 30  t color="#808080
dda0: 22 3e 34 30 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73  ">40 </font>&nbs
ddb0: 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f  p;&nbsp;<font co
ddc0: 6c 6f 72 3d 22 23 38 62 34 37 32 36 22 3e 72 65  lor="#8b4726">re
ddd0: 6e 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66  n</font>&nbsp;<f
dde0: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 32 32 38 62  ont color="#228b
ddf0: 32 32 22 3e 26 71 75 6f 74 3b 3c 2f 66 6f 6e 74  22">&quot;</font
de00: 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38  ><font color="#8
de10: 62 34 37 32 36 22 3e 25 44 4f 43 58 25 3c 2f 66  b4726">%DOCX%</f
de20: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
de30: 22 23 32 32 38 62 32 32 22 3e 26 71 75 6f 74 3b  "#228b22">&quot;
de40: 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f  </font>&nbsp;<fo
de50: 6e 74 20 63 6f 6c 6f 72 3d 22 23 32 32 38 62 32  nt color="#228b2
de60: 32 22 3e 26 71 75 6f 74 3b 3c 2f 66 6f 6e 74 3e  2">&quot;</font>
de70: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62  <font color="#8b
de80: 34 37 32 36 22 3e 25 54 4d 50 46 49 4c 45 25 3c  4726">%TMPFILE%<
de90: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
dea0: 72 3d 22 23 32 32 38 62 32 32 22 3e 26 71 75 6f  r="#228b22">&quo
deb0: 74 3b 3c 2f 66 6f 6e 74 3e 3c 62 72 20 2f 3e 0d  t;</font><br />.
dec0: 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38  .<font color="#8
ded0: 30 38 30 38 30 22 3e 34 31 20 3c 2f 66 6f 6e 74  08080">41 </font
dee0: 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b 3c 66 6f  >&nbsp;&nbsp;<fo
def0: 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32  nt color="#8b472
df00: 36 22 3e 6d 6f 76 65 3c 2f 66 6f 6e 74 3e 26 6e  6">move</font>&n
df10: 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  bsp;<font color=
df20: 22 23 32 32 38 62 32 32 22 3e 26 71 75 6f 74 3b  "#228b22">&quot;
df30: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
df40: 6f 72 3d 22 23 38 62 34 37 32 36 22 3e 25 54 4d  or="#8b4726">%TM
df50: 50 46 49 4c 45 25 3c 2f 66 6f 6e 74 3e 3c 66 6f  PFILE%</font><fo
df60: 6e 74 20 63 6f 6c 6f 72 3d 22 23 32 32 38 62 32  nt color="#228b2
df70: 32 22 3e 26 71 75 6f 74 3b 3c 2f 66 6f 6e 74 3e  2">&quot;</font>
df80: 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f  &nbsp;<font colo
df90: 72 3d 22 23 32 32 38 62 32 32 22 3e 26 71 75 6f  r="#228b22">&quo
dfa0: 74 3b 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63  t;</font><font c
dfb0: 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36 22 3e 25  olor="#8b4726">%
dfc0: 54 45 4d 50 25 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  TEMP%</font><fon
dfd0: 74 20 63 6f 6c 6f 72 3d 22 23 32 32 38 62 32 32  t color="#228b22
dfe0: 22 3e 26 71 75 6f 74 3b 3c 2f 66 6f 6e 74 3e 5c  ">&quot;</font>\
dff0: 3c 62 72 20 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f  <br />..<font co
e000: 6c 6f 72 3d 22 23 38 30 38 30 38 30 22 3e 34 32  lor="#808080">42
e010: 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e   </font>&nbsp;&n
e020: 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  bsp;<font color=
e030: 22 23 38 62 34 37 32 36 22 3e 6d 6b 64 69 72 3c  "#8b4726">mkdir<
e040: 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e  /font>&nbsp;<fon
e050: 74 20 63 6f 6c 6f 72 3d 22 23 32 32 38 62 32 32  t color="#228b22
e060: 22 3e 26 71 75 6f 74 3b 3c 2f 66 6f 6e 74 3e 3c  ">&quot;</font><
e070: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34  font color="#8b4
e080: 37 32 36 22 3e 25 44 4f 43 58 25 3c 2f 66 6f 6e  726">%DOCX%</fon
e090: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
e0a0: 32 32 38 62 32 32 22 3e 26 71 75 6f 74 3b 3c 2f  228b22">&quot;</
e0b0: 66 6f 6e 74 3e 3c 62 72 20 2f 3e 0d 0a 3c 66 6f  font><br />..<fo
e0c0: 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 30 38 30 38  nt color="#80808
e0d0: 30 22 3e 34 33 20 3c 2f 66 6f 6e 74 3e 26 6e 62  0">43 </font>&nb
e0e0: 73 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63  sp;&nbsp;<font c
e0f0: 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36 22 3e 70  olor="#8b4726">p
e100: 75 73 68 64 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70  ushd</font>&nbsp
e110: 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 32  ;<font color="#2
e120: 32 38 62 32 32 22 3e 26 71 75 6f 74 3b 3c 2f 66  28b22">&quot;</f
e130: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
e140: 22 23 38 62 34 37 32 36 22 3e 25 44 4f 43 58 25  "#8b4726">%DOCX%
e150: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
e160: 6f 72 3d 22 23 32 32 38 62 32 32 22 3e 26 71 75  or="#228b22">&qu
e170: 6f 74 3b 3c 2f 66 6f 6e 74 3e 3c 62 72 20 2f 3e  ot;</font><br />
e180: 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  ..<font color="#
e190: 38 30 38 30 38 30 22 3e 34 34 20 3c 2f 66 6f 6e  808080">44 </fon
e1a0: 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b 3c 66  t>&nbsp;&nbsp;<f
e1b0: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37  ont color="#8b47
e1c0: 32 36 22 3e 25 43 4d 44 55 4e 5a 49 50 25 3c 2f  26">%CMDUNZIP%</
e1d0: 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74  font>&nbsp;<font
e1e0: 20 63 6f 6c 6f 72 3d 22 23 32 32 38 62 32 32 22   color="#228b22"
e1f0: 3e 26 71 75 6f 74 3b 3c 2f 66 6f 6e 74 3e 3c 66  >&quot;</font><f
e200: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37  ont color="#8b47
e210: 32 36 22 3e 25 54 45 4d 50 25 3c 2f 66 6f 6e 74  26">%TEMP%</font
e220: 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 32  ><font color="#2
e230: 32 38 62 32 32 22 3e 5c 3c 2f 66 6f 6e 74 3e 3c  28b22">\</font><
e240: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34  font color="#8b4
e250: 37 32 36 22 3e 25 54 4d 50 46 49 4c 45 25 3c 2f  726">%TMPFILE%</
e260: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
e270: 3d 22 23 32 32 38 62 32 32 22 3e 26 71 75 6f 74  ="#228b22">&quot
e280: 3b 3c 2f 66 6f 6e 74 3e 3c 62 72 20 2f 3e 0d 0a  ;</font><br />..
e290: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 30  <font color="#80
e2a0: 38 30 38 30 22 3e 34 35 20 3c 2f 66 6f 6e 74 3e  8080">45 </font>
e2b0: 26 6e 62 73 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e  &nbsp;&nbsp;<fon
e2c0: 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36  t color="#8b4726
e2d0: 22 3e 3c 62 3e 69 66 3c 2f 62 3e 3c 2f 66 6f 6e  "><b>if</b></fon
e2e0: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
e2f0: 38 62 34 37 32 36 22 3e 3c 62 3e 26 6e 62 73 70  8b4726"><b>&nbsp
e300: 3b 6e 6f 74 20 65 78 69 73 74 3c 2f 62 3e 3c 2f  ;not exist</b></
e310: 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 6e 6f 77 69  font>&nbsp;<nowi
e320: 6b 69 3e 5b 43 6f 6e 74 65 6e 74 5f 54 79 70 65  ki>[Content_Type
e330: 73 5d 2e 78 6d 6c 3c 2f 6e 6f 77 69 6b 69 3e 20  s].xml</nowiki> 
e340: 28 3c 62 72 20 2f 3e 0d 0a 3c 66 6f 6e 74 20 63  (<br />..<font c
e350: 6f 6c 6f 72 3d 22 23 38 30 38 30 38 30 22 3e 34  olor="#808080">4
e360: 36 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63  6 </font><font c
e370: 6f 6c 6f 72 3d 22 23 33 61 35 66 63 64 22 3e 3c  olor="#3a5fcd"><
e380: 69 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e  i>&nbsp;&nbsp;&n
e390: 62 73 70 3b 26 6e 62 73 70 3b 3a 3a 20 63 61 6e  bsp;&nbsp;:: can
e3a0: 63 65 6c 3c 2f 69 3e 3c 2f 66 6f 6e 74 3e 3c 62  cel</i></font><b
e3b0: 72 20 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f  r />..<font colo
e3c0: 72 3d 22 23 38 30 38 30 38 30 22 3e 34 37 20 3c  r="#808080">47 <
e3d0: 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73  /font>&nbsp;&nbs
e3e0: 70 3b 26 6e 62 73 70 3b 26 6e 62 73 70 3b 3c 66  p;&nbsp;&nbsp;<f
e3f0: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37  ont color="#8b47
e400: 32 36 22 3e 70 6f 70 64 3c 2f 66 6f 6e 74 3e 3c  26">popd</font><
e410: 62 72 20 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c  br />..<font col
e420: 6f 72 3d 22 23 38 30 38 30 38 30 22 3e 34 38 20  or="#808080">48 
e430: 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62  </font>&nbsp;&nb
e440: 73 70 3b 26 6e 62 73 70 3b 26 6e 62 73 70 3b 3c  sp;&nbsp;&nbsp;<
e450: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34  font color="#8b4
e460: 37 32 36 22 3e 72 6d 64 69 72 3c 2f 66 6f 6e 74  726">rmdir</font
e470: 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c  >&nbsp;<font col
e480: 6f 72 3d 22 23 32 32 38 62 32 32 22 3e 26 71 75  or="#228b22">&qu
e490: 6f 74 3b 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  ot;</font><font 
e4a0: 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36 22 3e  color="#8b4726">
e4b0: 25 44 4f 43 58 25 3c 2f 66 6f 6e 74 3e 3c 66 6f  %DOCX%</font><fo
e4c0: 6e 74 20 63 6f 6c 6f 72 3d 22 23 32 32 38 62 32  nt color="#228b2
e4d0: 32 22 3e 26 71 75 6f 74 3b 3c 2f 66 6f 6e 74 3e  2">&quot;</font>
e4e0: 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f  &nbsp;<font colo
e4f0: 72 3d 22 23 32 37 34 30 38 62 22 3e 2f 73 3c 2f  r="#27408b">/s</
e500: 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74  font>&nbsp;<font
e510: 20 63 6f 6c 6f 72 3d 22 23 32 37 34 30 38 62 22   color="#27408b"
e520: 3e 2f 71 3c 2f 66 6f 6e 74 3e 3c 62 72 20 2f 3e  >/q</font><br />
e530: 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  ..<font color="#
e540: 38 30 38 30 38 30 22 3e 34 39 20 3c 2f 66 6f 6e  808080">49 </fon
e550: 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e  t>&nbsp;&nbsp;&n
e560: 62 73 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74 20  bsp;&nbsp;<font 
e570: 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36 22 3e  color="#8b4726">
e580: 6d 6f 76 65 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70  move</font>&nbsp
e590: 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 32  ;<font color="#2
e5a0: 32 38 62 32 32 22 3e 26 71 75 6f 74 3b 3c 2f 66  28b22">&quot;</f
e5b0: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
e5c0: 22 23 38 62 34 37 32 36 22 3e 25 54 45 4d 50 25  "#8b4726">%TEMP%
e5d0: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
e5e0: 6f 72 3d 22 23 32 32 38 62 32 32 22 3e 5c 3c 2f  or="#228b22">\</
e5f0: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
e600: 3d 22 23 38 62 34 37 32 36 22 3e 25 54 4d 50 46  ="#8b4726">%TMPF
e610: 49 4c 45 25 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74  ILE%</font><font
e620: 20 63 6f 6c 6f 72 3d 22 23 32 32 38 62 32 32 22   color="#228b22"
e630: 3e 26 71 75 6f 74 3b 3c 2f 66 6f 6e 74 3e 26 6e  >&quot;</font>&n
e640: 62 73 70 3b 2e 3c 62 72 20 2f 3e 0d 0a 3c 66 6f  bsp;.<br />..<fo
e650: 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 30 38 30 38  nt color="#80808
e660: 30 22 3e 35 30 20 3c 2f 66 6f 6e 74 3e 26 6e 62  0">50 </font>&nb
e670: 73 70 3b 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26  sp;&nbsp;&nbsp;&
e680: 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72  nbsp;<font color
e690: 3d 22 23 38 62 34 37 32 36 22 3e 72 65 6e 3c 2f  ="#8b4726">ren</
e6a0: 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74  font>&nbsp;<font
e6b0: 20 63 6f 6c 6f 72 3d 22 23 32 32 38 62 32 32 22   color="#228b22"
e6c0: 3e 26 71 75 6f 74 3b 3c 2f 66 6f 6e 74 3e 3c 66  >&quot;</font><f
e6d0: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37  ont color="#8b47
e6e0: 32 36 22 3e 25 54 4d 50 46 49 4c 45 25 3c 2f 66  26">%TMPFILE%</f
e6f0: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
e700: 22 23 32 32 38 62 32 32 22 3e 26 71 75 6f 74 3b  "#228b22">&quot;
e710: 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f  </font>&nbsp;<fo
e720: 6e 74 20 63 6f 6c 6f 72 3d 22 23 32 32 38 62 32  nt color="#228b2
e730: 32 22 3e 26 71 75 6f 74 3b 3c 2f 66 6f 6e 74 3e  2">&quot;</font>
e740: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62  <font color="#8b
e750: 34 37 32 36 22 3e 25 44 4f 43 58 25 3c 2f 66 6f  4726">%DOCX%</fo
e760: 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  nt><font color="
e770: 23 32 32 38 62 32 32 22 3e 26 71 75 6f 74 3b 3c  #228b22">&quot;<
e780: 2f 66 6f 6e 74 3e 3c 62 72 20 2f 3e 0d 0a 3c 66  /font><br />..<f
e790: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 30 38 30  ont color="#8080
e7a0: 38 30 22 3e 35 31 20 3c 2f 66 6f 6e 74 3e 26 6e  80">51 </font>&n
e7b0: 62 73 70 3b 26 6e 62 73 70 3b 26 6e 62 73 70 3b  bsp;&nbsp;&nbsp;
e7c0: 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f  &nbsp;<font colo
e7d0: 72 3d 22 23 38 62 34 37 32 36 22 3e 3c 62 3e 67  r="#8b4726"><b>g
e7e0: 6f 74 6f 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66  oto</b></font><f
e7f0: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37  ont color="#8b47
e800: 32 36 22 3e 3c 62 3e 3c 75 3e 26 6e 62 73 70 3b  26"><b><u>&nbsp;
e810: 3a 65 6e 64 3c 2f 75 3e 3c 2f 62 3e 3c 2f 66 6f  :end</u></b></fo
e820: 6e 74 3e 3c 62 72 20 2f 3e 0d 0a 3c 66 6f 6e 74  nt><br />..<font
e830: 20 63 6f 6c 6f 72 3d 22 23 38 30 38 30 38 30 22   color="#808080"
e840: 3e 35 32 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70  >52 </font>&nbsp
e850: 3b 26 6e 62 73 70 3b 29 3c 62 72 20 2f 3e 0d 0a  ;&nbsp;)<br />..
e860: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 30  <font color="#80
e870: 38 30 38 30 22 3e 35 33 20 3c 2f 66 6f 6e 74 3e  8080">53 </font>
e880: 26 6e 62 73 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e  &nbsp;&nbsp;<fon
e890: 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36  t color="#8b4726
e8a0: 22 3e 72 65 6e 3c 2f 66 6f 6e 74 3e 26 6e 62 73  ">ren</font>&nbs
e8b0: 70 3b 3c 6e 6f 77 69 6b 69 3e 5b 43 6f 6e 74 65  p;<nowiki>[Conte
e8c0: 6e 74 5f 54 79 70 65 73 5d 2e 78 6d 6c 3c 2f 6e  nt_Types].xml</n
e8d0: 6f 77 69 6b 69 3e 20 43 6f 6e 74 65 6e 74 5f 54  owiki> Content_T
e8e0: 79 70 65 73 2e 78 6d 6c 3c 62 72 20 2f 3e 0d 0a  ypes.xml<br />..
e8f0: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 30  <font color="#80
e900: 38 30 38 30 22 3e 35 34 20 3c 2f 66 6f 6e 74 3e  8080">54 </font>
e910: 26 6e 62 73 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e  &nbsp;&nbsp;<fon
e920: 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36  t color="#8b4726
e930: 22 3e 64 65 6c 3c 2f 66 6f 6e 74 3e 26 6e 62 73  ">del</font>&nbs
e940: 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  p;<font color="#
e950: 32 32 38 62 32 32 22 3e 26 71 75 6f 74 3b 3c 2f  228b22">&quot;</
e960: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
e970: 3d 22 23 38 62 34 37 32 36 22 3e 25 54 45 4d 50  ="#8b4726">%TEMP
e980: 25 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f  %</font><font co
e990: 6c 6f 72 3d 22 23 32 32 38 62 32 32 22 3e 5c 3c  lor="#228b22">\<
e9a0: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
e9b0: 72 3d 22 23 38 62 34 37 32 36 22 3e 25 54 4d 50  r="#8b4726">%TMP
e9c0: 46 49 4c 45 25 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  FILE%</font><fon
e9d0: 74 20 63 6f 6c 6f 72 3d 22 23 32 32 38 62 32 32  t color="#228b22
e9e0: 22 3e 26 71 75 6f 74 3b 3c 2f 66 6f 6e 74 3e 3c  ">&quot;</font><
e9f0: 62 72 20 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c  br />..<font col
ea00: 6f 72 3d 22 23 38 30 38 30 38 30 22 3e 35 35 20  or="#808080">55 
ea10: 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62  </font>&nbsp;&nb
ea20: 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  sp;<font color="
ea30: 23 38 62 34 37 32 36 22 3e 70 6f 70 64 3c 2f 66  #8b4726">popd</f
ea40: 6f 6e 74 3e 3c 62 72 20 2f 3e 0d 0a 3c 66 6f 6e  ont><br />..<fon
ea50: 74 20 63 6f 6c 6f 72 3d 22 23 38 30 38 30 38 30  t color="#808080
ea60: 22 3e 35 36 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73  ">56 </font>&nbs
ea70: 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f  p;&nbsp;<font co
ea80: 6c 6f 72 3d 22 23 38 62 34 37 32 36 22 3e 3c 62  lor="#8b4726"><b
ea90: 3e 67 6f 74 6f 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e  >goto</b></font>
eaa0: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62  <font color="#8b
eab0: 34 37 32 36 22 3e 3c 62 3e 3c 75 3e 26 6e 62 73  4726"><b><u>&nbs
eac0: 70 3b 3a 65 6e 64 3c 2f 75 3e 3c 2f 62 3e 3c 2f  p;:end</u></b></
ead0: 66 6f 6e 74 3e 3c 62 72 20 2f 3e 0d 0a 3c 66 6f  font><br />..<fo
eae0: 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 30 38 30 38  nt color="#80808
eaf0: 30 22 3e 35 37 20 3c 2f 66 6f 6e 74 3e 3c 62 72  0">57 </font><br
eb00: 20 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72   />..<font color
eb10: 3d 22 23 38 30 38 30 38 30 22 3e 35 38 20 3c 2f  ="#808080">58 </
eb20: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
eb30: 3d 22 23 38 62 34 37 32 36 22 3e 3c 62 3e 3c 75  ="#8b4726"><b><u
eb40: 3e 3a 65 6e 64 3c 2f 75 3e 3c 2f 62 3e 3c 2f 66  >:end</u></b></f
eb50: 6f 6e 74 3e 3c 62 72 20 2f 3e 0d 0a 3c 66 6f 6e  ont><br />..<fon
eb60: 74 20 63 6f 6c 6f 72 3d 22 23 38 30 38 30 38 30  t color="#808080
eb70: 22 3e 35 39 20 3c 2f 66 6f 6e 74 3e 3c 62 72 20  ">59 </font><br 
eb80: 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  />..<font color=
eb90: 22 23 38 30 38 30 38 30 22 3e 36 30 20 3c 2f 66  "#808080">60 </f
eba0: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
ebb0: 22 23 33 61 35 66 63 64 22 3e 3c 69 3e 3a 3a 20  "#3a5fcd"><i>:: 
ebc0: 76 69 6d 3a 20 66 65 6e 63 3d 63 70 34 33 37 3c  vim: fenc=cp437<
ebd0: 2f 69 3e 3c 2f 66 6f 6e 74 3e 0d 0a 20 20 3c 2f  /i></font>..  </
ebe0: 66 6f 6e 74 3e 0d 0a 0d 0a 3c 2f 64 69 76 3e 0d  font>....</div>.
ebf0: 0a 0d 0a 3c 68 32 3e 3c 61 20 6e 61 6d 65 3d 22  ...<h2><a name="
ec00: 43 6f 6c 6f 72 50 69 63 6b 65 72 22 3e 43 6f 6c  ColorPicker">Col
ec10: 6f 72 20 73 65 6c 65 63 74 6f 72 20 69 6e 20 63  or selector in c
ec20: 68 65 63 6b 2d 69 6e 20 70 72 6f 70 65 72 74 69  heck-in properti
ec30: 65 73 3c 2f 61 3e 3c 2f 68 32 3e 0d 0a 49 66 20  es</a></h2>..If 
ec40: 79 6f 75 20 77 61 6e 74 20 61 20 6e 69 63 65 20  you want a nice 
ec50: 4a 53 20 63 6f 6c 6f 72 20 73 65 6c 65 63 74 6f  JS color selecto
ec60: 72 20 69 6e 20 79 6f 75 72 20 63 68 65 63 6b 2d  r in your check-
ec70: 69 6e 20 70 72 6f 70 65 72 74 69 65 73 2c 20 70  in properties, p
ec80: 75 74 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67  ut the following
ec90: 20 69 6e 74 6f 20 79 6f 75 72 20 66 6f 6f 74 65   into your foote
eca0: 72 3a 0d 0a 0d 0a 3c 76 65 72 62 61 74 69 6d 3e  r:....<verbatim>
ecb0: 0d 0a 3c 74 68 31 3e 0d 0a 20 20 69 66 20 7b 20  ..<th1>..  if { 
ecc0: 22 24 63 75 72 72 65 6e 74 5f 70 61 67 65 22 20  "$current_page" 
ecd0: 65 71 20 22 63 69 5f 65 64 69 74 22 20 7d 20 7b  eq "ci_edit" } {
ece0: 0d 0a 20 20 20 20 68 74 6d 6c 20 22 3c 73 63 72  ..    html "<scr
ecf0: 69 70 74 20 73 72 63 3d 5c 22 68 74 74 70 3a 2f  ipt src=\"http:/
ed00: 2f 6a 73 63 6f 6c 6f 72 2e 63 6f 6d 2f 6a 73 63  /jscolor.com/jsc
ed10: 6f 6c 6f 72 2f 6a 73 63 6f 6c 6f 72 2e 6a 73 5c  olor/jscolor.js\
ed20: 22 20 74 79 70 65 3d 5c 22 74 65 78 74 2f 6a 61  " type=\"text/ja
ed30: 76 61 73 63 72 69 70 74 5c 22 3e 3c 2f 73 63 72  vascript\"></scr
ed40: 69 70 74 3e 22 0d 0a 20 20 20 20 68 74 6d 6c 20  ipt>"..    html 
ed50: 22 3c 73 63 72 69 70 74 20 74 79 70 65 3d 5c 22  "<script type=\"
ed60: 74 65 78 74 2f 6a 61 76 61 73 63 72 69 70 74 5c  text/javascript\
ed70: 22 3e 22 0d 0a 20 20 20 20 68 74 6d 6c 20 22 76  ">"..    html "v
ed80: 61 72 20 6d 79 50 69 63 6b 65 72 20 3d 20 6e 65  ar myPicker = ne
ed90: 77 20 6a 73 63 6f 6c 6f 72 2e 63 6f 6c 6f 72 28  w jscolor.color(
eda0: 64 6f 63 75 6d 65 6e 74 2e 67 65 74 45 6c 65 6d  document.getElem
edb0: 65 6e 74 42 79 49 64 28 27 63 6c 72 63 75 73 74  entById('clrcust
edc0: 27 29 2c 20 7b 68 61 73 68 3a 74 72 75 65 7d 29  '), {hash:true})
edd0: 22 0d 0a 20 20 20 20 68 74 6d 6c 20 22 3c 2f 73  "..    html "</s
ede0: 63 72 69 70 74 3e 22 0d 0a 20 20 7d 0d 0a 3c 2f  cript>"..  }..</
edf0: 74 68 31 3e 0d 0a 3c 2f 76 65 72 62 61 74 69 6d  th1>..</verbatim
ee00: 3e 0d 0a 0d 0a 54 68 69 73 20 77 69 6c 6c 20 6f  >....This will o
ee10: 6e 6c 79 20 77 6f 72 6b 20 77 69 74 68 20 61 20  nly work with a 
ee20: 76 65 72 73 69 6f 6e 20 61 66 74 65 72 20 32 30  version after 20
ee30: 31 30 20 53 65 70 20 32 39 2c 20 31 30 3a 33 30  10 Sep 29, 10:30
ee40: 0d 0a 0d 0a 3c 68 32 3e 3c 61 20 6e 61 6d 65 3d  ....<h2><a name=
ee50: 22 53 65 61 72 63 68 57 69 6b 69 22 3e 53 65 61  "SearchWiki">Sea
ee60: 72 63 68 69 6e 67 20 77 69 6b 69 20 74 65 78 74  rching wiki text
ee70: 3c 2f 61 3e 3c 2f 68 32 3e 0d 0a 41 74 20 70 72  </a></h2>..At pr
ee80: 65 73 65 6e 74 2c 20 46 6f 73 73 69 6c 20 64 6f  esent, Fossil do
ee90: 65 73 20 6e 6f 74 20 68 61 76 65 20 61 20 6d 65  es not have a me
eea0: 74 68 6f 64 20 66 6f 72 20 73 65 61 72 63 68 69  thod for searchi
eeb0: 6e 67 20 74 68 65 20 77 69 6b 69 20 70 61 67 65  ng the wiki page
eec0: 73 20 66 6f 72 20 70 61 72 74 69 63 75 6c 61 72  s for particular
eed0: 20 74 65 78 74 2e 20 20 53 6f 6d 65 74 69 6d 65   text.  Sometime
eee0: 73 20 74 68 61 74 20 69 73 20 61 6e 6e 6f 79 69  s that is annoyi
eef0: 6e 67 3b 20 62 75 74 20 69 74 20 69 73 20 70 6f  ng; but it is po
ef00: 73 73 69 62 6c 65 20 74 6f 20 67 65 74 20 61 72  ssible to get ar
ef10: 6f 75 6e 64 20 74 68 69 73 20 77 69 74 68 20 61  ound this with a
ef20: 20 6c 69 74 74 6c 65 20 62 61 73 68 2d 73 63 72   little bash-scr
ef30: 69 70 74 20 28 6f 72 20 70 65 72 6c 20 6f 72 20  ipt (or perl or 
ef40: 2e 2e 2e 29 3a 0d 0a 3c 76 65 72 62 61 74 69 6d  ...):..<verbatim
ef50: 3e 0d 0a 23 21 2f 62 69 6e 2f 62 61 73 68 0d 0a  >..#!/bin/bash..
ef60: 73 65 61 72 63 68 66 6f 72 3d 24 31 0d 0a 0d 0a  searchfor=$1....
ef70: 23 20 67 65 74 20 77 69 6b 69 20 70 61 67 65 20  # get wiki page 
ef80: 6e 61 6d 65 73 2c 20 73 75 62 73 74 69 74 75 74  names, substitut
ef90: 65 20 73 70 61 63 65 73 20 66 6f 72 20 73 6f 6d  e spaces for som
efa0: 65 74 68 69 6e 67 20 65 6c 73 65 3a 0d 0a 70 61  ething else:..pa
efb0: 67 65 73 72 61 77 3d 60 66 6f 73 73 69 6c 20 77  gesraw=`fossil w
efc0: 69 6b 69 20 6c 69 73 74 60 0d 0a 70 61 67 65 73  iki list`..pages
efd0: 3d 24 7b 70 61 67 65 73 72 61 77 2f 2f 20 2f 2a  =${pagesraw// /*
efe0: 7d 0d 0a 0d 0a 23 20 66 6f 72 20 65 61 63 68 20  }....# for each 
eff0: 70 61 67 65 2c 20 73 65 65 20 69 66 20 6f 75 72  page, see if our
f000: 20 73 65 61 72 63 68 20 74 65 72 6d 20 69 73 20   search term is 
f010: 69 6e 20 69 74 3a 0d 0a 66 6f 72 20 70 61 67 65  in it:..for page
f020: 20 69 6e 20 24 70 61 67 65 73 0d 0a 64 6f 0d 0a   in $pages..do..
f030: 09 70 3d 24 7b 70 61 67 65 2f 2f 5c 2a 2f 20 7d  .p=${page//\*/ }
f040: 0d 0a 09 66 6f 75 6e 64 74 65 78 74 3d 60 66 6f  ...foundtext=`fo
f050: 73 73 69 6c 20 77 69 6b 69 20 65 78 70 6f 72 74  ssil wiki export
f060: 20 22 24 70 22 20 7c 20 67 72 65 70 20 2d 6e 20   "$p" | grep -n 
f070: 22 24 73 65 61 72 63 68 66 6f 72 22 60 0d 0a 0d  "$searchfor"`...
f080: 0a 09 69 66 20 5b 20 21 20 2d 7a 20 22 24 66 6f  ..if [ ! -z "$fo
f090: 75 6e 64 74 65 78 74 22 20 5d 0d 0a 09 74 68 65  undtext" ]...the
f0a0: 6e 0d 0a 09 09 23 20 66 6f 75 6e 64 20 74 68 65  n....# found the
f0b0: 20 73 65 61 72 63 68 2d 74 65 72 6d 2c 20 73 6f   search-term, so
f0c0: 20 70 72 69 6e 74 20 77 68 65 72 65 20 61 6e 64   print where and
f0d0: 20 77 68 61 74 20 77 61 73 20 66 6f 75 6e 64 3a   what was found:
f0e0: 0d 0a 09 09 65 63 68 6f 20 22 24 70 22 0d 0a 09  ....echo "$p"...
f0f0: 09 65 63 68 6f 20 22 24 66 6f 75 6e 64 74 65 78  .echo "$foundtex
f100: 74 22 0d 0a 09 09 65 63 68 6f 20 22 2d 2d 2d 2d  t"....echo "----
f110: 22 0d 0a 09 66 69 0d 0a 64 6f 6e 65 0d 0a 3c 2f  "...fi..done..</
f120: 76 65 72 62 61 74 69 6d 3e 0d 0a 0d 0a 0d 0a 3c  verbatim>......<
f130: 68 32 3e 3c 61 20 6e 61 6d 65 3d 22 48 69 67 68  h2><a name="High
f140: 6c 69 67 68 74 44 69 66 66 22 3e 48 69 67 68 6c  lightDiff">Highl
f150: 69 67 68 74 20 64 69 66 66 27 73 3c 2f 61 3e 3c  ight diff's</a><
f160: 2f 68 32 3e 0d 0a 3c 68 33 3e 50 72 6f 62 6c 65  /h2>..<h3>Proble
f170: 6d 3c 2f 68 33 3e 0d 0a 46 6f 73 73 69 6c 20 73  m</h3>..Fossil s
f180: 68 6f 77 73 20 61 20 64 69 66 66 20 6f 66 20 61  hows a diff of a
f190: 20 63 68 65 63 6b 69 6e 2e 20 49 74 20 75 73 65   checkin. It use
f1a0: 73 20 74 68 65 20 74 65 78 74 75 61 6c 20 72 65  s the textual re
f1b0: 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 28 27 2b  presentation ('+
f1c0: 27 20 73 69 67 6e 20 66 6f 72 20 61 64 64 65 64  ' sign for added
f1d0: 20 6c 69 6e 65 2c 20 27 2d 27 20 66 6f 72 20 61   line, '-' for a
f1e0: 20 63 68 61 6e 67 65 64 2f 64 65 6c 65 74 65 64   changed/deleted
f1f0: 20 6c 69 6e 65 29 2e 20 48 61 76 69 6e 67 20 61   line). Having a
f200: 20 63 6f 6c 6f 72 20 66 6f 72 20 61 64 64 65 64   color for added
f210: 20 6c 69 6e 65 73 2c 20 65 2e 67 2e 20 67 72 65   lines, e.g. gre
f220: 65 6e 2c 20 61 6e 64 20 66 6f 72 20 63 68 61 6e  en, and for chan
f230: 67 65 64 20 6c 69 6e 65 73 2c 20 65 2e 67 2e 20  ged lines, e.g. 
f240: 72 65 64 2c 20 77 6f 75 6c 64 20 6d 61 6b 65 20  red, would make 
f250: 74 68 65 20 63 68 61 6e 67 65 73 20 6d 6f 72 65  the changes more
f260: 20 76 69 73 69 62 6c 65 2e 0d 0a 0d 0a 3c 68 33   visible.....<h3
f270: 3e 53 6f 6c 75 74 69 6f 6e 3c 2f 68 33 3e 0d 0a  >Solution</h3>..
f280: 54 68 65 20 73 6f 6c 75 74 69 6f 6e 20 77 61 73  The solution was
f290: 20 70 72 65 73 65 6e 74 65 64 20 6f 6e 20 74 68   presented on th
f2a0: 65 20 6d 61 69 6c 69 6e 67 20 6c 69 73 74 20 28  e mailing list (
f2b0: 32 30 2d 4a 61 6e 2d 32 30 31 31 29 2e 0d 0a 0d  20-Jan-2011)....
f2c0: 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 4a 75 73  .<verbatim>..Jus
f2d0: 74 20 70 75 74 20 74 68 65 20 66 6f 6c 6c 6f 77  t put the follow
f2e0: 69 6e 67 20 73 6f 6d 65 77 68 65 72 65 20 69 6e  ing somewhere in
f2f0: 74 6f 20 46 6f 6f 74 65 72 20 28 6e 6f 74 20 68  to Footer (not h
f300: 65 61 64 65 72 21 29 20 61 62 6f 76 65 20 3c 2f  eader!) above </
f310: 62 6f 64 79 3e 3a 0d 0a 0d 0a 3d 3d 3d 3d 3d 3d  body>:....======
f320: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
f330: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0d 0a 0d 0a 3c 73  ==========....<s
f340: 63 72 69 70 74 3e 0d 0a 2f 2a 20 20 53 69 6d 70  cript>../*  Simp
f350: 6c 65 20 64 69 66 66 20 68 69 67 68 6c 69 67 68  le diff highligh
f360: 74 69 6e 67 20 2a 2f 0d 0a 76 61 72 20 44 69 66  ting */..var Dif
f370: 66 48 69 67 68 6c 69 67 68 74 65 72 20 3d 20 7b  fHighlighter = {
f380: 0d 0a 0d 0a 20 69 73 44 69 66 66 20 3a 20 66 75  .... isDiff : fu
f390: 6e 63 74 69 6f 6e 28 73 29 7b 0d 0a 20 20 20 72  nction(s){..   r
f3a0: 65 74 75 72 6e 20 28 73 2e 6d 61 74 63 68 28 2f  eturn (s.match(/
f3b0: 5e 40 40 2e 2a 40 40 2f 6d 29 20 26 26 20 73 2e  ^@@.*@@/m) && s.
f3c0: 6d 61 74 63 68 28 2f 5e 5b 2b 2d 5d 2f 6d 29 29  match(/^[+-]/m))
f3d0: 3b 0d 0a 20 7d 2c 0d 0a 0d 0a 20 68 69 67 68 6c  ;.. },.... highl
f3e0: 69 67 68 74 45 6c 65 6d 65 6e 74 20 3a 20 66 75  ightElement : fu
f3f0: 6e 63 74 69 6f 6e 28 65 6c 29 7b 0d 0a 20 20 20  nction(el){..   
f400: 76 61 72 20 73 20 3d 20 65 6c 2e 69 6e 6e 65 72  var s = el.inner
f410: 48 54 4d 4c 3b 0d 0a 20 20 20 69 66 20 28 21 74  HTML;..   if (!t
f420: 68 69 73 2e 69 73 44 69 66 66 28 73 29 29 7b 0d  his.isDiff(s)){.
f430: 0a 20 20 20 20 20 72 65 74 75 72 6e 3b 0d 0a 20  .     return;.. 
f440: 20 20 7d 0d 0a 20 20 20 73 20 3d 20 73 2e 72 65    }..   s = s.re
f450: 70 6c 61 63 65 28 22 3c 22 2c 20 22 26 6c 74 3b  place("<", "&lt;
f460: 22 29 3b 0d 0a 20 20 20 73 20 3d 20 73 2e 72 65  ");..   s = s.re
f470: 70 6c 61 63 65 28 2f 5e 5c 2b 2e 2a 24 2f 6d 67  place(/^\+.*$/mg
f480: 2c 20 27 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22  , '<span class="
f490: 64 69 66 66 2d 61 64 64 65 64 22 3e 24 26 3c 2f  diff-added">$&</
f4a0: 73 70 61 6e 3e 27 29 3b 0d 0a 20 20 20 73 20 3d  span>');..   s =
f4b0: 20 73 2e 72 65 70 6c 61 63 65 28 2f 5e 5c 2d 2e   s.replace(/^\-.
f4c0: 2a 24 2f 6d 67 2c 20 27 3c 73 70 61 6e 20 63 6c  *$/mg, '<span cl
f4d0: 61 73 73 3d 22 64 69 66 66 2d 72 65 6d 6f 76 65  ass="diff-remove
f4e0: 64 22 3e 24 26 3c 2f 73 70 61 6e 3e 27 29 3b 0d  d">$&</span>');.
f4f0: 0a 20 20 20 73 20 3d 20 73 2e 72 65 70 6c 61 63  .   s = s.replac
f500: 65 28 2f 5e 40 40 2e 2a 24 2f 6d 67 2c 20 27 3c  e(/^@@.*$/mg, '<
f510: 73 70 61 6e 20 63 6c 61 73 73 3d 22 64 69 66 66  span class="diff
f520: 2d 70 6f 73 69 74 69 6f 6e 22 3e 24 26 3c 2f 73  -position">$&</s
f530: 70 61 6e 3e 27 29 3b 0d 0a 20 20 20 73 20 3d 20  pan>');..   s = 
f540: 22 3c 70 72 65 20 63 6c 61 73 73 3d 27 64 69 66  "<pre class='dif
f550: 66 27 3e 22 20 2b 20 73 20 2b 20 22 3c 2f 70 72  f'>" + s + "</pr
f560: 65 3e 22 3b 20 2f 2f 20 77 6f 72 6b 61 72 6f 75  e>"; // workarou
f570: 6e 64 20 66 6f 72 20 49 45 0d 0a 20 20 20 65 6c  nd for IE..   el
f580: 2e 69 6e 6e 65 72 48 54 4d 4c 20 3d 20 73 3b 0d  .innerHTML = s;.
f590: 0a 20 7d 2c 0d 0a 0d 0a 20 68 69 67 68 6c 69 67  . },.... highlig
f5a0: 68 74 45 6c 65 6d 65 6e 74 73 57 69 74 68 54 61  htElementsWithTa
f5b0: 67 4e 61 6d 65 20 3a 20 66 75 6e 63 74 69 6f 6e  gName : function
f5c0: 28 74 61 67 4e 61 6d 65 29 7b 0d 0a 20 20 20 76  (tagName){..   v
f5d0: 61 72 20 65 6c 73 20 3d 20 64 6f 63 75 6d 65 6e  ar els = documen
f5e0: 74 2e 67 65 74 45 6c 65 6d 65 6e 74 73 42 79 54  t.getElementsByT
f5f0: 61 67 4e 61 6d 65 28 74 61 67 4e 61 6d 65 29 3b  agName(tagName);
f600: 0d 0a 20 20 20 66 6f 72 20 28 76 61 72 20 69 3d  ..   for (var i=
f610: 30 3b 20 69 20 3c 20 65 6c 73 2e 6c 65 6e 67 74  0; i < els.lengt
f620: 68 3b 20 69 2b 2b 29 7b 0d 0a 20 20 20 20 20 74  h; i++){..     t
f630: 68 69 73 2e 68 69 67 68 6c 69 67 68 74 45 6c 65  his.highlightEle
f640: 6d 65 6e 74 28 65 6c 73 5b 69 5d 29 3b 0d 0a 20  ment(els[i]);.. 
f650: 20 20 7d 0d 0a 20 7d 0d 0a 7d 3b 0d 0a 0d 0a 44    }.. }..};....D
f660: 69 66 66 48 69 67 68 6c 69 67 68 74 65 72 2e 68  iffHighlighter.h
f670: 69 67 68 6c 69 67 68 74 45 6c 65 6d 65 6e 74 73  ighlightElements
f680: 57 69 74 68 54 61 67 4e 61 6d 65 28 27 70 72 65  WithTagName('pre
f690: 27 29 3b 0d 0a 3c 2f 73 63 72 69 70 74 3e 0d 0a  ');..</script>..
f6a0: 0d 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ..==============
f6b0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
f6c0: 3d 3d 0d 0a 0d 0a 41 6e 64 20 61 64 64 20 74 68  ==....And add th
f6d0: 69 73 20 28 6f 72 20 73 6f 6d 65 74 68 69 6e 67  is (or something
f6e0: 20 74 6f 20 79 6f 75 72 20 74 61 73 74 65 29 20   to your taste) 
f6f0: 74 6f 20 79 6f 75 72 20 43 53 53 3a 0d 0a 0d 0a  to your CSS:....
f700: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
f710: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
f720: 0d 0a 0d 0a 70 72 65 2e 64 69 66 66 20 7b 0d 0a  ....pre.diff {..
f730: 20 63 6f 6c 6f 72 3a 20 23 30 30 30 3b 0d 0a 7d   color: #000;..}
f740: 0d 0a 0d 0a 70 72 65 20 2e 64 69 66 66 2d 70 6f  ....pre .diff-po
f750: 73 69 74 69 6f 6e 20 7b 0d 0a 20 64 69 73 70 6c  sition {.. displ
f760: 61 79 3a 2d 6d 6f 7a 2d 69 6e 6c 69 6e 65 2d 73  ay:-moz-inline-s
f770: 74 61 63 6b 3b 0d 0a 20 64 69 73 70 6c 61 79 3a  tack;.. display:
f780: 69 6e 6c 69 6e 65 2d 62 6c 6f 63 6b 3b 0d 0a 20  inline-block;.. 
f790: 7a 6f 6f 6d 3a 31 3b 0d 0a 20 2a 64 69 73 70 6c  zoom:1;.. *displ
f7a0: 61 79 3a 62 6c 6f 63 6b 3b 0d 0a 20 77 69 64 74  ay:block;.. widt
f7b0: 68 3a 20 31 30 30 25 3b 0d 0a 20 66 6f 6e 74 2d  h: 100%;.. font-
f7c0: 73 74 79 6c 65 3a 20 69 74 61 6c 69 63 3b 0d 0a  style: italic;..
f7d0: 20 70 61 64 64 69 6e 67 3a 20 30 2e 35 65 6d 20   padding: 0.5em 
f7e0: 30 3b 0d 0a 20 6d 61 72 67 69 6e 3a 20 30 2e 35  0;.. margin: 0.5
f7f0: 65 6d 20 30 3b 0d 0a 20 62 6f 72 64 65 72 2d 74  em 0;.. border-t
f800: 6f 70 3a 20 31 70 78 20 64 6f 74 74 65 64 20 23  op: 1px dotted #
f810: 41 32 42 35 43 44 3b 0d 0a 20 62 6f 72 64 65 72  A2B5CD;.. border
f820: 2d 62 6f 74 74 6f 6d 3a 20 31 70 78 20 64 6f 74  -bottom: 1px dot
f830: 74 65 64 20 23 41 32 42 35 43 44 3b 0d 0a 20 63  ted #A2B5CD;.. c
f840: 6f 6c 6f 72 3a 20 23 41 32 42 35 43 44 3b 0d 0a  olor: #A2B5CD;..
f850: 7d 0d 0a 0d 0a 70 72 65 20 2e 64 69 66 66 2d 61  }....pre .diff-a
f860: 64 64 65 64 20 7b 0d 0a 20 62 61 63 6b 67 72 6f  dded {.. backgro
f870: 75 6e 64 2d 63 6f 6c 6f 72 3a 20 23 43 45 46 42  und-color: #CEFB
f880: 43 33 20 21 69 6d 70 6f 72 74 61 6e 74 3b 0d 0a  C3 !important;..
f890: 7d 0d 0a 0d 0a 70 72 65 20 2e 64 69 66 66 2d 72  }....pre .diff-r
f8a0: 65 6d 6f 76 65 64 20 7b 0d 0a 20 62 61 63 6b 67  emoved {.. backg
f8b0: 72 6f 75 6e 64 2d 63 6f 6c 6f 72 3a 20 23 46 35  round-color: #F5
f8c0: 43 32 43 31 20 21 69 6d 70 6f 72 74 61 6e 74 3b  C2C1 !important;
f8d0: 0d 0a 7d 0d 0a 0d 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d  ..}....=========
f8e0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
f8f0: 3d 3d 3d 3d 3d 3d 3d 0d 0a 0d 0a 54 68 61 74 27  =======....That'
f900: 73 20 69 74 3a 20 74 68 65 20 73 63 72 69 70 74  s it: the script
f910: 20 77 69 6c 6c 20 61 75 74 6f 6d 61 74 69 63 61   will automatica
f920: 6c 6c 79 20 64 65 74 65 63 74 20 64 69 66 66 73  lly detect diffs
f930: 20 61 6e 64 20 63 6f 6c 6f 72 20 74 68 65 6d 2e   and color them.
f940: 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 0d  ..</verbatim>...
f950: 0a 0d 0a 3c 68 32 3e 3c 61 20 6e 61 6d 65 3d 22  ...<h2><a name="
f960: 4d 65 72 63 75 72 69 61 6c 22 3e 49 6d 70 6f 72  Mercurial">Impor
f970: 74 69 6e 67 20 66 72 6f 6d 20 4d 65 72 63 75 72  ting from Mercur
f980: 69 61 6c 3c 2f 61 3e 3c 2f 68 32 3e 0d 0a 0d 0a  ial</a></h2>....
f990: 3c 68 33 3e 50 72 6f 62 6c 65 6d 3c 2f 68 33 3e  <h3>Problem</h3>
f9a0: 0d 0a 0d 0a 46 6f 73 73 69 6c 20 73 75 70 70 6f  ....Fossil suppo
f9b0: 72 74 73 20 5b 2f 64 6f 63 2f 74 72 75 6e 6b 2f  rts [/doc/trunk/
f9c0: 77 77 77 2f 69 6e 6f 75 74 2e 77 69 6b 69 7c 69  www/inout.wiki|i
f9d0: 6d 70 6f 72 74 69 6e 67 20 66 72 6f 6d 20 47 69  mporting from Gi
f9e0: 74 5d 2c 20 62 75 74 20 6e 6f 74 20 66 72 6f 6d  t], but not from
f9f0: 20 4d 65 72 63 75 72 69 61 6c 2e 0d 0a 0d 0a 3c   Mercurial.....<
fa00: 68 33 3e 53 6f 6c 75 74 69 6f 6e 3c 2f 68 33 3e  h3>Solution</h3>
fa10: 0d 0a 0d 0a 57 65 27 6c 6c 20 75 73 65 20 47 69  ....We'll use Gi
fa20: 74 20 61 73 20 61 6e 20 69 6e 74 65 72 6d 65 64  t as an intermed
fa30: 69 61 72 79 3a 20 66 69 72 73 74 20 62 79 20 63  iary: first by c
fa40: 6f 6e 76 65 72 74 69 6e 67 20 4d 65 72 63 75 72  onverting Mercur
fa50: 69 61 6c 20 72 65 70 6f 73 69 74 6f 72 79 20 74  ial repository t
fa60: 6f 20 47 69 74 2c 20 61 6e 64 20 74 68 65 6e 20  o Git, and then 
fa70: 62 79 20 63 6f 6e 76 65 72 74 69 6e 67 20 47 69  by converting Gi
fa80: 74 20 72 65 70 6f 73 69 74 6f 72 79 0d 0a 74 6f  t repository..to
fa90: 20 46 6f 73 73 69 6c 2e 20 59 6f 75 27 6c 6c 20   Fossil. You'll 
faa0: 6e 65 65 64 20 62 6f 74 68 20 47 69 74 20 61 6e  need both Git an
fab0: 64 20 4d 65 72 63 75 72 69 61 6c 20 69 6e 73 74  d Mercurial inst
fac0: 61 6c 6c 65 64 20 66 6f 72 20 74 68 69 73 20 74  alled for this t
fad0: 6f 20 77 6f 72 6b 2e 0d 0a 0d 0a 47 65 74 20 3c  o work.....Get <
fae0: 69 3e 68 67 32 67 69 74 2e 70 79 3c 2f 69 3e 2c  i>hg2git.py</i>,
faf0: 20 3c 69 3e 68 67 2d 66 61 73 74 2d 65 78 70 6f   <i>hg-fast-expo
fb00: 72 74 2e 70 79 3c 2f 69 3e 2c 20 61 6e 64 20 3c  rt.py</i>, and <
fb10: 69 3e 68 67 2d 66 61 73 74 2d 65 78 70 6f 72 74  i>hg-fast-export
fb20: 2e 73 68 3c 2f 69 3e 20 66 72 6f 6d 20 5b 68 74  .sh</i> from [ht
fb30: 74 70 3a 2f 2f 72 65 70 6f 2e 6f 72 2e 63 7a 2f  tp://repo.or.cz/
fb40: 77 2f 66 61 73 74 2d 65 78 70 6f 72 74 2e 67 69  w/fast-export.gi
fb50: 74 2f 74 72 65 65 5d 2c 0d 0a 61 6e 64 20 70 75  t/tree],..and pu
fb60: 74 20 74 68 65 6d 20 69 6e 74 6f 20 61 20 73 69  t them into a si
fb70: 6e 67 6c 65 20 64 69 72 65 63 74 6f 72 79 20 28  ngle directory (
fb80: 77 65 27 6c 6c 20 75 73 65 20 7e 2f 44 6f 77 6e  we'll use ~/Down
fb90: 6c 6f 61 64 73 2f 29 2e 0d 0a 0d 0a 43 68 61 6e  loads/).....Chan
fba0: 67 65 20 64 69 72 65 63 74 6f 72 79 20 74 6f 20  ge directory to 
fbb0: 79 6f 75 72 20 4d 65 72 63 75 72 69 61 6c 20 77  your Mercurial w
fbc0: 6f 72 6b 69 6e 67 20 63 6f 70 79 20 28 66 6f 72  orking copy (for
fbd0: 20 74 68 65 20 65 78 61 6d 70 6c 65 20 77 65 27   the example we'
fbe0: 6c 6c 20 75 73 65 20 22 70 72 6f 6a 65 63 74 22  ll use "project"
fbf0: 29 2c 20 61 6e 64 20 63 72 65 61 74 65 20 61 20  ), and create a 
fc00: 6e 65 77 20 47 69 74 20 72 65 70 6f 73 69 74 6f  new Git reposito
fc10: 72 79 0d 0a 74 68 65 72 65 3a 0d 0a 0d 0a 3c 76  ry..there:....<v
fc20: 65 72 62 61 74 69 6d 3e 0d 0a 20 20 63 64 20 70  erbatim>..  cd p
fc30: 72 6f 6a 65 63 74 0d 0a 20 20 67 69 74 20 69 6e  roject..  git in
fc40: 69 74 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d  it..</verbatim>.
fc50: 0a 0d 0a 52 75 6e 20 65 78 70 6f 72 74 3a 0d 0a  ...Run export:..
fc60: 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 20 20  ..<verbatim>..  
fc70: 73 68 20 7e 2f 44 6f 77 6e 6c 6f 61 64 73 2f 68  sh ~/Downloads/h
fc80: 67 2d 66 61 73 74 2d 65 78 70 6f 72 74 2e 73 68  g-fast-export.sh
fc90: 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 0d  ..</verbatim>...
fca0: 0a 4f 6e 63 65 20 69 74 20 66 69 6e 69 73 68 65  .Once it finishe
fcb0: 73 2c 20 63 68 65 63 6b 20 69 66 20 69 74 20 63  s, check if it c
fcc0: 6f 72 72 65 63 74 6c 79 20 69 6d 70 6f 72 74 65  orrectly importe
fcd0: 64 20 65 76 65 72 79 74 68 69 6e 67 20 62 79 20  d everything by 
fce0: 72 75 6e 6e 69 6e 67 20 22 67 69 74 20 6c 6f 67  running "git log
fcf0: 22 2e 20 0d 0a 0d 0a 49 66 20 79 6f 75 20 67 6f  ". ....If you go
fd00: 74 20 22 49 6d 70 6f 72 74 45 72 72 6f 72 3a 20  t "ImportError: 
fd10: 4e 6f 20 6d 6f 64 75 6c 65 20 6e 61 6d 65 64 20  No module named 
fd20: 6d 65 72 63 75 72 69 61 6c 22 20 6d 61 6b 65 20  mercurial" make 
fd30: 73 75 72 65 20 79 6f 75 72 20 50 59 54 48 4f 4e  sure your PYTHON
fd40: 50 41 54 48 20 76 61 72 69 61 62 6c 65 20 69 73  PATH variable is
fd50: 20 73 65 74 20 74 6f 20 70 6f 69 6e 74 20 74 6f   set to point to
fd60: 20 74 68 65 20 6c 6f 63 61 74 69 6f 6e 0d 0a 77   the location..w
fd70: 68 65 72 65 20 6d 65 72 63 75 72 69 61 6c 20 6d  here mercurial m
fd80: 6f 64 75 6c 65 73 20 61 72 65 20 69 6e 73 74 61  odules are insta
fd90: 6c 6c 65 64 20 28 6f 6e 20 4d 61 63 20 4f 53 20  lled (on Mac OS 
fda0: 58 20 77 68 65 6e 20 4d 65 72 63 75 72 69 61 6c  X when Mercurial
fdb0: 20 77 61 73 20 69 6e 73 74 61 6c 6c 65 64 20 76   was installed v
fdc0: 69 61 20 22 65 61 73 79 5f 69 6e 73 74 61 6c 6c  ia "easy_install
fdd0: 20 6d 65 72 63 75 72 69 61 6c 22 2c 20 65 6e 74   mercurial", ent
fde0: 65 72 20 74 68 65 0d 0a 66 6f 6c 6c 6f 77 69 6e  er the..followin
fdf0: 67 20 69 6e 74 6f 20 62 61 73 68 3a 20 22 65 78  g into bash: "ex
fe00: 70 6f 72 74 20 50 59 54 48 4f 4e 50 41 54 48 3d  port PYTHONPATH=
fe10: 2f 4c 69 62 72 61 72 79 2f 50 79 74 68 6f 6e 2f  /Library/Python/
fe20: 32 2e 36 2f 73 69 74 65 2d 70 61 63 6b 61 67 65  2.6/site-package
fe30: 73 22 29 2e 0d 0a 0d 0a 4e 6f 77 20 77 65 20 63  s").....Now we c
fe40: 61 6e 20 69 6d 70 6f 72 74 20 47 69 74 20 72 65  an import Git re
fe50: 70 6f 73 69 74 6f 72 79 20 69 6e 74 6f 20 46 6f  pository into Fo
fe60: 73 73 69 6c 20 28 77 65 27 6c 6c 20 70 75 74 20  ssil (we'll put 
fe70: 69 74 20 69 6e 74 6f 0d 0a 70 61 72 65 6e 74 20  it into..parent 
fe80: 64 69 72 65 63 74 6f 72 79 20 75 6e 64 65 72 20  directory under 
fe90: 74 68 65 20 22 6f 75 72 2d 72 65 70 6f 73 69 74  the "our-reposit
fea0: 6f 72 79 2e 66 6f 73 73 69 6c 22 20 6e 61 6d 65  ory.fossil" name
feb0: 29 3a 0d 0a 0d 0a 3c 76 65 72 62 61 74 69 6d 3e  ):....<verbatim>
fec0: 0d 0a 20 20 67 69 74 20 66 61 73 74 2d 65 78 70  ..  git fast-exp
fed0: 6f 72 74 20 2d 2d 61 6c 6c 20 7c 20 66 6f 73 73  ort --all | foss
fee0: 69 6c 20 69 6d 70 6f 72 74 20 2d 2d 67 69 74 20  il import --git 
fef0: 2e 2e 2f 6f 75 72 2d 72 65 70 6f 73 69 74 6f 72  ../our-repositor
ff00: 79 2e 66 6f 73 73 69 6c 0d 0a 3c 2f 76 65 72 62  y.fossil..</verb
ff10: 61 74 69 6d 3e 0d 0a 20 20 0d 0a 0a 5a 20 33 39  atim>..  ...Z 39
ff20: 32 34 65 65 64 38 36 62 32 62 30 63 65 65 35 37  24eed86b2b0cee57
ff30: 39 63 32 63 33 64 31 62 39 63 66 63 37 32 0a     9c2c3d1b9cfc72.