Hex Artifact Content
Not logged in

Artifact 6308f5ff25d7b92729134898cf2d04d4fa6a8533:

Wiki page [Cookbook] by anonymous 2012-11-23 18:48:39.
0000: 44 20 32 30 31 32 2d 31 31 2d 32 33 54 31 38 3a  D 2012-11-23T18:
0010: 34 38 3a 33 39 2e 31 32 30 0a 4c 20 43 6f 6f 6b  48:39.120.L Cook
0020: 62 6f 6f 6b 0a 50 20 31 30 38 34 30 34 64 66 31  book.P 108404df1
0030: 32 32 36 64 62 39 32 61 34 66 62 65 65 61 65 31  226db92a4fbeeae1
0040: 37 33 36 31 33 64 36 63 34 61 34 34 36 39 39 0a  73613d6c4a44699.
0050: 55 20 61 6e 6f 6e 79 6d 6f 75 73 0a 57 20 37 34  U anonymous.W 74
0060: 34 39 36 0a 3c 68 31 3e 46 6f 73 73 69 6c 20 43  496.<h1>Fossil C
0070: 6f 6f 6b 62 6f 6f 6b 3c 2f 68 31 3e 0d 0a 54 68  ookbook</h1>..Th
0080: 65 20 3c 63 69 74 65 3e 46 6f 73 73 69 6c 3c 2f  e <cite>Fossil</
0090: 63 69 74 65 3e 20 43 6f 6f 6b 62 6f 6f 6b 20 69  cite> Cookbook i
00a0: 73 20 61 20 63 6f 6c 6c 65 63 74 69 6f 6e 20 6f  s a collection o
00b0: 66 20 74 61 73 6b 2d 6f 72 69 65 6e 74 65 64 20  f task-oriented 
00c0: 69 6e 73 74 72 75 63 74 69 6f 6e 73 20 66 6f 72  instructions for
00d0: 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 75 73   intermediate us
00e0: 65 72 73 20 77 68 6f 20 77 69 73 68 20 74 6f 20  ers who wish to 
00f0: 64 6f 20 6d 6f 72 65 20 74 68 61 6e 20 62 61 73  do more than bas
0100: 69 63 20 6f 70 65 72 61 74 69 6f 6e 73 20 77 69  ic operations wi
0110: 74 68 20 74 68 65 69 72 20 3c 63 69 74 65 3e 46  th their <cite>F
0120: 6f 73 73 69 6c 3c 2f 63 69 74 65 3e 20 72 65 70  ossil</cite> rep
0130: 6f 73 69 74 6f 72 69 65 73 2e 20 20 54 68 65 20  ositories.  The 
0140: 5b 54 75 74 6f 72 69 61 6c 7c 74 75 74 6f 72 69  [Tutorial|tutori
0150: 61 6c 5d 20 69 73 20 61 20 6d 6f 72 65 20 73 75  al] is a more su
0160: 69 74 61 62 6c 65 20 70 6c 61 63 65 20 66 6f 72  itable place for
0170: 20 6e 65 77 63 6f 6d 65 72 73 20 74 72 79 69 6e   newcomers tryin
0180: 67 20 74 6f 20 6c 65 61 72 6e 20 74 68 65 20 62  g to learn the b
0190: 61 73 69 63 20 63 6f 6e 63 65 70 74 73 20 74 6f  asic concepts to
01a0: 20 67 6f 20 66 69 72 73 74 20 62 65 66 6f 72 65   go first before
01b0: 20 74 61 63 6b 6c 69 6e 67 20 74 68 65 73 65 20   tackling these 
01c0: 72 65 63 69 70 65 73 2e 0d 0a 0d 0a 3c 68 32 3e  recipes.....<h2>
01d0: 49 6e 64 65 78 3c 2f 68 32 3e 0d 0a 3c 75 6c 3e  Index</h2>..<ul>
01e0: 0d 0a 20 20 3c 6c 69 3e 53 65 72 76 65 72 20 72  ..  <li>Server r
01f0: 65 63 69 70 65 73 3a 0d 0a 20 20 20 20 3c 75 6c  ecipes:..    <ul
0200: 3e 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20  >..      <li><a 
0210: 68 72 65 66 3d 22 23 43 47 49 22 3e 55 73 69 6e  href="#CGI">Usin
0220: 67 20 3c 63 69 74 65 3e 46 6f 73 73 69 6c 3c 2f  g <cite>Fossil</
0230: 63 69 74 65 3e 27 73 20 42 75 69 6c 74 2d 49 6e  cite>'s Built-In
0240: 20 43 47 49 3c 2f 61 3e 0d 0a 20 20 20 20 3c 2f   CGI</a>..    </
0250: 75 6c 3e 0d 0a 20 20 3c 2f 6c 69 3e 0d 0a 20 20  ul>..  </li>..  
0260: 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 65 6e  <li><a href="#en
0270: 76 22 3e 55 73 69 6e 67 20 45 6e 76 69 72 6f 6e  v">Using Environ
0280: 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 73 3c 2f  ment variables</
0290: 61 3e 3c 2f 6c 69 3e 0d 0a 20 20 3c 6c 69 3e 3c  a></li>..  <li><
02a0: 61 20 68 72 65 66 3d 22 23 63 73 73 22 3e 45 78  a href="#css">Ex
02b0: 61 6d 70 6c 65 20 43 53 53 3c 2f 61 3e 3c 2f 6c  ample CSS</a></l
02c0: 69 3e 0d 0a 20 20 3c 6c 69 3e 3c 61 20 68 72 65  i>..  <li><a hre
02d0: 66 3d 22 23 73 6f 75 72 63 65 2d 68 69 6c 69 67  f="#source-hilig
02e0: 68 74 22 3e 53 6f 75 72 63 65 20 68 69 67 68 6c  ht">Source highl
02f0: 69 67 68 74 69 6e 67 3c 2f 61 3e 3c 2f 6c 69 3e  ighting</a></li>
0300: 0d 0a 20 20 3c 6c 69 3e 5b 73 68 6a 73 7c 20 48  ..  <li>[shjs| H
0310: 6f 77 20 74 6f 20 61 64 64 20 53 79 6e 74 61 78  ow to add Syntax
0320: 20 48 69 67 68 6c 69 67 68 74 65 72 20 69 6e 20   Highlighter in 
0330: 4a 61 76 61 53 63 72 69 70 74 20 28 53 48 4a 53  JavaScript (SHJS
0340: 29 5d 3c 2f 6c 69 3e 0d 0a 20 20 3c 6c 69 3e 3c  )]</li>..  <li><
0350: 61 20 68 72 65 66 3d 22 23 77 69 6e 33 32 64 65  a href="#win32de
0360: 76 22 3e 46 6f 73 73 69 6c 20 57 69 6e 33 32 20  v">Fossil Win32 
0370: 44 65 76 65 6c 6f 70 6d 65 6e 74 20 4d 61 63 68  Development Mach
0380: 69 6e 65 20 73 65 74 75 70 3c 2f 61 3e 3c 2f 6c  ine setup</a></l
0390: 69 3e 0d 0a 20 20 3c 6c 69 3e 5b 63 6f 6d 70 69  i>..  <li>[compi
03a0: 6c 6c 69 6e 67 4f 6e 57 69 6e 64 6f 77 73 7c 20  llingOnWindows| 
03b0: 48 6f 77 20 74 6f 20 63 6f 6d 70 69 6c 65 20 6f  How to compile o
03c0: 6e 20 77 69 6e 64 6f 77 73 5d 3c 2f 6c 69 3e 0d  n windows]</li>.
03d0: 0a 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22  .  <li><a href="
03e0: 23 77 79 73 69 77 69 67 22 3e 4a 61 76 61 73 63  #wysiwig">Javasc
03f0: 72 69 70 74 20 48 54 4d 4c 20 57 59 53 49 57 59  ript HTML WYSIWY
0400: 47 20 65 64 69 74 6f 72 20 63 6f 6e 74 72 6f 6c  G editor control
0410: 3c 2f 61 3e 0d 0a 20 20 20 20 3c 75 6c 3e 0d 0a  </a>..    <ul>..
0420: 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65        <li><a hre
0430: 66 3d 22 23 74 69 6e 79 6d 63 65 22 3e 54 69 6e  f="#tinymce">Tin
0440: 79 4d 43 45 3c 2f 61 3e 3c 2f 6c 69 3e 0d 0a 20  yMCE</a></li>.. 
0450: 20 20 20 20 20 3c 75 6c 3e 3c 6c 69 3e 3c 61 20       <ul><li><a 
0460: 68 72 65 66 3d 27 23 6a 73 5f 6c 6f 63 61 6c 27  href='#js_local'
0470: 3e 4c 6f 63 61 6c 6c 79 20 69 6e 73 74 61 6c 6c  >Locally install
0480: 65 64 20 6a 61 76 61 73 63 72 69 70 74 3c 2f 61  ed javascript</a
0490: 3e 3c 2f 6c 69 3e 3c 2f 75 6c 3e 0d 0a 20 20 20  ></li></ul>..   
04a0: 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22     <li><a href="
04b0: 23 6d 61 72 6b 69 74 75 70 22 3e 6d 61 72 6b 69  #markitup">marki
04c0: 74 75 70 21 3c 2f 61 3e 3c 2f 6c 69 3e 0d 0a 20  tup!</a></li>.. 
04d0: 20 20 20 3c 2f 75 6c 3e 0d 0a 20 20 3c 2f 6c 69     </ul>..  </li
04e0: 3e 0d 0a 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66  >..  <li><a href
04f0: 3d 22 23 74 69 63 6b 65 74 2d 63 68 65 63 6b 69  ="#ticket-checki
0500: 6e 2d 6c 69 6e 6b 73 22 3e 4c 69 6e 6b 20 74 69  n-links">Link ti
0510: 63 6b 65 74 73 20 74 6f 20 63 68 65 63 6b 69 6e  ckets to checkin
0520: 73 3c 2f 61 3e 3c 2f 6c 69 3e 0d 0a 20 20 3c 6c  s</a></li>..  <l
0530: 69 3e 3c 61 20 68 72 65 66 3d 22 23 74 68 31 2d  i><a href="#th1-
0540: 75 73 61 67 65 22 3e 46 6f 73 73 69 6c 20 61 6e  usage">Fossil an
0550: 64 20 54 68 31 3c 2f 61 3e 3c 2f 6c 69 3e 0d 0a  d Th1</a></li>..
0560: 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23    <li><a href="#
0570: 76 65 72 73 69 6f 6e 43 6f 6d 70 72 65 73 73 65  versionCompresse
0580: 64 22 3e 56 65 72 73 69 6f 6e 69 6e 67 20 63 6f  d">Versioning co
0590: 6d 70 72 65 73 73 65 64 20 66 69 6c 65 73 3c 2f  mpressed files</
05a0: 61 3e 3c 2f 6c 69 3e 0d 0a 20 20 3c 6c 69 3e 3c  a></li>..  <li><
05b0: 61 20 68 72 65 66 3d 22 23 43 6f 6c 6f 72 50 69  a href="#ColorPi
05c0: 63 6b 65 72 22 3e 43 6f 6c 6f 72 20 73 65 6c 65  cker">Color sele
05d0: 63 74 6f 72 20 69 6e 20 63 68 65 63 6b 2d 69 6e  ctor in check-in
05e0: 20 70 72 6f 70 65 72 74 69 65 73 3c 2f 61 3e 3c   properties</a><
05f0: 2f 6c 69 3e 0d 0a 20 20 3c 6c 69 3e 3c 61 20 68  /li>..  <li><a h
0600: 72 65 66 3d 22 23 53 65 61 72 63 68 57 69 6b 69  ref="#SearchWiki
0610: 22 3e 53 65 61 72 63 68 69 6e 67 20 77 69 6b 69  ">Searching wiki
0620: 20 74 65 78 74 3c 2f 61 3e 3c 2f 6c 69 3e 0d 0a   text</a></li>..
0630: 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23    <li><a href="#
0640: 48 69 67 68 6c 69 67 68 74 44 69 66 66 22 3e 48  HighlightDiff">H
0650: 69 67 68 6c 69 67 68 74 20 64 69 66 66 27 73 3c  ighlight diff's<
0660: 2f 61 3e 3c 2f 6c 69 3e 0d 0a 20 20 3c 6c 69 3e  /a></li>..  <li>
0670: 3c 61 20 68 72 65 66 3d 22 23 4d 65 72 63 75 72  <a href="#Mercur
0680: 69 61 6c 22 3e 49 6d 70 6f 72 74 69 6e 67 20 66  ial">Importing f
0690: 72 6f 6d 20 4d 65 72 63 75 72 69 61 6c 3c 2f 61  rom Mercurial</a
06a0: 3e 3c 2f 6c 69 3e 0d 0a 20 20 3c 6c 69 3e 3c 61  ></li>..  <li><a
06b0: 20 68 72 65 66 3d 22 23 53 56 4e 22 3e 49 6d 70   href="#SVN">Imp
06c0: 6f 72 74 69 6e 67 20 66 72 6f 6d 20 53 56 4e 3c  orting from SVN<
06d0: 2f 61 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d  /a></li>..</ul>.
06e0: 0a 0d 0a 3c 68 32 3e 3c 61 20 6e 61 6d 65 3d 22  ...<h2><a name="
06f0: 43 47 49 22 3e 55 73 69 6e 67 20 3c 63 69 74 65  CGI">Using <cite
0700: 3e 46 6f 73 73 69 6c 3c 2f 63 69 74 65 3e 27 73  >Fossil</cite>'s
0710: 20 42 75 69 6c 74 2d 49 6e 20 43 47 49 3c 2f 61   Built-In CGI</a
0720: 3e 3c 2f 68 32 3e 0d 0a 3c 68 33 3e 4d 6f 74 69  ></h2>..<h3>Moti
0730: 76 61 74 69 6f 6e 3c 2f 68 33 3e 0d 0a 20 20 2a  vation</h3>..  *
0740: 20 20 59 6f 75 20 77 61 6e 74 20 74 6f 20 73 68    You want to sh
0750: 61 72 65 20 61 20 72 65 70 6f 73 69 74 6f 72 79  are a repository
0760: 20 74 68 72 6f 75 67 68 20 79 6f 75 72 20 65 78   through your ex
0770: 69 73 74 69 6e 67 20 77 65 62 20 69 6e 66 72 61  isting web infra
0780: 73 74 72 75 63 74 75 72 65 2e 0d 0a 20 20 2a 20  structure...  * 
0790: 20 59 6f 75 20 77 61 6e 74 20 74 6f 20 73 68 61   You want to sha
07a0: 72 65 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 65  re more than one
07b0: 20 72 65 70 6f 73 69 74 6f 72 79 20 61 74 20 74   repository at t
07c0: 68 65 20 73 61 6d 65 20 74 69 6d 65 2e 0d 0a 0d  he same time....
07d0: 0a 3c 68 33 3e 50 72 6f 62 6c 65 6d 3c 2f 68 33  .<h3>Problem</h3
07e0: 3e 0d 0a 55 6e 6c 69 6b 65 20 73 6f 6d 65 20 6f  >..Unlike some o
07f0: 74 68 65 72 20 64 69 73 74 72 69 62 75 74 65 64  ther distributed
0800: 20 53 43 4d 73 2c 20 3c 63 69 74 65 3e 46 6f 73   SCMs, <cite>Fos
0810: 73 69 6c 3c 2f 63 69 74 65 3e 20 63 61 6e 20 6f  sil</cite> can o
0820: 6e 6c 79 20 63 6c 6f 6e 65 2c 20 70 75 73 68 2c  nly clone, push,
0830: 20 70 75 6c 6c 20 61 6e 64 20 61 6e 64 20 6f 74   pull and and ot
0840: 68 65 72 77 69 73 65 20 69 6e 74 65 72 61 63 74  herwise interact
0850: 20 74 68 72 6f 75 67 68 20 72 65 70 6f 73 69 74   through reposit
0860: 6f 72 69 65 73 20 6f 76 65 72 20 48 54 54 50 2e  ories over HTTP.
0870: 20 20 54 68 69 73 20 63 61 6e 20 62 65 20 73 69    This can be si
0880: 6d 70 6c 79 20 61 6e 64 20 65 61 73 69 6c 79 20  mply and easily 
0890: 6d 61 6e 61 67 65 64 20 74 68 72 6f 75 67 68 20  managed through 
08a0: 75 73 65 20 6f 66 20 74 68 65 20 3c 63 6f 64 65  use of the <code
08b0: 3e 66 6f 73 73 69 6c 20 73 65 72 76 65 72 3c 2f  >fossil server</
08c0: 63 6f 64 65 3e 20 61 6e 64 2f 6f 72 20 3c 63 6f  code> and/or <co
08d0: 64 65 3e 66 6f 73 73 69 6c 20 75 69 3c 2f 63 6f  de>fossil ui</co
08e0: 64 65 3e 20 63 6f 6d 6d 61 6e 64 73 2c 20 6f 66  de> commands, of
08f0: 20 63 6f 75 72 73 65 2c 20 62 75 74 20 74 68 69   course, but thi
0900: 73 20 69 73 20 72 65 61 6c 6c 79 20 6f 6e 6c 79  s is really only
0910: 20 61 64 65 71 75 61 74 65 20 66 6f 72 20 61 64   adequate for ad
0920: 2d 68 6f 63 20 72 65 70 6f 73 69 74 6f 72 79 20  -hoc repository 
0930: 73 68 61 72 69 6e 67 2e 20 20 43 6f 6e 73 69 64  sharing.  Consid
0940: 65 72 2c 20 66 6f 72 20 65 78 61 6d 70 6c 65 2c  er, for example,
0950: 20 73 68 61 72 69 6e 67 20 74 65 6e 20 72 65 70   sharing ten rep
0960: 6f 73 69 74 6f 72 69 65 73 2e 20 20 55 73 69 6e  ositories.  Usin
0970: 67 20 74 68 65 20 62 75 69 6c 74 2d 69 6e 20 73  g the built-in s
0980: 65 72 76 65 72 20 77 6f 75 6c 64 20 72 65 71 75  erver would requ
0990: 69 72 65 20 79 6f 75 20 74 6f 20 6f 70 65 6e 20  ire you to open 
09a0: 74 65 6e 20 70 6f 72 74 73 20 69 6e 20 79 6f 75  ten ports in you
09b0: 72 20 66 69 72 65 77 61 6c 6c 20 74 6f 20 70 65  r firewall to pe
09c0: 72 6d 69 74 20 61 63 63 65 73 73 2e 20 20 41 6e  rmit access.  An
09d0: 79 20 73 65 72 69 6f 75 73 20 73 68 61 72 69 6e  y serious sharin
09e0: 67 20 77 69 6c 6c 20 72 65 71 75 69 72 65 20 73  g will require s
09f0: 6f 6d 65 74 68 69 6e 67 20 6d 6f 72 65 20 72 6f  omething more ro
0a00: 62 75 73 74 20 61 6e 64 20 70 65 72 6d 61 6e 65  bust and permane
0a10: 6e 74 2c 20 61 6e 64 20 73 6f 6c 75 74 69 6f 6e  nt, and solution
0a20: 73 20 66 6f 72 20 64 6f 69 6e 67 20 73 6f 20 61  s for doing so a
0a30: 72 65 20 64 65 73 63 72 69 62 65 64 20 62 65 6c  re described bel
0a40: 6f 77 2e 0d 0a 0d 0a 3c 68 33 3e 53 6f 6c 75 74  ow.....<h3>Solut
0a50: 69 6f 6e 3c 2f 68 33 3e 0d 0a 3c 63 69 74 65 3e  ion</h3>..<cite>
0a60: 46 6f 73 73 69 6c 3c 2f 63 69 74 65 3e 20 73 75  Fossil</cite> su
0a70: 70 70 6f 72 74 73 20 74 68 72 65 65 20 64 69 66  pports three dif
0a80: 66 65 72 65 6e 74 20 77 61 79 73 20 74 6f 20 73  ferent ways to s
0a90: 68 61 72 65 20 72 65 70 6f 73 69 74 6f 72 69 65  hare repositorie
0aa0: 73 2e 20 20 46 6f 72 20 61 64 2d 68 6f 63 20 73  s.  For ad-hoc s
0ab0: 68 61 72 69 6e 67 20 3c 63 6f 64 65 3e 66 6f 73  haring <code>fos
0ac0: 73 69 6c 20 73 65 72 76 65 72 2f 75 69 3c 2f 63  sil server/ui</c
0ad0: 6f 64 65 3e 20 69 73 20 6d 6f 72 65 20 74 68 61  ode> is more tha
0ae0: 6e 20 61 64 65 71 75 61 74 65 2e 20 20 46 6f 72  n adequate.  For
0af0: 20 6d 6f 72 65 20 72 6f 62 75 73 74 20 73 6f 6c   more robust sol
0b00: 75 74 69 6f 6e 73 2c 20 68 6f 77 65 76 65 72 2c  utions, however,
0b10: 20 74 68 65 20 75 73 65 20 6f 66 20 3c 63 69 74   the use of <cit
0b20: 65 3e 28 78 29 69 6e 65 74 64 3c 2f 63 69 74 65  e>(x)inetd</cite
0b30: 3e 20 6f 72 20 43 47 49 20 73 75 70 70 6f 72 74  > or CGI support
0b40: 20 69 73 20 69 6e 64 69 63 61 74 65 64 2e 0d 0a   is indicated...
0b50: 0d 0a 53 65 74 74 69 6e 67 20 75 70 20 66 6f 73  ..Setting up fos
0b60: 73 69 6c 20 66 6f 72 20 43 47 49 20 73 75 70 70  sil for CGI supp
0b70: 6f 72 74 20 69 73 20 73 69 6d 70 6c 65 2e 20 20  ort is simple.  
0b80: 28 53 65 74 74 69 6e 67 20 75 70 20 79 6f 75 72  (Setting up your
0b90: 20 77 65 62 20 73 65 72 76 65 72 20 66 6f 72 20   web server for 
0ba0: 43 47 49 20 73 75 70 70 6f 72 74 20 6d 61 79 20  CGI support may 
0bb0: 6f 72 20 6d 61 79 20 6e 6f 74 20 62 65 20 73 69  or may not be si
0bc0: 6d 70 6c 65 2c 20 62 75 74 20 69 74 20 69 73 20  mple, but it is 
0bd0: 6f 75 74 20 6f 66 20 73 63 6f 70 65 20 6f 66 20  out of scope of 
0be0: 74 68 69 73 20 72 65 63 69 70 65 2e 20 20 43 6f  this recipe.  Co
0bf0: 6e 73 75 6c 74 20 79 6f 75 72 20 77 65 62 20 73  nsult your web s
0c00: 65 72 76 65 72 2f 73 65 72 76 69 63 65 20 70 72  erver/service pr
0c10: 6f 76 69 64 65 72 27 73 20 64 6f 63 75 6d 65 6e  ovider's documen
0c20: 74 61 74 69 6f 6e 20 66 6f 72 20 74 68 69 73 2e  tation for this.
0c30: 29 0d 0a 0d 0a 3c 68 34 3e 55 4e 49 58 3c 2f 68  )....<h4>UNIX</h
0c40: 34 3e 0d 0a 20 20 31 2e 20 20 46 69 6e 64 20 79  4>..  1.  Find y
0c50: 6f 75 72 20 43 47 49 20 73 63 72 69 70 74 73 20  our CGI scripts 
0c60: 64 69 72 65 63 74 6f 72 79 20 28 69 66 20 61 70  directory (if ap
0c70: 70 6c 69 63 61 62 6c 65 29 2e 20 20 54 68 69 73  plicable).  This
0c80: 20 69 73 20 63 6f 6d 6d 6f 6e 6c 79 20 73 6f 6d   is commonly som
0c90: 65 74 68 69 6e 67 20 6c 69 6b 65 20 3c 62 61 73  ething like <bas
0ca0: 65 3e 2f 63 67 69 2d 62 69 6e 2f 2c 20 62 75 74  e>/cgi-bin/, but
0cb0: 20 64 6f 65 73 20 6e 6f 74 20 68 61 76 65 20 74   does not have t
0cc0: 6f 20 62 65 2e 0d 0a 20 20 32 2e 20 20 49 6e 73  o be...  2.  Ins
0cd0: 69 64 65 20 74 68 61 74 20 64 69 72 65 63 74 6f  ide that directo
0ce0: 72 79 20 62 75 69 6c 64 20 61 20 73 63 72 69 70  ry build a scrip
0cf0: 74 20 66 69 6c 65 20 77 68 69 63 68 20 6c 6f 6f  t file which loo
0d00: 6b 73 20 6c 69 6b 65 20 74 68 69 73 3a 3c 62 72  ks like this:<br
0d10: 3e 3c 63 6f 64 65 3e 3c 70 72 65 3e 20 20 23 21  ><code><pre>  #!
0d20: 20 2f 75 73 72 2f 62 69 6e 2f 65 6e 76 20 66 6f   /usr/bin/env fo
0d30: 73 73 69 6c 3c 62 72 3e 20 20 72 65 70 6f 73 69  ssil<br>  reposi
0d40: 74 6f 72 79 3a 20 2f 66 75 6c 6c 2f 70 61 74 68  tory: /full/path
0d50: 2f 74 6f 2f 72 65 70 6f 73 69 74 6f 72 79 2f 66  /to/repository/f
0d60: 69 6c 65 2e 66 73 6c 3c 2f 70 72 65 3e 3c 2f 63  ile.fsl</pre></c
0d70: 6f 64 65 3e 0d 0a 20 20 33 2e 20 20 45 6e 73 75  ode>..  3.  Ensu
0d80: 72 65 20 74 68 61 74 20 74 68 65 20 73 63 72 69  re that the scri
0d90: 70 74 20 66 69 6c 65 20 73 6f 20 67 65 6e 65 72  pt file so gener
0da0: 61 74 65 64 20 69 73 20 73 65 74 20 65 78 65 63  ated is set exec
0db0: 75 74 61 62 6c 65 20 66 6f 72 20 74 68 65 20 43  utable for the C
0dc0: 47 49 20 75 73 65 72 20 61 63 63 6f 75 6e 74 2e  GI user account.
0dd0: 0d 0a 20 20 34 2e 20 20 45 6e 73 75 72 65 20 74  ..  4.  Ensure t
0de0: 68 61 74 20 65 76 65 72 79 20 64 69 72 65 63 74  hat every direct
0df0: 6f 72 79 20 69 6e 20 74 68 65 20 70 61 74 68 20  ory in the path 
0e00: 6c 65 61 64 69 6e 67 20 74 6f 20 74 68 65 20 72  leading to the r
0e10: 65 70 6f 73 69 74 6f 72 79 20 69 73 20 20 62 72  epository is  br
0e20: 6f 77 73 65 61 62 6c 65 20 28 63 68 6d 6f 64 20  owseable (chmod 
0e30: 2b 78 29 20 74 6f 20 74 68 65 20 43 47 49 20 75  +x) to the CGI u
0e40: 73 65 72 20 61 63 63 6f 75 6e 74 2e 0d 0a 20 20  ser account...  
0e50: 35 2e 20 20 45 6e 73 75 72 65 20 74 68 61 74 20  5.  Ensure that 
0e60: 74 68 65 20 72 65 70 6f 73 69 74 6f 72 79 20 66  the repository f
0e70: 69 6c 65 20 69 73 20 72 65 61 64 61 62 6c 65 20  ile is readable 
0e80: 3c 65 6d 3e 61 6e 64 3c 2f 65 6d 3e 20 77 72 69  <em>and</em> wri
0e90: 74 61 62 6c 65 20 74 6f 20 74 68 65 20 43 47 49  table to the CGI
0ea0: 20 75 73 65 72 20 61 63 63 6f 75 6e 74 2e 0d 0a   user account...
0eb0: 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20  ..The following 
0ec0: 73 68 65 6c 6c 20 73 63 72 69 70 74 20 63 61 6e  shell script can
0ed0: 20 62 65 20 72 75 6e 20 66 72 6f 6d 20 77 69 74   be run from wit
0ee0: 68 69 6e 20 74 68 65 20 64 69 72 65 63 74 6f 72  hin the director
0ef0: 79 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65  y containing the
0f00: 20 3c 63 69 74 65 3e 46 6f 73 73 69 6c 3c 2f 63   <cite>Fossil</c
0f10: 69 74 65 3e 20 72 65 70 6f 73 69 74 6f 72 69 65  ite> repositorie
0f20: 73 20 74 6f 20 62 65 20 73 68 61 72 65 64 20 28  s to be shared (
0f30: 61 6e 64 2c 20 6f 66 20 63 6f 75 72 73 65 2c 20  and, of course, 
0f40: 61 6c 74 65 72 65 64 20 66 6f 72 20 79 6f 75 72  altered for your
0f50: 20 73 65 74 75 70 29 20 74 6f 20 73 65 74 20 73   setup) to set s
0f60: 6f 6d 65 20 6f 66 20 74 68 65 20 63 6f 6e 73 74  ome of the const
0f70: 72 61 69 6e 74 73 20 61 62 6f 76 65 20 75 70 20  raints above up 
0f80: 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 3a 0d 0a  automatically:..
0f90: 0d 0a 3c 6e 6f 77 69 6b 69 3e 3c 66 6f 6e 74 20  ..<nowiki><font 
0fa0: 66 61 63 65 3d 22 6d 6f 6e 6f 73 70 61 63 65 22  face="monospace"
0fb0: 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  >..<font color="
0fc0: 23 61 35 32 61 32 61 22 3e 26 6e 62 73 70 3b 31  #a52a2a">&nbsp;1
0fd0: 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f   </font><font co
0fe0: 6c 6f 72 3d 22 23 30 30 30 30 66 66 22 3e 23 21  lor="#0000ff">#!
0ff0: 20 2f 62 69 6e 2f 73 68 3c 2f 66 6f 6e 74 3e 3c   /bin/sh</font><
1000: 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72  br>..<font color
1010: 3d 22 23 61 35 32 61 32 61 22 3e 26 6e 62 73 70  ="#a52a2a">&nbsp
1020: 3b 32 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  ;2 </font><font 
1030: 63 6f 6c 6f 72 3d 22 23 30 30 38 62 38 62 22 3e  color="#008b8b">
1040: 43 47 49 5f 52 4f 4f 54 3c 2f 66 6f 6e 74 3e 3d  CGI_ROOT</font>=
1050: 2f 75 73 72 2f 6c 69 62 2f 66 6f 73 73 69 6c 3c  /usr/lib/fossil<
1060: 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72  br>..<font color
1070: 3d 22 23 61 35 32 61 32 61 22 3e 26 6e 62 73 70  ="#a52a2a">&nbsp
1080: 3b 33 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  ;3 </font><font 
1090: 63 6f 6c 6f 72 3d 22 23 30 30 38 62 38 62 22 3e  color="#008b8b">
10a0: 52 45 50 4f 53 49 54 4f 52 59 5f 4f 57 4e 45 52  REPOSITORY_OWNER
10b0: 3c 2f 66 6f 6e 74 3e 3d 6d 69 63 68 61 65 6c 3c  </font>=michael<
10c0: 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72  br>..<font color
10d0: 3d 22 23 61 35 32 61 32 61 22 3e 26 6e 62 73 70  ="#a52a2a">&nbsp
10e0: 3b 34 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  ;4 </font><font 
10f0: 63 6f 6c 6f 72 3d 22 23 30 30 38 62 38 62 22 3e  color="#008b8b">
1100: 43 47 49 5f 47 52 4f 55 50 3c 2f 66 6f 6e 74 3e  CGI_GROUP</font>
1110: 3d 77 77 77 2d 64 61 74 61 3c 62 72 3e 0d 0a 3c  =www-data<br>..<
1120: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32  font color="#a52
1130: 61 32 61 22 3e 26 6e 62 73 70 3b 35 20 3c 2f 66  a2a">&nbsp;5 </f
1140: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
1150: 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 69 66 3c  "#a52a2a"><b>if<
1160: 2f 62 3e 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b  /b></font>&nbsp;
1170: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35  <font color="#a5
1180: 32 61 32 61 22 3e 3c 62 3e 5b 3c 2f 62 3e 3c 2f  2a2a"><b>[</b></
1190: 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74  font>&nbsp;<font
11a0: 20 63 6f 6c 6f 72 3d 22 23 36 61 35 61 63 64 22   color="#6a5acd"
11b0: 3e 22 60 69 64 20 2d 75 6e 60 22 3c 2f 66 6f 6e  >"`id -un`"</fon
11c0: 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f  t>&nbsp;<font co
11d0: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62  lor="#a52a2a"><b
11e0: 3e 3d 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 26 6e 62  >=</b></font>&nb
11f0: 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  sp;<font color="
1200: 23 66 66 30 30 66 66 22 3e 27 72 6f 6f 74 27 3c  #ff00ff">'root'<
1210: 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e  /font>&nbsp;<fon
1220: 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61  t color="#a52a2a
1230: 22 3e 3c 62 3e 5d 3c 2f 62 3e 3c 2f 66 6f 6e 74  "><b>]</b></font
1240: 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c  ><br>..<font col
1250: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 26 6e 62  or="#a52a2a">&nb
1260: 73 70 3b 36 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  sp;6 </font><fon
1270: 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61  t color="#a52a2a
1280: 22 3e 3c 62 3e 74 68 65 6e 3c 2f 62 3e 3c 2f 66  "><b>then</b></f
1290: 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20  ont><br>..<font 
12a0: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
12b0: 26 6e 62 73 70 3b 37 20 3c 2f 66 6f 6e 74 3e 26  &nbsp;7 </font>&
12c0: 6e 62 73 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74  nbsp;&nbsp;<font
12d0: 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22   color="#a52a2a"
12e0: 3e 3c 62 3e 66 6f 72 3c 2f 62 3e 3c 2f 66 6f 6e  ><b>for</b></fon
12f0: 74 3e 26 6e 62 73 70 3b 72 65 70 6f 73 69 74 6f  t>&nbsp;reposito
1300: 72 79 20 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  ry <font color="
1310: 23 61 35 32 61 32 61 22 3e 3c 62 3e 69 6e 3c 2f  #a52a2a"><b>in</
1320: 62 3e 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 2a  b></font>&nbsp;*
1330: 2e 66 73 6c 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20  .fsl<br>..<font 
1340: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
1350: 26 6e 62 73 70 3b 38 20 3c 2f 66 6f 6e 74 3e 26  &nbsp;8 </font>&
1360: 6e 62 73 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74  nbsp;&nbsp;<font
1370: 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22   color="#a52a2a"
1380: 3e 3c 62 3e 64 6f 3c 2f 62 3e 3c 2f 66 6f 6e 74  ><b>do</b></font
1390: 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c  ><br>..<font col
13a0: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 26 6e 62  or="#a52a2a">&nb
13b0: 73 70 3b 39 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73  sp;9 </font>&nbs
13c0: 70 3b 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e  p;&nbsp;&nbsp;&n
13d0: 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  bsp;<font color=
13e0: 22 23 30 30 38 62 38 62 22 3e 53 4f 55 52 43 45  "#008b8b">SOURCE
13f0: 3c 2f 66 6f 6e 74 3e 3d 3c 66 6f 6e 74 20 63 6f  </font>=<font co
1400: 6c 6f 72 3d 22 23 36 61 35 61 63 64 22 3e 60 3c  lor="#6a5acd">`<
1410: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
1420: 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 70  r="#a52a2a"><b>p
1430: 77 64 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f  wd</b></font><fo
1440: 6e 74 20 63 6f 6c 6f 72 3d 22 23 36 61 35 61 63  nt color="#6a5ac
1450: 64 22 3e 60 3c 2f 66 6f 6e 74 3e 2f 3c 66 6f 6e  d">`</font>/<fon
1460: 74 20 63 6f 6c 6f 72 3d 22 23 61 30 32 30 66 30  t color="#a020f0
1470: 22 3e 24 72 65 70 6f 73 69 74 6f 72 79 3c 2f 66  ">$repository</f
1480: 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20  ont><br>..<font 
1490: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
14a0: 31 30 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b  10 </font>&nbsp;
14b0: 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e 62 73  &nbsp;&nbsp;&nbs
14c0: 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  p;<font color="#
14d0: 30 30 38 62 38 62 22 3e 44 45 53 54 49 4e 41 54  008b8b">DESTINAT
14e0: 49 4f 4e 3c 2f 66 6f 6e 74 3e 3d 3c 66 6f 6e 74  ION</font>=<font
14f0: 20 63 6f 6c 6f 72 3d 22 23 61 30 32 30 66 30 22   color="#a020f0"
1500: 3e 24 43 47 49 5f 52 4f 4f 54 3c 2f 66 6f 6e 74  >$CGI_ROOT</font
1510: 3e 2f 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  >/<font color="#
1520: 61 30 32 30 66 30 22 3e 24 7b 3c 2f 66 6f 6e 74  a020f0">${</font
1530: 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61  ><font color="#a
1540: 30 32 30 66 30 22 3e 72 65 70 6f 73 69 74 6f 72  020f0">repositor
1550: 79 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f  y</font><font co
1560: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62  lor="#a52a2a"><b
1570: 3e 25 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 2e 66 73  >%</b></font>.fs
1580: 6c 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61  l<font color="#a
1590: 30 32 30 66 30 22 3e 7d 3c 2f 66 6f 6e 74 3e 3c  020f0">}</font><
15a0: 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72  br>..<font color
15b0: 3d 22 23 61 35 32 61 32 61 22 3e 31 31 20 3c 2f  ="#a52a2a">11 </
15c0: 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70  font>&nbsp;&nbsp
15d0: 3b 26 6e 62 73 70 3b 26 6e 62 73 70 3b 3c 66 6f  ;&nbsp;&nbsp;<fo
15e0: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
15f0: 61 22 3e 3c 62 3e 65 63 68 6f 3c 2f 62 3e 3c 2f  a"><b>echo</b></
1600: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
1610: 3d 22 23 66 66 30 30 66 66 22 3e 26 6e 62 73 70  ="#ff00ff">&nbsp
1620: 3b 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f  ;</font><font co
1630: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62  lor="#a52a2a"><b
1640: 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e  >&quot;</b></fon
1650: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
1660: 66 66 30 30 66 66 22 3e 23 21 20 2f 75 73 72 2f  ff00ff">#! /usr/
1670: 62 69 6e 2f 65 6e 76 20 66 6f 73 73 69 6c 3c 2f  bin/env fossil</
1680: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
1690: 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 26 71  ="#a52a2a"><b>&q
16a0: 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c  uot;</b></font><
16b0: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 66 66 30  font color="#ff0
16c0: 30 66 66 22 3e 26 6e 62 73 70 3b 3c 2f 66 6f 6e  0ff">&nbsp;</fon
16d0: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
16e0: 61 35 32 61 32 61 22 3e 3c 62 3e 26 67 74 3b 3c  a52a2a"><b>&gt;<
16f0: 2f 62 3e 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b  /b></font>&nbsp;
1700: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 30  <font color="#a0
1710: 32 30 66 30 22 3e 24 44 45 53 54 49 4e 41 54 49  20f0">$DESTINATI
1720: 4f 4e 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c  ON</font><br>..<
1730: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32  font color="#a52
1740: 61 32 61 22 3e 31 32 20 3c 2f 66 6f 6e 74 3e 26  a2a">12 </font>&
1750: 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e 62 73 70  nbsp;&nbsp;&nbsp
1760: 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c  ;&nbsp;<font col
1770: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e  or="#a52a2a"><b>
1780: 65 63 68 6f 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c  echo</b></font><
1790: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 66 66 30  font color="#ff0
17a0: 30 66 66 22 3e 26 6e 62 73 70 3b 3c 2f 66 6f 6e  0ff">&nbsp;</fon
17b0: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
17c0: 61 35 32 61 32 61 22 3e 3c 62 3e 26 71 75 6f 74  a52a2a"><b>&quot
17d0: 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  ;</b></font><fon
17e0: 74 20 63 6f 6c 6f 72 3d 22 23 66 66 30 30 66 66  t color="#ff00ff
17f0: 22 3e 72 65 70 6f 73 69 74 6f 72 79 3a 20 3c 2f  ">repository: </
1800: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
1810: 3d 22 23 61 30 32 30 66 30 22 3e 24 53 4f 55 52  ="#a020f0">$SOUR
1820: 43 45 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63  CE</font><font c
1830: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c  olor="#a52a2a"><
1840: 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f  b>&quot;</b></fo
1850: 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  nt><font color="
1860: 23 66 66 30 30 66 66 22 3e 26 6e 62 73 70 3b 3c  #ff00ff">&nbsp;<
1870: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
1880: 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 26  r="#a52a2a"><b>&
1890: 67 74 3b 26 67 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e  gt;&gt;</b></fon
18a0: 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f  t>&nbsp;<font co
18b0: 6c 6f 72 3d 22 23 61 30 32 30 66 30 22 3e 24 44  lor="#a020f0">$D
18c0: 45 53 54 49 4e 41 54 49 4f 4e 3c 2f 66 6f 6e 74  ESTINATION</font
18d0: 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c  ><br>..<font col
18e0: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 31 33 20  or="#a52a2a">13 
18f0: 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62  </font>&nbsp;&nb
1900: 73 70 3b 26 6e 62 73 70 3b 26 6e 62 73 70 3b 63  sp;&nbsp;&nbsp;c
1910: 68 6f 77 6e 20 3c 66 6f 6e 74 20 63 6f 6c 6f 72  hown <font color
1920: 3d 22 23 61 30 32 30 66 30 22 3e 24 52 45 50 4f  ="#a020f0">$REPO
1930: 53 49 54 4f 52 59 5f 4f 57 4e 45 52 3c 2f 66 6f  SITORY_OWNER</fo
1940: 6e 74 3e 3a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  nt>:<font color=
1950: 22 23 61 30 32 30 66 30 22 3e 24 43 47 49 5f 47  "#a020f0">$CGI_G
1960: 52 4f 55 50 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70  ROUP</font>&nbsp
1970: 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61  ;<font color="#a
1980: 30 32 30 66 30 22 3e 24 53 4f 55 52 43 45 3c 2f  020f0">$SOURCE</
1990: 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74  font><br>..<font
19a0: 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22   color="#a52a2a"
19b0: 3e 31 34 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70  >14 </font>&nbsp
19c0: 3b 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e 62  ;&nbsp;&nbsp;&nb
19d0: 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  sp;<font color="
19e0: 23 61 35 32 61 32 61 22 3e 3c 62 3e 63 68 6d 6f  #a52a2a"><b>chmo
19f0: 64 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 26 6e 62 73  d</b></font>&nbs
1a00: 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  p;<font color="#
1a10: 66 66 30 30 66 66 22 3e 36 36 34 3c 2f 66 6f 6e  ff00ff">664</fon
1a20: 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f  t>&nbsp;<font co
1a30: 6c 6f 72 3d 22 23 61 30 32 30 66 30 22 3e 24 53  lor="#a020f0">$S
1a40: 4f 55 52 43 45 3c 2f 66 6f 6e 74 3e 3c 62 72 3e  OURCE</font><br>
1a50: 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  ..<font color="#
1a60: 61 35 32 61 32 61 22 3e 31 35 20 3c 2f 66 6f 6e  a52a2a">15 </fon
1a70: 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e  t>&nbsp;&nbsp;&n
1a80: 62 73 70 3b 26 6e 62 73 70 3b 63 68 6f 77 6e 20  bsp;&nbsp;chown 
1a90: 72 6f 6f 74 3a 72 6f 6f 74 20 3c 66 6f 6e 74 20  root:root <font 
1aa0: 63 6f 6c 6f 72 3d 22 23 61 30 32 30 66 30 22 3e  color="#a020f0">
1ab0: 24 44 45 53 54 49 4e 41 54 49 4f 4e 3c 2f 66 6f  $DESTINATION</fo
1ac0: 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63  nt><br>..<font c
1ad0: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 31  olor="#a52a2a">1
1ae0: 36 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26  6 </font>&nbsp;&
1af0: 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e 62 73 70  nbsp;&nbsp;&nbsp
1b00: 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61  ;<font color="#a
1b10: 35 32 61 32 61 22 3e 3c 62 3e 63 68 6d 6f 64 3c  52a2a"><b>chmod<
1b20: 2f 62 3e 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b  /b></font>&nbsp;
1b30: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 66 66  <font color="#ff
1b40: 30 30 66 66 22 3e 37 35 35 3c 2f 66 6f 6e 74 3e  00ff">755</font>
1b50: 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f  &nbsp;<font colo
1b60: 72 3d 22 23 61 30 32 30 66 30 22 3e 24 44 45 53  r="#a020f0">$DES
1b70: 54 49 4e 41 54 49 4f 4e 3c 2f 66 6f 6e 74 3e 3c  TINATION</font><
1b80: 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72  br>..<font color
1b90: 3d 22 23 61 35 32 61 32 61 22 3e 31 37 20 3c 2f  ="#a52a2a">17 </
1ba0: 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70  font>&nbsp;&nbsp
1bb0: 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61  ;<font color="#a
1bc0: 35 32 61 32 61 22 3e 3c 62 3e 64 6f 6e 65 3c 2f  52a2a"><b>done</
1bd0: 62 3e 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c  b></font><br>..<
1be0: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32  font color="#a52
1bf0: 61 32 61 22 3e 31 38 20 3c 2f 66 6f 6e 74 3e 3c  a2a">18 </font><
1c00: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32  font color="#a52
1c10: 61 32 61 22 3e 3c 62 3e 65 6c 73 65 3c 2f 62 3e  a2a"><b>else</b>
1c20: 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f  </font><br>..<fo
1c30: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
1c40: 61 22 3e 31 39 20 3c 2f 66 6f 6e 74 3e 26 6e 62  a">19 </font>&nb
1c50: 73 70 3b 26 6e 62 73 70 3b 73 75 64 6f 20 3c 66  sp;&nbsp;sudo <f
1c60: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 30 32 30  ont color="#a020
1c70: 66 30 22 3e 24 30 3c 2f 66 6f 6e 74 3e 26 6e 62  f0">$0</font>&nb
1c80: 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  sp;<font color="
1c90: 23 61 30 32 30 66 30 22 3e 24 2a 3c 2f 66 6f 6e  #a020f0">$*</fon
1ca0: 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f  t><br>..<font co
1cb0: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 32 30  lor="#a52a2a">20
1cc0: 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f   </font><font co
1cd0: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62  lor="#a52a2a"><b
1ce0: 3e 66 69 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 62  >fi</b></font><b
1cf0: 72 3e 0d 0a 3c 2f 66 6f 6e 74 3e 3c 2f 6e 6f 77  r>..</font></now
1d00: 69 6b 69 3e 0d 0a 0d 0a 48 65 72 65 20 69 73 20  iki>....Here is 
1d10: 61 20 6c 69 74 74 6c 65 20 70 65 72 6c 20 73 63  a little perl sc
1d20: 72 69 70 74 20 74 6f 20 70 75 74 20 69 6e 20 79  ript to put in y
1d30: 6f 75 72 20 63 67 69 2d 62 69 6e 20 74 6f 20 6c  our cgi-bin to l
1d40: 69 73 74 20 61 6c 6c 20 74 68 65 20 66 6f 73 73  ist all the foss
1d50: 69 6c 73 20 79 6f 75 20 61 72 65 20 70 75 62 6c  ils you are publ
1d60: 69 73 68 69 6e 67 3a 0d 0a 0d 0a 3c 6e 6f 77 69  ishing:....<nowi
1d70: 6b 69 3e 0d 0a 3c 70 72 65 3e 0d 0a 3c 66 6f 6e  ki>..<pre>..<fon
1d80: 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61  t color="#a52a2a
1d90: 22 3e 26 6e 62 73 70 3b 31 20 3c 2f 66 6f 6e 74  ">&nbsp;1 </font
1da0: 3e 20 23 21 2f 75 73 72 2f 62 69 6e 2f 70 65 72  > #!/usr/bin/per
1db0: 6c 20 2d 77 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f  l -w..<font colo
1dc0: 72 3d 22 23 61 35 32 61 32 61 22 3e 26 6e 62 73  r="#a52a2a">&nbs
1dd0: 70 3b 32 20 3c 2f 66 6f 6e 74 3e 20 3c 66 6f 6e  p;2 </font> <fon
1de0: 74 20 63 6f 6c 6f 72 3d 22 23 38 42 30 30 38 42  t color="#8B008B
1df0: 22 3e 3c 62 3e 6d 79 3c 2f 62 3e 3c 2f 66 6f 6e  "><b>my</b></fon
1e00: 74 3e 20 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  t> <font color="
1e10: 23 30 30 36 38 38 42 22 3e 24 43 47 49 5f 42 49  #00688B">$CGI_BI
1e20: 4e 3c 2f 66 6f 6e 74 3e 20 3d 20 3c 66 6f 6e 74  N</font> = <font
1e30: 20 63 6f 6c 6f 72 3d 22 23 43 44 35 35 35 35 22   color="#CD5555"
1e40: 3e 26 23 33 39 3b 2f 4c 69 62 72 61 72 79 2f 57  >&#39;/Library/W
1e50: 65 62 53 65 72 76 65 72 2f 43 47 49 2d 45 78 65  ebServer/CGI-Exe
1e60: 63 75 74 61 62 6c 65 73 26 23 33 39 3b 3c 2f 66  cutables&#39;</f
1e70: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
1e80: 22 23 30 30 30 30 30 30 22 3e 3b 3c 2f 66 6f 6e  "#000000">;</fon
1e90: 74 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  t>..<font color=
1ea0: 22 23 61 35 32 61 32 61 22 3e 26 6e 62 73 70 3b  "#a52a2a">&nbsp;
1eb0: 33 20 3c 2f 66 6f 6e 74 3e 20 3c 66 6f 6e 74 20  3 </font> <font 
1ec0: 63 6f 6c 6f 72 3d 22 23 38 42 30 30 38 42 22 3e  color="#8B008B">
1ed0: 3c 62 3e 6d 79 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e  <b>my</b></font>
1ee0: 20 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 30   <font color="#0
1ef0: 30 36 38 38 42 22 3e 40 66 69 6c 65 73 3c 2f 66  0688B">@files</f
1f00: 6f 6e 74 3e 20 3d 20 3c 66 6f 6e 74 20 63 6f 6c  ont> = <font col
1f10: 6f 72 3d 22 23 43 44 35 35 35 35 22 3e 60 67 72  or="#CD5555">`gr
1f20: 65 70 20 2d 6c 20 72 65 70 6f 73 69 74 6f 72 79  ep -l repository
1f30: 3a 20 20 24 43 47 49 5f 42 49 4e 2f 2a 20 60 3c  :  $CGI_BIN/* `<
1f40: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
1f50: 72 3d 22 23 30 30 30 30 30 30 22 3e 3b 3c 2f 66  r="#000000">;</f
1f60: 6f 6e 74 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f  ont>..<font colo
1f70: 72 3d 22 23 61 35 32 61 32 61 22 3e 26 6e 62 73  r="#a52a2a">&nbs
1f80: 70 3b 34 20 3c 2f 66 6f 6e 74 3e 20 3c 66 6f 6e  p;4 </font> <fon
1f90: 74 20 63 6f 6c 6f 72 3d 22 23 38 42 30 30 38 42  t color="#8B008B
1fa0: 22 3e 3c 62 3e 70 72 69 6e 74 3c 2f 62 3e 3c 2f  "><b>print</b></
1fb0: 66 6f 6e 74 3e 20 3c 66 6f 6e 74 20 63 6f 6c 6f  font> <font colo
1fc0: 72 3d 22 23 43 44 35 35 35 35 22 3e 3c 62 3e 26  r="#CD5555"><b>&
1fd0: 6c 74 3b 26 6c 74 3b 45 4f 4d 3c 2f 62 3e 3c 2f  lt;&lt;EOM</b></
1fe0: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
1ff0: 3d 22 23 30 30 30 30 30 30 22 3e 3b 3c 2f 66 6f  ="#000000">;</fo
2000: 6e 74 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72  nt>..<font color
2010: 3d 22 23 61 35 32 61 32 61 22 3e 26 6e 62 73 70  ="#a52a2a">&nbsp
2020: 3b 35 20 3c 2f 66 6f 6e 74 3e 20 3c 66 6f 6e 74  ;5 </font> <font
2030: 20 63 6f 6c 6f 72 3d 22 23 43 44 35 35 35 35 22   color="#CD5555"
2040: 3e 3c 69 3e 43 6f 6e 74 65 6e 74 2d 54 79 70 65  ><i>Content-Type
2050: 3a 20 74 65 78 74 2f 68 74 6d 6c 3c 2f 69 3e 3c  : text/html</i><
2060: 2f 66 6f 6e 74 3e 0d 0a 3c 66 6f 6e 74 20 63 6f  /font>..<font co
2070: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 26 6e  lor="#a52a2a">&n
2080: 62 73 70 3b 36 20 3c 2f 66 6f 6e 74 3e 0d 0a 3c  bsp;6 </font>..<
2090: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32  font color="#a52
20a0: 61 32 61 22 3e 26 6e 62 73 70 3b 37 20 3c 2f 66  a2a">&nbsp;7 </f
20b0: 6f 6e 74 3e 20 3c 66 6f 6e 74 20 63 6f 6c 6f 72  ont> <font color
20c0: 3d 22 23 43 44 35 35 35 35 22 3e 3c 69 3e 46 6f  ="#CD5555"><i>Fo
20d0: 73 73 69 6c 73 20 66 6f 72 20 74 68 69 73 20 73  ssils for this s
20e0: 65 72 76 65 72 3c 2f 69 3e 3c 2f 66 6f 6e 74 3e  erver</i></font>
20f0: 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  ..<font color="#
2100: 61 35 32 61 32 61 22 3e 26 6e 62 73 70 3b 38 20  a52a2a">&nbsp;8 
2110: 3c 2f 66 6f 6e 74 3e 20 3c 66 6f 6e 74 20 63 6f  </font> <font co
2120: 6c 6f 72 3d 22 23 43 44 35 35 35 35 22 3e 3c 69  lor="#CD5555"><i
2130: 3e 26 6c 74 3b 75 6c 26 67 74 3b 3c 2f 69 3e 3c  >&lt;ul&gt;</i><
2140: 2f 66 6f 6e 74 3e 0d 0a 3c 66 6f 6e 74 20 63 6f  /font>..<font co
2150: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 26 6e  lor="#a52a2a">&n
2160: 62 73 70 3b 39 20 3c 2f 66 6f 6e 74 3e 20 3c 66  bsp;9 </font> <f
2170: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 43 44 35 35  ont color="#CD55
2180: 35 35 22 3e 3c 62 3e 45 4f 4d 3c 2f 62 3e 3c 2f  55"><b>EOM</b></
2190: 66 6f 6e 74 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c  font>..<font col
21a0: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 26 6e 62  or="#a52a2a">&nb
21b0: 73 70 3b 31 30 20 3c 2f 66 6f 6e 74 3e 0d 0a 3c  sp;10 </font>..<
21c0: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32  font color="#a52
21d0: 61 32 61 22 3e 26 6e 62 73 70 3b 31 31 20 3c 2f  a2a">&nbsp;11 </
21e0: 66 6f 6e 74 3e 20 3c 66 6f 6e 74 20 63 6f 6c 6f  font> <font colo
21f0: 72 3d 22 23 38 42 30 30 38 42 22 3e 3c 62 3e 66  r="#8B008B"><b>f
2200: 6f 72 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 20 3c 66  or</b></font> <f
2210: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 30 30 30 30  ont color="#0000
2220: 30 30 22 3e 28 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  00">(</font><fon
2230: 74 20 63 6f 6c 6f 72 3d 22 23 30 30 36 38 38 42  t color="#00688B
2240: 22 3e 40 66 69 6c 65 73 3c 2f 66 6f 6e 74 3e 3c  ">@files</font><
2250: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 30 30 30  font color="#000
2260: 30 30 30 22 3e 29 3c 2f 66 6f 6e 74 3e 20 3c 66  000">)</font> <f
2270: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 30 30 30 30  ont color="#0000
2280: 30 30 22 3e 7b 3c 2f 66 6f 6e 74 3e 0d 0a 3c 66  00">{</font>..<f
2290: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61  ont color="#a52a
22a0: 32 61 22 3e 26 6e 62 73 70 3b 31 32 20 3c 2f 66  2a">&nbsp;12 </f
22b0: 6f 6e 74 3e 20 20 20 3c 66 6f 6e 74 20 63 6f 6c  ont>   <font col
22c0: 6f 72 3d 22 23 43 44 35 35 35 35 22 3e 73 7b 2e  or="#CD5555">s{.
22d0: 2a 2f 7d 7b 7d 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  */}{}</font><fon
22e0: 74 20 63 6f 6c 6f 72 3d 22 23 30 30 30 30 30 30  t color="#000000
22f0: 22 3e 3b 3c 2f 66 6f 6e 74 3e 0d 0a 3c 66 6f 6e  ">;</font>..<fon
2300: 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61  t color="#a52a2a
2310: 22 3e 26 6e 62 73 70 3b 31 33 20 3c 2f 66 6f 6e  ">&nbsp;13 </fon
2320: 74 3e 20 20 20 3c 66 6f 6e 74 20 63 6f 6c 6f 72  t>   <font color
2330: 3d 22 23 38 42 30 30 38 42 22 3e 3c 62 3e 6e 65  ="#8B008B"><b>ne
2340: 78 74 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 20 3c 66  xt</b></font> <f
2350: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 42 30 30  ont color="#8B00
2360: 38 42 22 3e 3c 62 3e 69 66 3c 2f 62 3e 3c 2f 66  8B"><b>if</b></f
2370: 6f 6e 74 3e 20 3c 66 6f 6e 74 20 63 6f 6c 6f 72  ont> <font color
2380: 3d 22 23 43 44 35 35 35 35 22 3e 2f 7e 24 2f 3c  ="#CD5555">/~$/<
2390: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
23a0: 72 3d 22 23 30 30 30 30 30 30 22 3e 3b 3c 2f 66  r="#000000">;</f
23b0: 6f 6e 74 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f  ont>..<font colo
23c0: 72 3d 22 23 61 35 32 61 32 61 22 3e 26 6e 62 73  r="#a52a2a">&nbs
23d0: 70 3b 31 34 20 3c 2f 66 6f 6e 74 3e 20 20 20 3c  p;14 </font>   <
23e0: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 42 30  font color="#8B0
23f0: 30 38 42 22 3e 3c 62 3e 70 72 69 6e 74 3c 2f 62  08B"><b>print</b
2400: 3e 3c 2f 66 6f 6e 74 3e 20 3c 66 6f 6e 74 20 63  ></font> <font c
2410: 6f 6c 6f 72 3d 22 23 43 44 35 35 35 35 22 3e 26  olor="#CD5555">&
2420: 71 75 6f 74 3b 26 6c 74 3b 6c 69 26 67 74 3b 26  quot;&lt;li&gt;&
2430: 6c 74 3b 61 20 68 72 65 66 3d 26 23 33 39 3b 24  lt;a href=&#39;$
2440: 5f 26 23 33 39 3b 26 67 74 3b 24 5f 26 6c 74 3b  _&#39;&gt;$_&lt;
2450: 2f 61 26 67 74 3b 26 6c 74 3b 2f 6c 69 26 67 74  /a&gt;&lt;/li&gt
2460: 3b 5c 6e 26 71 75 6f 74 3b 3c 2f 66 6f 6e 74 3e  ;\n&quot;</font>
2470: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 30 30  <font color="#00
2480: 30 30 30 30 22 3e 3b 3c 2f 66 6f 6e 74 3e 0d 0a  0000">;</font>..
2490: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35  <font color="#a5
24a0: 32 61 32 61 22 3e 26 6e 62 73 70 3b 31 35 20 3c  2a2a">&nbsp;15 <
24b0: 2f 66 6f 6e 74 3e 20 3c 66 6f 6e 74 20 63 6f 6c  /font> <font col
24c0: 6f 72 3d 22 23 30 30 30 30 30 30 22 3e 7d 3c 2f  or="#000000">}</
24d0: 66 6f 6e 74 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c  font>..<font col
24e0: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 26 6e 62  or="#a52a2a">&nb
24f0: 73 70 3b 31 36 20 3c 2f 66 6f 6e 74 3e 20 3c 66  sp;16 </font> <f
2500: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 42 30 30  ont color="#8B00
2510: 38 42 22 3e 3c 62 3e 70 72 69 6e 74 3c 2f 62 3e  8B"><b>print</b>
2520: 3c 2f 66 6f 6e 74 3e 20 3c 66 6f 6e 74 20 63 6f  </font> <font co
2530: 6c 6f 72 3d 22 23 43 44 35 35 35 35 22 3e 26 71  lor="#CD5555">&q
2540: 75 6f 74 3b 26 6c 74 3b 2f 75 6c 26 67 74 3b 5c  uot;&lt;/ul&gt;\
2550: 6e 26 71 75 6f 74 3b 3c 2f 66 6f 6e 74 3e 3c 66  n&quot;</font><f
2560: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 30 30 30 30  ont color="#0000
2570: 30 30 22 3e 3b 3c 2f 66 6f 6e 74 3e 0d 0a 3c 2f  00">;</font>..</
2580: 70 72 65 3e 0d 0a 3c 2f 6e 6f 77 69 6b 69 3e 0d  pre>..</nowiki>.
2590: 0a 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67  ...The following
25a0: 20 3c 63 69 74 65 3e 61 70 61 63 68 65 32 3c 2f   <cite>apache2</
25b0: 63 69 74 65 3e 20 63 6f 6e 66 69 67 75 72 61 74  cite> configurat
25c0: 69 6f 6e 20 63 61 6e 20 62 65 20 75 73 65 64 20  ion can be used 
25d0: 74 6f 20 72 75 6e 20 74 68 65 20 72 6f 6f 74 20  to run the root 
25e0: 6f 66 20 61 20 77 65 62 20 73 69 74 65 20 77 69  of a web site wi
25f0: 74 68 20 66 6f 73 73 69 6c 2c 20 62 75 74 20 73  th fossil, but s
2600: 74 69 6c 6c 20 61 6c 6c 6f 77 20 6f 74 68 65 72  till allow other
2610: 20 73 65 72 76 69 63 65 73 20 2f 20 64 6f 63 75   services / docu
2620: 6d 65 6e 74 73 20 74 6f 20 62 65 20 72 65 61 63  ments to be reac
2630: 68 65 64 20 76 69 61 20 73 70 65 63 69 66 69 63  hed via specific
2640: 20 55 52 4c 73 2e 20 52 65 70 6c 61 63 65 20 22   URLs. Replace "
2650: 63 6f 64 65 2e 61 75 74 6f 6e 6f 6d 6f 2e 75 73  code.autonomo.us
2660: 22 20 77 69 74 68 20 79 6f 75 72 20 73 69 74 65  " with your site
2670: 27 73 20 6e 61 6d 65 20 61 6e 64 20 22 64 63 6c  's name and "dcl
2680: 61 72 6b 40 70 6f 62 6f 78 2e 63 6f 6d 22 20 77  ark@pobox.com" w
2690: 69 74 68 20 79 6f 75 72 20 65 6d 61 69 6c 2e 0d  ith your email..
26a0: 0a 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 4e  ...<verbatim>..N
26b0: 61 6d 65 56 69 72 74 75 61 6c 48 6f 73 74 20 2a  ameVirtualHost *
26c0: 3a 38 30 0d 0a 3c 56 69 72 74 75 61 6c 48 6f 73  :80..<VirtualHos
26d0: 74 20 2a 3a 38 30 3e 0d 0a 20 20 20 20 53 65 72  t *:80>..    Ser
26e0: 76 65 72 4e 61 6d 65 20 63 6f 64 65 2e 61 75 74  verName code.aut
26f0: 6f 6e 6f 6d 6f 2e 75 73 0d 0a 20 20 20 20 53 65  onomo.us..    Se
2700: 72 76 65 72 41 64 6d 69 6e 20 64 63 6c 61 72 6b  rverAdmin dclark
2710: 40 70 6f 62 6f 78 2e 63 6f 6d 0d 0a 20 20 20 20  @pobox.com..    
2720: 45 72 72 6f 72 4c 6f 67 20 2f 76 61 72 2f 6c 6f  ErrorLog /var/lo
2730: 67 2f 61 70 61 63 68 65 32 2f 63 6f 64 65 2e 61  g/apache2/code.a
2740: 75 74 6f 6e 6f 6d 6f 2e 75 73 2d 65 72 72 6f 72  utonomo.us-error
2750: 2e 6c 6f 67 0d 0a 20 20 20 20 4c 6f 67 4c 65 76  .log..    LogLev
2760: 65 6c 20 77 61 72 6e 0d 0a 20 20 20 20 43 75 73  el warn..    Cus
2770: 74 6f 6d 4c 6f 67 20 2f 76 61 72 2f 6c 6f 67 2f  tomLog /var/log/
2780: 61 70 61 63 68 65 32 2f 63 6f 64 65 2e 61 75 74  apache2/code.aut
2790: 6f 6e 6f 6d 6f 2e 75 73 2d 61 63 63 65 73 73 2e  onomo.us-access.
27a0: 6c 6f 67 20 63 6f 6d 62 69 6e 65 64 0d 0a 20 20  log combined..  
27b0: 20 20 53 65 72 76 65 72 53 69 67 6e 61 74 75 72    ServerSignatur
27c0: 65 20 4f 6e 0d 0a 0d 0a 20 20 20 20 44 6f 63 75  e On....    Docu
27d0: 6d 65 6e 74 52 6f 6f 74 20 2f 76 61 72 2f 77 77  mentRoot /var/ww
27e0: 77 2f 0d 0a 0d 0a 20 20 20 20 53 63 72 69 70 74  w/....    Script
27f0: 41 6c 69 61 73 20 2f 63 67 69 2d 62 69 6e 2f 20  Alias /cgi-bin/ 
2800: 2f 75 73 72 2f 6c 69 62 2f 63 67 69 2d 62 69 6e  /usr/lib/cgi-bin
2810: 2f 0d 0a 20 20 20 20 3c 44 69 72 65 63 74 6f 72  /..    <Director
2820: 79 20 22 2f 75 73 72 2f 6c 69 62 2f 63 67 69 2d  y "/usr/lib/cgi-
2830: 62 69 6e 22 3e 0d 0a 20 20 20 20 20 20 20 20 41  bin">..        A
2840: 6c 6c 6f 77 4f 76 65 72 72 69 64 65 20 4e 6f 6e  llowOverride Non
2850: 65 0d 0a 20 20 20 20 20 20 20 20 4f 70 74 69 6f  e..        Optio
2860: 6e 73 20 2b 45 78 65 63 43 47 49 20 2d 4d 75 6c  ns +ExecCGI -Mul
2870: 74 69 56 69 65 77 73 20 2b 53 79 6d 4c 69 6e 6b  tiViews +SymLink
2880: 73 49 66 4f 77 6e 65 72 4d 61 74 63 68 0d 0a 20  sIfOwnerMatch.. 
2890: 20 20 20 20 20 20 20 4f 72 64 65 72 20 61 6c 6c         Order all
28a0: 6f 77 2c 64 65 6e 79 0d 0a 20 20 20 20 20 20 20  ow,deny..       
28b0: 20 41 6c 6c 6f 77 20 66 72 6f 6d 20 61 6c 6c 0d   Allow from all.
28c0: 0a 20 20 20 20 3c 2f 44 69 72 65 63 74 6f 72 79  .    </Directory
28d0: 3e 0d 0a 0d 0a 20 20 20 20 23 20 46 6f 73 73 69  >....    # Fossi
28e0: 6c 20 53 43 4d 20 61 74 20 72 6f 6f 74 20 6f 66  l SCM at root of
28f0: 20 77 65 62 20 73 69 74 65 20 28 68 74 74 70 3a   web site (http:
2900: 2f 2f 65 78 61 6d 70 6c 65 2e 63 6f 6d 29 20 63  //example.com) c
2910: 6f 6e 66 69 67 75 72 61 74 69 6f 6e 2e 2e 2e 0d  onfiguration....
2920: 0a 20 20 20 20 52 65 77 72 69 74 65 45 6e 67 69  .    RewriteEngi
2930: 6e 65 20 4f 6e 0d 0a 20 20 20 20 23 20 52 65 77  ne On..    # Rew
2940: 72 69 74 65 43 6f 6e 64 20 2d 20 4f 6e 65 20 66  riteCond - One f
2950: 6f 72 20 65 76 65 72 79 20 55 52 4c 20 77 65 20  or every URL we 
2960: 64 6f 6e 27 74 20 77 61 6e 74 20 46 6f 73 73 69  don't want Fossi
2970: 6c 20 53 43 4d 20 74 6f 20 73 65 72 76 65 2e 20  l SCM to serve. 
2980: 49 6e 20 74 68 65 0d 0a 20 20 20 20 23 20 20 20  In the..    #   
2990: 20 20 20 20 20 20 20 20 20 20 20 20 65 78 61 6d              exam
29a0: 70 6c 65 2c 20 72 65 71 75 65 73 74 73 20 74 68  ple, requests th
29b0: 61 74 20 67 6f 20 74 6f 20 74 68 65 20 2f 76 61  at go to the /va
29c0: 72 2f 77 77 77 2f 74 6d 70 20 64 69 72 65 63 74  r/www/tmp direct
29d0: 6f 72 79 20 61 6e 64 20 0d 0a 20 20 20 20 23 20  ory and ..    # 
29e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68                th
29f0: 65 20 2f 75 73 72 2f 6c 69 62 2f 63 67 69 2d 62  e /usr/lib/cgi-b
2a00: 69 6e 20 64 69 72 65 63 74 6f 74 79 20 61 72 65  in directoty are
2a10: 20 69 67 6e 6f 72 65 64 20 62 79 20 46 6f 73 73   ignored by Foss
2a20: 69 6c 20 53 43 4d 2e 0d 0a 20 20 20 20 52 65 77  il SCM...    Rew
2a30: 72 69 74 65 43 6f 6e 64 20 25 7b 52 45 51 55 45  riteCond %{REQUE
2a40: 53 54 5f 55 52 49 7d 20 21 5e 2f 74 6d 70 2f 2e  ST_URI} !^/tmp/.
2a50: 2a 24 0d 0a 20 20 20 20 52 65 77 72 69 74 65 43  *$..    RewriteC
2a60: 6f 6e 64 20 25 7b 52 45 51 55 45 53 54 5f 55 52  ond %{REQUEST_UR
2a70: 49 7d 20 21 5e 2f 63 67 69 2d 62 69 6e 2f 2e 2a  I} !^/cgi-bin/.*
2a80: 24 0d 0a 20 20 20 20 52 65 77 72 69 74 65 52 75  $..    RewriteRu
2a90: 6c 65 20 5e 28 2e 2a 29 24 20 2f 75 73 72 2f 6c  le ^(.*)$ /usr/l
2aa0: 69 62 2f 63 67 69 2d 62 69 6e 2f 63 6f 64 65 2e  ib/cgi-bin/code.
2ab0: 61 75 74 6f 6e 6f 6d 6f 2e 75 73 2f 24 31 20 5b  autonomo.us/$1 [
2ac0: 54 3d 61 70 70 6c 69 63 61 74 69 6f 6e 2f 78 2d  T=application/x-
2ad0: 68 74 74 70 64 2d 63 67 69 5d 0d 0a 3c 2f 56 69  httpd-cgi]..</Vi
2ae0: 72 74 75 61 6c 48 6f 73 74 3e 0d 0a 3c 2f 76 65  rtualHost>..</ve
2af0: 72 62 61 74 69 6d 3e 0d 0a 0d 0a 2f 75 73 72 2f  rbatim>..../usr/
2b00: 6c 69 62 2f 63 67 69 2d 62 69 6e 2f 63 6f 64 65  lib/cgi-bin/code
2b10: 2e 61 75 74 6f 6e 6f 6d 6f 2e 75 73 20 69 73 20  .autonomo.us is 
2b20: 6a 75 73 74 20 61 20 73 74 61 6e 64 61 72 64 20  just a standard 
2b30: 66 6f 73 73 69 6c 20 43 47 49 20 66 69 6c 65 3b  fossil CGI file;
2b40: 20 69 74 20 6c 6f 6f 6b 73 20 6c 69 6b 65 20 74   it looks like t
2b50: 68 69 73 3a 0d 0a 0d 0a 3c 76 65 72 62 61 74 69  his:....<verbati
2b60: 6d 3e 0d 0a 23 21 2f 75 73 72 2f 62 69 6e 2f 66  m>..#!/usr/bin/f
2b70: 6f 73 73 69 6c 0d 0a 72 65 70 6f 73 69 74 6f 72  ossil..repositor
2b80: 79 3a 20 2f 73 72 76 2f 66 6f 73 73 69 6c 2d 73  y: /srv/fossil-s
2b90: 63 6d 2f 63 6f 64 65 2e 61 75 74 6f 6e 6f 6d 6f  cm/code.autonomo
2ba0: 2e 75 73 2e 66 6f 73 73 69 6c 2d 73 63 6d 0d 0a  .us.fossil-scm..
2bb0: 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 0d 0a 3c  </verbatim>....<
2bc0: 68 33 3e 41 6e 6f 74 68 65 72 20 73 6f 6c 75 74  h3>Another solut
2bd0: 69 6f 6e 20 74 6f 20 3c 69 3e 61 75 74 6f 6d 61  ion to <i>automa
2be0: 74 69 63 61 6c 6c 79 3c 2f 69 3e 20 73 65 72 76  tically</i> serv
2bf0: 65 20 6d 75 6c 74 69 70 6c 65 20 72 65 70 6f 73  e multiple repos
2c00: 69 74 6f 72 69 65 73 3c 2f 68 33 3e 0d 0a 0d 0a  itories</h3>....
2c10: 57 69 74 68 20 74 68 65 20 66 6f 6c 6c 6f 77 69  With the followi
2c20: 6e 67 20 43 47 49 20 73 63 72 69 70 74 20 28 49  ng CGI script (I
2c30: 20 68 61 76 65 20 6e 61 6d 65 64 20 69 74 20 3c   have named it <
2c40: 73 61 6d 70 3e 70 3c 2f 73 61 6d 70 3e 20 73 69  samp>p</samp> si
2c50: 6d 70 6c 79 29 20 69 74 20 69 73 20 70 6f 73 73  mply) it is poss
2c60: 69 62 6c 65 20 74 6f 20 64 65 66 69 6e 65 20 61  ible to define a
2c70: 20 6c 6f 63 61 74 69 6f 6e 20 77 68 65 72 65 20   location where 
2c80: 61 6c 6c 20 74 68 65 20 79 6f 75 72 20 72 65 70  all the your rep
2c90: 6f 73 69 74 6f 72 69 65 73 20 73 68 6f 75 6c 64  ositories should
2ca0: 20 62 65 20 6c 6f 63 61 74 65 64 20 28 69 6e 20   be located (in 
2cb0: 74 68 69 73 20 65 78 61 6d 70 6c 65 3a 20 3c 73  this example: <s
2cc0: 61 6d 70 3e 2f 68 6f 6d 65 2f 72 65 70 6f 73 2f  amp>/home/repos/
2cd0: 66 6f 73 73 69 6c 3c 2f 73 61 6d 70 3e 29 2e 20  fossil</samp>). 
2ce0: 41 6c 6c 20 74 68 65 20 72 65 70 6f 73 69 74 6f  All the reposito
2cf0: 72 69 65 73 20 61 72 65 20 6e 61 6d 65 64 20 61  ries are named a
2d00: 63 63 6f 72 64 69 6e 67 20 74 68 65 20 73 63 68  ccording the sch
2d10: 65 6d 65 20 3c 73 61 6d 70 3e 3c 70 72 6f 6a 65  eme <samp><proje
2d20: 63 74 20 6e 61 6d 65 3e 2e 66 73 6c 3c 2f 73 61  ct name>.fsl</sa
2d30: 6d 70 3e 20 66 6f 72 20 73 61 6b 65 20 6f 66 20  mp> for sake of 
2d40: 74 68 69 73 20 65 78 61 6d 70 6c 65 2e 0d 0a 0d  this example....
2d50: 0a 49 66 20 74 68 69 73 20 73 63 72 69 70 74 20  .If this script 
2d60: 69 73 20 63 61 6c 6c 65 64 20 61 6c 6f 6e 65 20  is called alone 
2d70: 28 6c 69 6b 65 20 65 2e 67 2e 3a 20 3c 73 61 6d  (like e.g.: <sam
2d80: 70 3e 68 74 74 70 3a 2f 2f 79 6f 75 72 2e 73 65  p>http://your.se
2d90: 72 76 65 72 2e 68 65 72 65 2f 63 67 69 2d 62 69  rver.here/cgi-bi
2da0: 6e 2f 70 3c 2f 73 61 6d 70 3e 29 2c 20 69 74 20  n/p</samp>), it 
2db0: 77 69 6c 6c 20 6c 69 73 74 20 61 6c 6c 20 72 65  will list all re
2dc0: 70 6f 73 69 74 6f 72 69 65 73 20 6c 6f 63 61 74  positories locat
2dd0: 65 64 20 75 6e 64 65 72 20 3c 73 61 6d 70 3e 24  ed under <samp>$
2de0: 52 45 50 4f 53 52 4f 4f 54 3c 2f 73 61 6d 70 3e  REPOSROOT</samp>
2df0: 2c 20 3c 62 3e 69 66 3c 2f 62 3e 20 74 68 65 72  , <b>if</b> ther
2e00: 65 20 3c 62 3e 64 6f 65 73 20 6e 6f 74 3c 2f 62  e <b>does not</b
2e10: 3e 20 65 78 69 73 74 20 61 20 63 6f 72 72 65 73  > exist a corres
2e20: 70 6f 6e 64 69 6e 67 20 66 69 6c 65 20 3c 73 61  ponding file <sa
2e30: 6d 70 3e 2e 3c 70 72 6f 6a 65 63 74 20 6e 61 6d  mp>.<project nam
2e40: 65 3e 3c 2f 73 61 6d 70 3e 20 28 74 68 61 74 20  e></samp> (that 
2e50: 6d 65 63 68 61 6e 69 73 6d 20 69 73 20 75 73 65  mechanism is use
2e60: 64 20 74 6f 20 3c 69 3e 68 69 64 65 3c 2f 69 3e  d to <i>hide</i>
2e70: 20 73 6f 6d 65 20 72 65 70 6f 73 69 74 6f 72 79   some repository
2e80: 20 69 6e 20 74 68 65 20 6c 69 73 74 69 6e 67 29   in the listing)
2e90: 2e 0d 0a 0d 0a 49 66 20 74 68 65 20 73 63 72 69  .....If the scri
2ea0: 70 74 20 69 73 20 63 61 6c 6c 65 64 20 6c 69 6b  pt is called lik
2eb0: 65 20 65 2e 67 2e 20 3c 73 61 6d 70 3e 68 74 74  e e.g. <samp>htt
2ec0: 70 3a 2f 2f 79 6f 75 72 2e 73 65 72 76 65 72 2e  p://your.server.
2ed0: 68 65 72 65 2f 63 67 69 2d 62 69 6e 2f 70 2f 3c  here/cgi-bin/p/<
2ee0: 70 72 6f 6a 65 63 74 20 6e 61 6d 65 3e 3c 2f 73  project name></s
2ef0: 61 6d 70 3e 2c 20 74 68 65 6e 20 74 68 65 20 63  amp>, then the c
2f00: 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 72 65 70  orresponding rep
2f10: 6f 73 69 74 6f 72 79 20 77 69 6c 6c 20 62 65 20  ository will be 
2f20: 73 65 6c 65 63 74 65 64 20 74 6f 20 77 6f 72 6b  selected to work
2f30: 20 77 69 74 68 2e 0d 0a 0d 0a 54 68 65 20 6c 69   with.....The li
2f40: 6e 65 73 20 35 20 2d 20 38 20 69 6e 20 74 68 65  nes 5 - 8 in the
2f50: 20 73 63 72 69 70 74 20 62 65 6c 6f 77 20 61 6c   script below al
2f60: 6c 6f 77 20 63 6f 6e 66 69 67 75 72 61 74 69 6f  low configuratio
2f70: 6e 20 66 6f 72 20 79 6f 75 72 20 6e 65 65 64 73  n for your needs
2f80: 2e 20 59 6f 75 20 6d 75 73 74 20 63 6f 6e 66 69  . You must confi
2f90: 67 75 72 65 20 69 74 20 66 6f 72 3a 20 20 74 68  gure it for:  th
2fa0: 65 20 66 6f 73 73 69 6c 20 62 69 6e 61 72 79 20  e fossil binary 
2fb0: 74 6f 20 75 73 65 2c 20 74 68 65 20 6c 6f 63 61  to use, the loca
2fc0: 74 69 6f 6e 20 6f 66 20 79 6f 75 72 20 64 61 74  tion of your dat
2fd0: 61 62 61 73 65 73 2c 20 61 6e 64 20 74 68 65 20  abases, and the 
2fe0: 65 78 74 65 6e 73 69 6f 6e 20 79 6f 75 72 20 72  extension your r
2ff0: 65 70 6f 73 69 74 6f 72 79 20 64 61 74 61 62 61  epository databa
3000: 73 65 73 20 68 61 76 65 2e 0d 0a 0d 0a 3c 6e 6f  ses have.....<no
3010: 77 69 6b 69 3e 0d 0a 3c 66 6f 6e 74 20 66 61 63  wiki>..<font fac
3020: 65 3d 22 6d 6f 6e 6f 73 70 61 63 65 22 3e 0d 0a  e="monospace">..
3030: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35  <font color="#a5
3040: 32 61 32 61 22 3e 26 6e 62 73 70 3b 31 20 3c 2f  2a2a">&nbsp;1 </
3050: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
3060: 3d 22 23 30 30 30 30 66 66 22 3e 23 21 2f 62 69  ="#0000ff">#!/bi
3070: 6e 2f 73 68 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d  n/sh</font><br>.
3080: 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61  .<font color="#a
3090: 35 32 61 32 61 22 3e 26 6e 62 73 70 3b 32 20 3c  52a2a">&nbsp;2 <
30a0: 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e  /font><br>..<fon
30b0: 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61  t color="#a52a2a
30c0: 22 3e 26 6e 62 73 70 3b 33 20 3c 2f 66 6f 6e 74  ">&nbsp;3 </font
30d0: 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 30  ><font color="#0
30e0: 30 30 30 66 66 22 3e 23 23 23 20 43 6f 6e 66 69  000ff">### Confi
30f0: 67 75 72 61 74 69 6f 6e 20 73 65 63 74 69 6f 6e  guration section
3100: 20 23 23 23 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d   ###</font><br>.
3110: 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61  .<font color="#a
3120: 35 32 61 32 61 22 3e 26 6e 62 73 70 3b 34 20 3c  52a2a">&nbsp;4 <
3130: 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e  /font><br>..<fon
3140: 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61  t color="#a52a2a
3150: 22 3e 26 6e 62 73 70 3b 35 20 3c 2f 66 6f 6e 74  ">&nbsp;5 </font
3160: 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 30  ><font color="#0
3170: 30 38 62 38 62 22 3e 54 49 54 4c 45 3c 2f 66 6f  08b8b">TITLE</fo
3180: 6e 74 3e 3d 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  nt>=<font color=
3190: 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 26 71 75  "#a52a2a"><b>&qu
31a0: 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66  ot;</b></font><f
31b0: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 66 66 30 30  ont color="#ff00
31c0: 66 66 22 3e 26 6c 74 3b 68 32 26 67 74 3b 46 6f  ff">&lt;h2&gt;Fo
31d0: 73 73 69 6c 20 72 65 70 6f 73 69 74 6f 72 69 65  ssil repositorie
31e0: 73 26 6c 74 3b 2f 68 32 26 67 74 3b 3c 2f 66 6f  s&lt;/h2&gt;</fo
31f0: 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  nt><font color="
3200: 23 61 35 32 61 32 61 22 3e 3c 62 3e 26 71 75 6f  #a52a2a"><b>&quo
3210: 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 62 72  t;</b></font><br
3220: 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  >..<font color="
3230: 23 61 35 32 61 32 61 22 3e 26 6e 62 73 70 3b 36  #a52a2a">&nbsp;6
3240: 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f   </font><font co
3250: 6c 6f 72 3d 22 23 30 30 38 62 38 62 22 3e 46 4f  lor="#008b8b">FO
3260: 53 53 49 4c 3c 2f 66 6f 6e 74 3e 3d 2f 75 73 72  SSIL</font>=/usr
3270: 2f 6c 6f 63 61 6c 2f 62 69 6e 2f 66 6f 73 73 69  /local/bin/fossi
3280: 6c 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c  l<br>..<font col
3290: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 26 6e 62  or="#a52a2a">&nb
32a0: 73 70 3b 37 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  sp;7 </font><fon
32b0: 74 20 63 6f 6c 6f 72 3d 22 23 30 30 38 62 38 62  t color="#008b8b
32c0: 22 3e 52 45 50 4f 53 52 4f 4f 54 3c 2f 66 6f 6e  ">REPOSROOT</fon
32d0: 74 3e 3d 2f 68 6f 6d 65 2f 72 65 70 6f 73 2f 66  t>=/home/repos/f
32e0: 6f 73 73 69 6c 3c 62 72 3e 0d 0a 3c 66 6f 6e 74  ossil<br>..<font
32f0: 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22   color="#a52a2a"
3300: 3e 26 6e 62 73 70 3b 38 20 3c 2f 66 6f 6e 74 3e  >&nbsp;8 </font>
3310: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 30 30  <font color="#00
3320: 38 62 38 62 22 3e 52 45 50 4f 53 45 58 54 3c 2f  8b8b">REPOSEXT</
3330: 66 6f 6e 74 3e 3d 3c 66 6f 6e 74 20 63 6f 6c 6f  font>=<font colo
3340: 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 26  r="#a52a2a"><b>&
3350: 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e  quot;</b></font>
3360: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 66 66  <font color="#ff
3370: 30 30 66 66 22 3e 2e 66 73 6c 3c 2f 66 6f 6e 74  00ff">.fsl</font
3380: 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61  ><font color="#a
3390: 35 32 61 32 61 22 3e 3c 62 3e 26 71 75 6f 74 3b  52a2a"><b>&quot;
33a0: 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d  </b></font><br>.
33b0: 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61  .<font color="#a
33c0: 35 32 61 32 61 22 3e 26 6e 62 73 70 3b 39 20 3c  52a2a">&nbsp;9 <
33d0: 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e  /font><br>..<fon
33e0: 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61  t color="#a52a2a
33f0: 22 3e 31 30 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  ">10 </font><fon
3400: 74 20 63 6f 6c 6f 72 3d 22 23 30 30 30 30 66 66  t color="#0000ff
3410: 22 3e 23 23 23 20 50 72 6f 63 65 73 73 69 6e 67  ">### Processing
3420: 20 73 65 63 74 69 6f 6e 20 2d 2d 20 6e 6f 74 68   section -- noth
3430: 69 6e 67 20 74 6f 20 63 6f 6e 66 69 67 75 72 65  ing to configure
3440: 20 68 65 72 65 21 20 23 23 23 3c 2f 66 6f 6e 74   here! ###</font
3450: 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c  ><br>..<font col
3460: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 31 31 20  or="#a52a2a">11 
3470: 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f  </font><br>..<fo
3480: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
3490: 61 22 3e 31 32 20 3c 2f 66 6f 6e 74 3e 3c 66 6f  a">12 </font><fo
34a0: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
34b0: 61 22 3e 3c 62 3e 73 65 74 3c 2f 62 3e 3c 2f 66  a"><b>set</b></f
34c0: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
34d0: 22 23 30 30 38 62 38 62 22 3e 26 6e 62 73 70 3b  "#008b8b">&nbsp;
34e0: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
34f0: 6f 72 3d 22 23 36 61 35 61 63 64 22 3e 2d 66 3c  or="#6a5acd">-f<
3500: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
3510: 72 3d 22 23 30 30 38 62 38 62 22 3e 26 6e 62 73  r="#008b8b">&nbs
3520: 70 3b 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e  p;&nbsp;&nbsp;&n
3530: 62 73 70 3b 3c 2f 66 6f 6e 74 3e 3b 20 3c 66 6f  bsp;</font>; <fo
3540: 6e 74 20 63 6f 6c 6f 72 3d 22 23 30 30 30 30 66  nt color="#0000f
3550: 66 22 3e 23 20 64 69 73 61 62 6c 65 20 66 69 6c  f"># disable fil
3560: 65 6e 61 6d 65 20 67 6c 6f 62 62 69 6e 67 3c 2f  ename globbing</
3570: 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74  font><br>..<font
3580: 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22   color="#a52a2a"
3590: 3e 31 33 20 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d  >13 </font><br>.
35a0: 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61  .<font color="#a
35b0: 35 32 61 32 61 22 3e 31 34 20 3c 2f 66 6f 6e 74  52a2a">14 </font
35c0: 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 30  ><font color="#0
35d0: 30 30 30 66 66 22 3e 23 23 20 53 6f 6d 65 20 68  000ff">## Some h
35e0: 65 6c 70 65 72 20 66 75 6e 63 74 69 6f 6e 73 3c  elper functions<
35f0: 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e  /font><br>..<fon
3600: 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61  t color="#a52a2a
3610: 22 3e 31 35 20 3c 2f 66 6f 6e 74 3e 3c 62 72 3e  ">15 </font><br>
3620: 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  ..<font color="#
3630: 61 35 32 61 32 61 22 3e 31 36 20 3c 2f 66 6f 6e  a52a2a">16 </fon
3640: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
3650: 30 30 38 62 38 62 22 3e 48 65 61 64 65 72 54 65  008b8b">HeaderTe
3660: 78 74 20 28 29 20 7b 3c 2f 66 6f 6e 74 3e 3c 62  xt () {</font><b
3670: 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  r>..<font color=
3680: 22 23 61 35 32 61 32 61 22 3e 31 37 20 3c 2f 66  "#a52a2a">17 </f
3690: 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b  ont>&nbsp;&nbsp;
36a0: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35  <font color="#a5
36b0: 32 61 32 61 22 3e 3c 62 3e 69 66 20 3c 2f 62 3e  2a2a"><b>if </b>
36c0: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
36d0: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e  or="#a52a2a"><b>
36e0: 5b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 26 6e 62 73  [</b></font>&nbs
36f0: 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  p;<font color="#
3700: 61 35 32 61 32 61 22 3e 3c 62 3e 2d 7a 3c 2f 62  a52a2a"><b>-z</b
3710: 3e 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66  ></font>&nbsp;<f
3720: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61  ont color="#a52a
3730: 32 61 22 3e 3c 62 3e 26 71 75 6f 74 3b 3c 2f 62  2a"><b>&quot;</b
3740: 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f  ></font><font co
3750: 6c 6f 72 3d 22 23 61 30 32 30 66 30 22 3e 24 68  lor="#a020f0">$h
3760: 65 61 64 65 72 57 72 69 74 74 65 6e 3c 2f 66 6f  eaderWritten</fo
3770: 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  nt><font color="
3780: 23 61 35 32 61 32 61 22 3e 3c 62 3e 26 71 75 6f  #a52a2a"><b>&quo
3790: 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 26 6e 62  t;</b></font>&nb
37a0: 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  sp;<font color="
37b0: 23 61 35 32 61 32 61 22 3e 3c 62 3e 5d 3c 2f 62  #a52a2a"><b>]</b
37c0: 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f  ></font><font co
37d0: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62  lor="#a52a2a"><b
37e0: 3e 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 26 6e 62  >;</b></font>&nb
37f0: 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  sp;<font color="
3800: 23 61 35 32 61 32 61 22 3e 3c 62 3e 74 68 65 6e  #a52a2a"><b>then
3810: 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d  </b></font><br>.
3820: 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61  .<font color="#a
3830: 35 32 61 32 61 22 3e 31 38 20 3c 2f 66 6f 6e 74  52a2a">18 </font
3840: 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e 62  >&nbsp;&nbsp;&nb
3850: 73 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63  sp;&nbsp;<font c
3860: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c  olor="#a52a2a"><
3870: 62 3e 65 63 68 6f 3c 2f 62 3e 3c 2f 66 6f 6e 74  b>echo</b></font
3880: 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 66  ><font color="#f
3890: 66 30 30 66 66 22 3e 26 6e 62 73 70 3b 3c 2f 66  f00ff">&nbsp;</f
38a0: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
38b0: 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 26 71 75  "#a52a2a"><b>&qu
38c0: 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66  ot;</b></font><f
38d0: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 66 66 30 30  ont color="#ff00
38e0: 66 66 22 3e 43 6f 6e 74 65 6e 74 2d 74 79 70 65  ff">Content-type
38f0: 3a 20 74 65 78 74 2f 70 6c 61 69 6e 3b 20 63 68  : text/plain; ch
3900: 61 72 73 65 74 3d 69 73 6f 2d 38 38 35 39 2d 31  arset=iso-8859-1
3910: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
3920: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e  or="#a52a2a"><b>
3930: 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74  &quot;</b></font
3940: 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c  ><br>..<font col
3950: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 31 39 20  or="#a52a2a">19 
3960: 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62  </font>&nbsp;&nb
3970: 73 70 3b 26 6e 62 73 70 3b 26 6e 62 73 70 3b 3c  sp;&nbsp;&nbsp;<
3980: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32  font color="#a52
3990: 61 32 61 22 3e 3c 62 3e 65 63 68 6f 3c 2f 62 3e  a2a"><b>echo</b>
39a0: 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f  </font><br>..<fo
39b0: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
39c0: 61 22 3e 32 30 20 3c 2f 66 6f 6e 74 3e 26 6e 62  a">20 </font>&nb
39d0: 73 70 3b 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26  sp;&nbsp;&nbsp;&
39e0: 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72  nbsp;<font color
39f0: 3d 22 23 30 30 38 62 38 62 22 3e 68 65 61 64 65  ="#008b8b">heade
3a00: 72 57 72 69 74 74 65 6e 3c 2f 66 6f 6e 74 3e 3d  rWritten</font>=
3a10: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 66 66  <font color="#ff
3a20: 30 30 66 66 22 3e 31 3c 2f 66 6f 6e 74 3e 3c 62  00ff">1</font><b
3a30: 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  r>..<font color=
3a40: 22 23 61 35 32 61 32 61 22 3e 32 31 20 3c 2f 66  "#a52a2a">21 </f
3a50: 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b  ont>&nbsp;&nbsp;
3a60: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35  <font color="#a5
3a70: 32 61 32 61 22 3e 3c 62 3e 66 69 3c 2f 62 3e 3c  2a2a"><b>fi</b><
3a80: 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e  /font><br>..<fon
3a90: 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61  t color="#a52a2a
3aa0: 22 3e 32 32 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  ">22 </font><fon
3ab0: 74 20 63 6f 6c 6f 72 3d 22 23 30 30 38 62 38 62  t color="#008b8b
3ac0: 22 3e 7d 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a  ">}</font><br>..
3ad0: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35  <font color="#a5
3ae0: 32 61 32 61 22 3e 32 33 20 3c 2f 66 6f 6e 74 3e  2a2a">23 </font>
3af0: 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f  <br>..<font colo
3b00: 72 3d 22 23 61 35 32 61 32 61 22 3e 32 34 20 3c  r="#a52a2a">24 <
3b10: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
3b20: 72 3d 22 23 30 30 38 62 38 62 22 3e 48 65 61 64  r="#008b8b">Head
3b30: 65 72 48 54 4d 4c 20 28 29 20 7b 3c 2f 66 6f 6e  erHTML () {</fon
3b40: 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f  t><br>..<font co
3b50: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 32 35  lor="#a52a2a">25
3b60: 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e   </font>&nbsp;&n
3b70: 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  bsp;<font color=
3b80: 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 69 66 20  "#a52a2a"><b>if 
3b90: 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74  </b></font><font
3ba0: 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22   color="#a52a2a"
3bb0: 3e 3c 62 3e 5b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e  ><b>[</b></font>
3bc0: 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f  &nbsp;<font colo
3bd0: 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 2d  r="#a52a2a"><b>-
3be0: 7a 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 26 6e 62 73  z</b></font>&nbs
3bf0: 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  p;<font color="#
3c00: 61 35 32 61 32 61 22 3e 3c 62 3e 26 71 75 6f 74  a52a2a"><b>&quot
3c10: 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  ;</b></font><fon
3c20: 74 20 63 6f 6c 6f 72 3d 22 23 61 30 32 30 66 30  t color="#a020f0
3c30: 22 3e 24 68 65 61 64 65 72 57 72 69 74 74 65 6e  ">$headerWritten
3c40: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
3c50: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e  or="#a52a2a"><b>
3c60: 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74  &quot;</b></font
3c70: 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c  >&nbsp;<font col
3c80: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e  or="#a52a2a"><b>
3c90: 5d 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  ]</b></font><fon
3ca0: 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61  t color="#a52a2a
3cb0: 22 3e 3c 62 3e 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74  "><b>;</b></font
3cc0: 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c  >&nbsp;<font col
3cd0: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e  or="#a52a2a"><b>
3ce0: 74 68 65 6e 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c  then</b></font><
3cf0: 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72  br>..<font color
3d00: 3d 22 23 61 35 32 61 32 61 22 3e 32 36 20 3c 2f  ="#a52a2a">26 </
3d10: 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70  font>&nbsp;&nbsp
3d20: 3b 26 6e 62 73 70 3b 26 6e 62 73 70 3b 3c 66 6f  ;&nbsp;&nbsp;<fo
3d30: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
3d40: 61 22 3e 3c 62 3e 65 63 68 6f 3c 2f 62 3e 3c 2f  a"><b>echo</b></
3d50: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
3d60: 3d 22 23 66 66 30 30 66 66 22 3e 26 6e 62 73 70  ="#ff00ff">&nbsp
3d70: 3b 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f  ;</font><font co
3d80: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62  lor="#a52a2a"><b
3d90: 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e  >&quot;</b></fon
3da0: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
3db0: 66 66 30 30 66 66 22 3e 43 6f 6e 74 65 6e 74 2d  ff00ff">Content-
3dc0: 74 79 70 65 3a 20 74 65 78 74 2f 68 74 6d 6c 3b  type: text/html;
3dd0: 20 63 68 61 72 73 65 74 3d 69 73 6f 2d 38 38 35   charset=iso-885
3de0: 39 2d 31 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  9-1</font><font 
3df0: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
3e00: 3c 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66  <b>&quot;</b></f
3e10: 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20  ont><br>..<font 
3e20: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
3e30: 32 37 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b  27 </font>&nbsp;
3e40: 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e 62 73  &nbsp;&nbsp;&nbs
3e50: 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  p;<font color="#
3e60: 61 35 32 61 32 61 22 3e 3c 62 3e 65 63 68 6f 3c  a52a2a"><b>echo<
3e70: 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a  /b></font><br>..
3e80: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35  <font color="#a5
3e90: 32 61 32 61 22 3e 32 38 20 3c 2f 66 6f 6e 74 3e  2a2a">28 </font>
3ea0: 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e 62 73  &nbsp;&nbsp;&nbs
3eb0: 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f  p;&nbsp;<font co
3ec0: 6c 6f 72 3d 22 23 30 30 38 62 38 62 22 3e 68 65  lor="#008b8b">he
3ed0: 61 64 65 72 57 72 69 74 74 65 6e 3c 2f 66 6f 6e  aderWritten</fon
3ee0: 74 3e 3d 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  t>=<font color="
3ef0: 23 66 66 30 30 66 66 22 3e 31 3c 2f 66 6f 6e 74  #ff00ff">1</font
3f00: 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c  ><br>..<font col
3f10: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 32 39 20  or="#a52a2a">29 
3f20: 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62  </font>&nbsp;&nb
3f30: 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  sp;<font color="
3f40: 23 61 35 32 61 32 61 22 3e 3c 62 3e 66 69 3c 2f  #a52a2a"><b>fi</
3f50: 62 3e 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c  b></font><br>..<
3f60: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32  font color="#a52
3f70: 61 32 61 22 3e 33 30 20 3c 2f 66 6f 6e 74 3e 3c  a2a">30 </font><
3f80: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 30 30 38  font color="#008
3f90: 62 38 62 22 3e 7d 3c 2f 66 6f 6e 74 3e 3c 62 72  b8b">}</font><br
3fa0: 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  >..<font color="
3fb0: 23 61 35 32 61 32 61 22 3e 33 31 20 3c 2f 66 6f  #a52a2a">31 </fo
3fc0: 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63  nt><br>..<font c
3fd0: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 33  olor="#a52a2a">3
3fe0: 32 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63  2 </font><font c
3ff0: 6f 6c 6f 72 3d 22 23 30 30 38 62 38 62 22 3e 45  olor="#008b8b">E
4000: 72 72 6f 72 20 28 29 20 7b 3c 2f 66 6f 6e 74 3e  rror () {</font>
4010: 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f  <br>..<font colo
4020: 72 3d 22 23 61 35 32 61 32 61 22 3e 33 33 20 3c  r="#a52a2a">33 <
4030: 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73  /font>&nbsp;&nbs
4040: 70 3b 48 65 61 64 65 72 48 54 4d 4c 3c 62 72 3e  p;HeaderHTML<br>
4050: 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  ..<font color="#
4060: 61 35 32 61 32 61 22 3e 33 34 20 3c 2f 66 6f 6e  a52a2a">34 </fon
4070: 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b 3c 66  t>&nbsp;&nbsp;<f
4080: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61  ont color="#a52a
4090: 32 61 22 3e 3c 62 3e 65 63 68 6f 3c 2f 62 3e 3c  2a"><b>echo</b><
40a0: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
40b0: 72 3d 22 23 66 66 30 30 66 66 22 3e 26 6e 62 73  r="#ff00ff">&nbs
40c0: 70 3b 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63  p;</font><font c
40d0: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c  olor="#a52a2a"><
40e0: 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f  b>&quot;</b></fo
40f0: 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  nt><font color="
4100: 23 66 66 30 30 66 66 22 3e 26 6c 74 3b 70 26 67  #ff00ff">&lt;p&g
4110: 74 3b 26 6c 74 3b 66 6f 6e 74 20 63 6f 6c 6f 72  t;&lt;font color
4120: 3d 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f  =</font><font co
4130: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62  lor="#a52a2a"><b
4140: 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e  >&quot;</b></fon
4150: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
4160: 66 66 30 30 66 66 22 3e 72 65 64 3c 2f 66 6f 6e  ff00ff">red</fon
4170: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
4180: 61 35 32 61 32 61 22 3e 3c 62 3e 26 71 75 6f 74  a52a2a"><b>&quot
4190: 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  ;</b></font><fon
41a0: 74 20 63 6f 6c 6f 72 3d 22 23 66 66 30 30 66 66  t color="#ff00ff
41b0: 22 3e 26 67 74 3b 45 52 52 4f 52 3a 20 3c 2f 66  ">&gt;ERROR: </f
41c0: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
41d0: 22 23 61 30 32 30 66 30 22 3e 24 31 3c 2f 66 6f  "#a020f0">$1</fo
41e0: 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  nt><font color="
41f0: 23 66 66 30 30 66 66 22 3e 26 6c 74 3b 2f 66 6f  #ff00ff">&lt;/fo
4200: 6e 74 26 67 74 3b 26 6c 74 3b 2f 70 26 67 74 3b  nt&gt;&lt;/p&gt;
4210: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
4220: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e  or="#a52a2a"><b>
4230: 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74  &quot;</b></font
4240: 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c  ><br>..<font col
4250: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 33 35 20  or="#a52a2a">35 
4260: 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62  </font>&nbsp;&nb
4270: 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  sp;<font color="
4280: 23 61 35 32 61 32 61 22 3e 3c 62 3e 65 78 69 74  #a52a2a"><b>exit
4290: 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70  </b></font>&nbsp
42a0: 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 66  ;<font color="#f
42b0: 66 30 30 66 66 22 3e 31 3c 2f 66 6f 6e 74 3e 3c  f00ff">1</font><
42c0: 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72  br>..<font color
42d0: 3d 22 23 61 35 32 61 32 61 22 3e 33 36 20 3c 2f  ="#a52a2a">36 </
42e0: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
42f0: 3d 22 23 30 30 38 62 38 62 22 3e 7d 3c 2f 66 6f  ="#008b8b">}</fo
4300: 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63  nt><br>..<font c
4310: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 33  olor="#a52a2a">3
4320: 37 20 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c  7 </font><br>..<
4330: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32  font color="#a52
4340: 61 32 61 22 3e 33 38 20 3c 2f 66 6f 6e 74 3e 3c  a2a">38 </font><
4350: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 30 30 38  font color="#008
4360: 62 38 62 22 3e 50 20 28 29 20 7b 3c 2f 66 6f 6e  b8b">P () {</fon
4370: 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f  t><br>..<font co
4380: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 33 39  lor="#a52a2a">39
4390: 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e   </font>&nbsp;&n
43a0: 62 73 70 3b 48 65 61 64 65 72 54 65 78 74 3c 62  bsp;HeaderText<b
43b0: 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  r>..<font color=
43c0: 22 23 61 35 32 61 32 61 22 3e 34 30 20 3c 2f 66  "#a52a2a">40 </f
43d0: 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b  ont>&nbsp;&nbsp;
43e0: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35  <font color="#a5
43f0: 32 61 32 61 22 3e 3c 62 3e 66 6f 72 20 3c 2f 62  2a2a"><b>for </b
4400: 3e 3c 2f 66 6f 6e 74 3e 76 61 72 20 3c 66 6f 6e  ></font>var <fon
4410: 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61  t color="#a52a2a
4420: 22 3e 3c 62 3e 69 6e 3c 2f 62 3e 3c 2f 66 6f 6e  "><b>in</b></fon
4430: 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f  t>&nbsp;<font co
4440: 6c 6f 72 3d 22 23 61 30 32 30 66 30 22 3e 24 2a  lor="#a020f0">$*
4450: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
4460: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e  or="#a52a2a"><b>
4470: 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 26 6e 62 73  ;</b></font>&nbs
4480: 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  p;<font color="#
4490: 61 35 32 61 32 61 22 3e 3c 62 3e 64 6f 3c 2f 62  a52a2a"><b>do</b
44a0: 3e 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66  ></font><br>..<f
44b0: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61  ont color="#a52a
44c0: 32 61 22 3e 34 31 20 3c 2f 66 6f 6e 74 3e 26 6e  2a">41 </font>&n
44d0: 62 73 70 3b 26 6e 62 73 70 3b 26 6e 62 73 70 3b  bsp;&nbsp;&nbsp;
44e0: 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f  &nbsp;<font colo
44f0: 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 65  r="#a52a2a"><b>e
4500: 76 61 6c 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 26 6e  val</b></font>&n
4510: 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  bsp;<font color=
4520: 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 65 63 68  "#a52a2a"><b>ech
4530: 6f 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  o</b></font><fon
4540: 74 20 63 6f 6c 6f 72 3d 22 23 66 66 30 30 66 66  t color="#ff00ff
4550: 22 3e 26 6e 62 73 70 3b 3c 2f 66 6f 6e 74 3e 3c  ">&nbsp;</font><
4560: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 30 32  font color="#a02
4570: 30 66 30 22 3e 24 76 61 72 3c 2f 66 6f 6e 74 3e  0f0">$var</font>
4580: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 66 66  <font color="#ff
4590: 30 30 66 66 22 3e 26 6e 62 73 70 3b 3d 20 3c 2f  00ff">&nbsp;= </
45a0: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
45b0: 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 26 71  ="#a52a2a"><b>&q
45c0: 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c  uot;</b></font><
45d0: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 36 61 35  font color="#6a5
45e0: 61 63 64 22 3e 5c 24 3c 2f 66 6f 6e 74 3e 3c 66  acd">\$</font><f
45f0: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 30 32 30  ont color="#a020
4600: 66 30 22 3e 24 76 61 72 3c 2f 66 6f 6e 74 3e 3c  f0">$var</font><
4610: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32  font color="#a52
4620: 61 32 61 22 3e 3c 62 3e 26 71 75 6f 74 3b 3c 2f  a2a"><b>&quot;</
4630: 62 3e 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c  b></font><br>..<
4640: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32  font color="#a52
4650: 61 32 61 22 3e 34 32 20 3c 2f 66 6f 6e 74 3e 26  a2a">42 </font>&
4660: 6e 62 73 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74  nbsp;&nbsp;<font
4670: 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22   color="#a52a2a"
4680: 3e 3c 62 3e 64 6f 6e 65 3c 2f 62 3e 3c 2f 66 6f  ><b>done</b></fo
4690: 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63  nt><br>..<font c
46a0: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 34  olor="#a52a2a">4
46b0: 33 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63  3 </font><font c
46c0: 6f 6c 6f 72 3d 22 23 30 30 38 62 38 62 22 3e 7d  olor="#008b8b">}
46d0: 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f  </font><br>..<fo
46e0: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
46f0: 61 22 3e 34 34 20 3c 2f 66 6f 6e 74 3e 3c 62 72  a">44 </font><br
4700: 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  >..<font color="
4710: 23 61 35 32 61 32 61 22 3e 34 35 20 3c 2f 66 6f  #a52a2a">45 </fo
4720: 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  nt><font color="
4730: 23 30 30 30 30 66 66 22 3e 23 23 20 44 6f 20 74  #0000ff">## Do t
4740: 68 65 20 72 65 61 6c 20 77 6f 72 6b 20 68 65 72  he real work her
4750: 65 20 2e 2e 2e 3c 2f 66 6f 6e 74 3e 3c 62 72 3e  e ...</font><br>
4760: 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  ..<font color="#
4770: 61 35 32 61 32 61 22 3e 34 36 20 3c 2f 66 6f 6e  a52a2a">46 </fon
4780: 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f  t><br>..<font co
4790: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 34 37  lor="#a52a2a">47
47a0: 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f   </font><font co
47b0: 6c 6f 72 3d 22 23 30 30 38 62 38 62 22 3e 70 72  lor="#008b8b">pr
47c0: 6f 6a 65 63 74 3c 2f 66 6f 6e 74 3e 3d 3c 66 6f  oject</font>=<fo
47d0: 6e 74 20 63 6f 6c 6f 72 3d 22 23 36 61 35 61 63  nt color="#6a5ac
47e0: 64 22 3e 60 65 63 68 6f 20 3c 2f 66 6f 6e 74 3e  d">`echo </font>
47f0: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 30  <font color="#a0
4800: 32 30 66 30 22 3e 24 50 41 54 48 5f 49 4e 46 4f  20f0">$PATH_INFO
4810: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
4820: 6f 72 3d 22 23 36 61 35 61 63 64 22 3e 26 6e 62  or="#6a5acd">&nb
4830: 73 70 3b 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  sp;</font><font 
4840: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
4850: 3c 62 3e 7c 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c  <b>|</b></font><
4860: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 36 61 35  font color="#6a5
4870: 61 63 64 22 3e 26 6e 62 73 70 3b 73 65 64 20 2d  acd">&nbsp;sed -
4880: 65 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63  e </font><font c
4890: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c  olor="#a52a2a"><
48a0: 62 3e 27 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66  b>'</b></font><f
48b0: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 66 66 30 30  ont color="#ff00
48c0: 66 66 22 3e 73 21 2f 3c 2f 66 6f 6e 74 3e 3c 66  ff">s!/</font><f
48d0: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 36 61 35 61  ont color="#6a5a
48e0: 63 64 22 3e 5c 28 3c 2f 66 6f 6e 74 3e 3c 66 6f  cd">\(</font><fo
48f0: 6e 74 20 63 6f 6c 6f 72 3d 22 23 66 66 30 30 66  nt color="#ff00f
4900: 66 22 3e 5b 5e 2f 5d 2a 3c 2f 66 6f 6e 74 3e 3c  f">[^/]*</font><
4910: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 36 61 35  font color="#6a5
4920: 61 63 64 22 3e 5c 29 3c 2f 66 6f 6e 74 3e 3c 66  acd">\)</font><f
4930: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 66 66 30 30  ont color="#ff00
4940: 66 66 22 3e 2e 2a 21 5c 31 21 3c 2f 66 6f 6e 74  ff">.*!\1!</font
4950: 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61  ><font color="#a
4960: 35 32 61 32 61 22 3e 3c 62 3e 27 7c 3c 2f 62 3e  52a2a"><b>'|</b>
4970: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
4980: 6f 72 3d 22 23 36 61 35 61 63 64 22 3e 26 6e 62  or="#6a5acd">&nb
4990: 73 70 3b 74 72 20 3c 2f 66 6f 6e 74 3e 3c 66 6f  sp;tr </font><fo
49a0: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
49b0: 61 22 3e 3c 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e  a"><b>&quot;</b>
49c0: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
49d0: 6f 72 3d 22 23 66 66 30 30 66 66 22 3e 5b 41 2d  or="#ff00ff">[A-
49e0: 5a 5d 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63  Z]</font><font c
49f0: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c  olor="#a52a2a"><
4a00: 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f  b>&quot;</b></fo
4a10: 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  nt><font color="
4a20: 23 36 61 35 61 63 64 22 3e 26 6e 62 73 70 3b 3c  #6a5acd">&nbsp;<
4a30: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
4a40: 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 26  r="#a52a2a"><b>&
4a50: 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e  quot;</b></font>
4a60: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 66 66  <font color="#ff
4a70: 30 30 66 66 22 3e 5b 61 2d 7a 5d 3c 2f 66 6f 6e  00ff">[a-z]</fon
4a80: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
4a90: 61 35 32 61 32 61 22 3e 3c 62 3e 26 71 75 6f 74  a52a2a"><b>&quot
4aa0: 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  ;</b></font><fon
4ab0: 74 20 63 6f 6c 6f 72 3d 22 23 36 61 35 61 63 64  t color="#6a5acd
4ac0: 22 3e 60 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a  ">`</font><br>..
4ad0: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35  <font color="#a5
4ae0: 32 61 32 61 22 3e 34 38 20 3c 2f 66 6f 6e 74 3e  2a2a">48 </font>
4af0: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 30 30  <font color="#00
4b00: 38 62 38 62 22 3e 72 65 70 6f 73 3c 2f 66 6f 6e  8b8b">repos</fon
4b10: 74 3e 3d 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  t>=<font color="
4b20: 23 61 35 32 61 32 61 22 3e 3c 62 3e 26 71 75 6f  #a52a2a"><b>&quo
4b30: 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f  t;</b></font><fo
4b40: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 30 32 30 66  nt color="#a020f
4b50: 30 22 3e 24 52 45 50 4f 53 52 4f 4f 54 3c 2f 66  0">$REPOSROOT</f
4b60: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
4b70: 22 23 66 66 30 30 66 66 22 3e 2f 3c 2f 66 6f 6e  "#ff00ff">/</fon
4b80: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
4b90: 61 30 32 30 66 30 22 3e 24 70 72 6f 6a 65 63 74  a020f0">$project
4ba0: 24 52 45 50 4f 53 45 58 54 3c 2f 66 6f 6e 74 3e  $REPOSEXT</font>
4bb0: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35  <font color="#a5
4bc0: 32 61 32 61 22 3e 3c 62 3e 26 71 75 6f 74 3b 3c  2a2a"><b>&quot;<
4bd0: 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a  /b></font><br>..
4be0: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35  <font color="#a5
4bf0: 32 61 32 61 22 3e 34 39 20 3c 2f 66 6f 6e 74 3e  2a2a">49 </font>
4c00: 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f  <br>..<font colo
4c10: 72 3d 22 23 61 35 32 61 32 61 22 3e 35 30 20 3c  r="#a52a2a">50 <
4c20: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
4c30: 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 69  r="#a52a2a"><b>i
4c40: 66 20 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f  f </b></font><fo
4c50: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
4c60: 61 22 3e 3c 62 3e 5b 3c 2f 62 3e 3c 2f 66 6f 6e  a"><b>[</b></fon
4c70: 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f  t>&nbsp;<font co
4c80: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62  lor="#a52a2a"><b
4c90: 3e 2d 72 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 26 6e  >-r</b></font>&n
4ca0: 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  bsp;<font color=
4cb0: 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 26 71 75  "#a52a2a"><b>&qu
4cc0: 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66  ot;</b></font><f
4cd0: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 30 32 30  ont color="#a020
4ce0: 66 30 22 3e 24 72 65 70 6f 73 3c 2f 66 6f 6e 74  f0">$repos</font
4cf0: 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61  ><font color="#a
4d00: 35 32 61 32 61 22 3e 3c 62 3e 26 71 75 6f 74 3b  52a2a"><b>&quot;
4d10: 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70  </b></font>&nbsp
4d20: 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61  ;<font color="#a
4d30: 35 32 61 32 61 22 3e 3c 62 3e 5d 3c 2f 62 3e 3c  52a2a"><b>]</b><
4d40: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
4d50: 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 3b  r="#a52a2a"><b>;
4d60: 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70  </b></font>&nbsp
4d70: 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61  ;<font color="#a
4d80: 35 32 61 32 61 22 3e 3c 62 3e 74 68 65 6e 3c 2f  52a2a"><b>then</
4d90: 62 3e 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c  b></font><br>..<
4da0: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32  font color="#a52
4db0: 61 32 61 22 3e 35 31 20 3c 2f 66 6f 6e 74 3e 26  a2a">51 </font>&
4dc0: 6e 62 73 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74  nbsp;&nbsp;<font
4dd0: 20 63 6f 6c 6f 72 3d 22 23 30 30 38 62 38 62 22   color="#008b8b"
4de0: 3e 50 41 54 48 5f 49 4e 46 4f 3c 2f 66 6f 6e 74  >PATH_INFO</font
4df0: 3e 3d 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  >=<font color="#
4e00: 36 61 35 61 63 64 22 3e 60 65 63 68 6f 20 3c 2f  6a5acd">`echo </
4e10: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
4e20: 3d 22 23 61 30 32 30 66 30 22 3e 24 52 45 51 55  ="#a020f0">$REQU
4e30: 45 53 54 5f 55 52 49 3c 2f 66 6f 6e 74 3e 3c 66  EST_URI</font><f
4e40: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 36 61 35 61  ont color="#6a5a
4e50: 63 64 22 3e 26 6e 62 73 70 3b 3c 2f 66 6f 6e 74  cd">&nbsp;</font
4e60: 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61  ><font color="#a
4e70: 35 32 61 32 61 22 3e 3c 62 3e 7c 3c 2f 62 3e 3c  52a2a"><b>|</b><
4e80: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
4e90: 72 3d 22 23 36 61 35 61 63 64 22 3e 26 6e 62 73  r="#6a5acd">&nbs
4ea0: 70 3b 73 65 64 20 2d 65 20 3c 2f 66 6f 6e 74 3e  p;sed -e </font>
4eb0: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35  <font color="#a5
4ec0: 32 61 32 61 22 3e 3c 62 3e 26 71 75 6f 74 3b 3c  2a2a"><b>&quot;<
4ed0: 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  /b></font><font 
4ee0: 63 6f 6c 6f 72 3d 22 23 66 66 30 30 66 66 22 3e  color="#ff00ff">
4ef0: 73 21 5e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  s!^</font><font 
4f00: 63 6f 6c 6f 72 3d 22 23 61 30 32 30 66 30 22 3e  color="#a020f0">
4f10: 24 53 43 52 49 50 54 5f 4e 41 4d 45 3c 2f 66 6f  $SCRIPT_NAME</fo
4f20: 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  nt><font color="
4f30: 23 66 66 30 30 66 66 22 3e 2f 3c 2f 66 6f 6e 74  #ff00ff">/</font
4f40: 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61  ><font color="#a
4f50: 30 32 30 66 30 22 3e 24 70 72 6f 6a 65 63 74 3c  020f0">$project<
4f60: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
4f70: 72 3d 22 23 36 61 35 61 63 64 22 3e 5c 5c 3c 2f  r="#6a5acd">\\</
4f80: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
4f90: 3d 22 23 66 66 30 30 66 66 22 3e 28 5b 5e 3f 5d  ="#ff00ff">([^?]
4fa0: 2a 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f  *</font><font co
4fb0: 6c 6f 72 3d 22 23 36 61 35 61 63 64 22 3e 5c 5c  lor="#6a5acd">\\
4fc0: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
4fd0: 6f 72 3d 22 23 66 66 30 30 66 66 22 3e 29 2e 2a  or="#ff00ff">).*
4fe0: 21 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f  !</font><font co
4ff0: 6c 6f 72 3d 22 23 36 61 35 61 63 64 22 3e 5c 5c  lor="#6a5acd">\\
5000: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
5010: 6f 72 3d 22 23 66 66 30 30 66 66 22 3e 31 21 3c  or="#ff00ff">1!<
5020: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
5030: 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 26  r="#a52a2a"><b>&
5040: 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e  quot;</b></font>
5050: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 36 61  <font color="#6a
5060: 35 61 63 64 22 3e 60 3c 2f 66 6f 6e 74 3e 3c 62  5acd">`</font><b
5070: 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  r>..<font color=
5080: 22 23 61 35 32 61 32 61 22 3e 35 32 20 3c 2f 66  "#a52a2a">52 </f
5090: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
50a0: 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 26 6e 62  "#a52a2a"><b>&nb
50b0: 73 70 3b 26 6e 62 73 70 3b 3a 3c 2f 62 3e 3c 2f  sp;&nbsp;:</b></
50c0: 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74  font>&nbsp;<font
50d0: 20 63 6f 6c 6f 72 3d 22 23 61 30 32 30 66 30 22   color="#a020f0"
50e0: 3e 24 7b 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  >${</font><font 
50f0: 63 6f 6c 6f 72 3d 22 23 61 30 32 30 66 30 22 3e  color="#a020f0">
5100: 50 41 54 48 5f 49 4e 46 4f 3c 2f 66 6f 6e 74 3e  PATH_INFO</font>
5110: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35  <font color="#a5
5120: 32 61 32 61 22 3e 3c 62 3e 3a 3d 3c 2f 62 3e 3c  2a2a"><b>:=</b><
5130: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
5140: 72 3d 22 23 66 66 30 30 66 66 22 3e 2f 3c 2f 66  r="#ff00ff">/</f
5150: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
5160: 22 23 61 30 32 30 66 30 22 3e 7d 3c 2f 66 6f 6e  "#a020f0">}</fon
5170: 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f  t><br>..<font co
5180: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 35 33  lor="#a52a2a">53
5190: 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e   </font>&nbsp;&n
51a0: 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  bsp;<font color=
51b0: 22 23 30 30 38 62 38 62 22 3e 53 43 52 49 50 54  "#008b8b">SCRIPT
51c0: 5f 4e 41 4d 45 3c 2f 66 6f 6e 74 3e 3d 3c 66 6f  _NAME</font>=<fo
51d0: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 30 32 30 66  nt color="#a020f
51e0: 30 22 3e 24 53 43 52 49 50 54 5f 4e 41 4d 45 3c  0">$SCRIPT_NAME<
51f0: 2f 66 6f 6e 74 3e 2f 3c 66 6f 6e 74 20 63 6f 6c  /font>/<font col
5200: 6f 72 3d 22 23 61 30 32 30 66 30 22 3e 24 70 72  or="#a020f0">$pr
5210: 6f 6a 65 63 74 3c 2f 66 6f 6e 74 3e 3c 62 72 3e  oject</font><br>
5220: 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  ..<font color="#
5230: 61 35 32 61 32 61 22 3e 35 34 20 3c 2f 66 6f 6e  a52a2a">54 </fon
5240: 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b 3c 66  t>&nbsp;&nbsp;<f
5250: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 30 30 38 62  ont color="#008b
5260: 38 62 22 3e 54 45 4d 50 46 49 4c 45 3c 2f 66 6f  8b">TEMPFILE</fo
5270: 6e 74 3e 3d 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  nt>=<font color=
5280: 22 23 36 61 35 61 63 64 22 3e 60 6d 6b 74 65 6d  "#6a5acd">`mktem
5290: 70 20 2f 74 6d 70 2f 66 6f 73 73 69 6c 2d 3c 2f  p /tmp/fossil-</
52a0: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
52b0: 3d 22 23 61 30 32 30 66 30 22 3e 24 70 72 6f 6a  ="#a020f0">$proj
52c0: 65 63 74 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  ect</font><font 
52d0: 63 6f 6c 6f 72 3d 22 23 36 61 35 61 63 64 22 3e  color="#6a5acd">
52e0: 2e 58 58 58 58 58 58 60 3c 2f 66 6f 6e 74 3e 26  .XXXXXX`</font>&
52f0: 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72  nbsp;<font color
5300: 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 7c 7c  ="#a52a2a"><b>||
5310: 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70  </b></font>&nbsp
5320: 3b 45 72 72 6f 72 20 3c 66 6f 6e 74 20 63 6f 6c  ;Error <font col
5330: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e  or="#a52a2a"><b>
5340: 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74  &quot;</b></font
5350: 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 66  ><font color="#f
5360: 66 30 30 66 66 22 3e 43 6f 75 6c 64 6e 27 74 20  f00ff">Couldn't 
5370: 63 72 65 61 74 65 20 74 65 6d 70 66 69 6c 65 3c  create tempfile<
5380: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
5390: 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 26  r="#a52a2a"><b>&
53a0: 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e  quot;</b></font>
53b0: 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f  <br>..<font colo
53c0: 72 3d 22 23 61 35 32 61 32 61 22 3e 35 35 20 3c  r="#a52a2a">55 <
53d0: 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73  /font>&nbsp;&nbs
53e0: 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  p;<font color="#
53f0: 61 35 32 61 32 61 22 3e 3c 62 3e 74 72 61 70 3c  a52a2a"><b>trap<
5400: 2f 62 3e 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b  /b></font>&nbsp;
5410: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35  <font color="#a5
5420: 32 61 32 61 22 3e 3c 62 3e 26 71 75 6f 74 3b 3c  2a2a"><b>&quot;<
5430: 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  /b></font><font 
5440: 63 6f 6c 6f 72 3d 22 23 66 66 30 30 66 66 22 3e  color="#ff00ff">
5450: 72 6d 20 2d 66 20 3c 2f 66 6f 6e 74 3e 3c 66 6f  rm -f </font><fo
5460: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 30 32 30 66  nt color="#a020f
5470: 30 22 3e 24 54 45 4d 50 46 49 4c 45 3c 2f 66 6f  0">$TEMPFILE</fo
5480: 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  nt><font color="
5490: 23 61 35 32 61 32 61 22 3e 3c 62 3e 26 71 75 6f  #a52a2a"><b>&quo
54a0: 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 26 6e 62  t;</b></font>&nb
54b0: 73 70 3b 45 58 49 54 20 51 55 49 54 20 49 4e 54  sp;EXIT QUIT INT
54c0: 20 54 45 52 4d 3c 62 72 3e 0d 0a 3c 66 6f 6e 74   TERM<br>..<font
54d0: 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22   color="#a52a2a"
54e0: 3e 35 36 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70  >56 </font>&nbsp
54f0: 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c  ;&nbsp;<font col
5500: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e  or="#a52a2a"><b>
5510: 65 63 68 6f 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c  echo</b></font><
5520: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 66 66 30  font color="#ff0
5530: 30 66 66 22 3e 26 6e 62 73 70 3b 72 65 70 6f 73  0ff">&nbsp;repos
5540: 69 74 6f 72 79 3a 20 3c 2f 66 6f 6e 74 3e 3c 66  itory: </font><f
5550: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 30 32 30  ont color="#a020
5560: 66 30 22 3e 24 72 65 70 6f 73 3c 2f 66 6f 6e 74  f0">$repos</font
5570: 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 66  ><font color="#f
5580: 66 30 30 66 66 22 3e 26 6e 62 73 70 3b 3c 2f 66  f00ff">&nbsp;</f
5590: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
55a0: 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 26 67 74  "#a52a2a"><b>&gt
55b0: 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 26 6e 62 73  ;</b></font>&nbs
55c0: 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  p;<font color="#
55d0: 61 30 32 30 66 30 22 3e 24 54 45 4d 50 46 49 4c  a020f0">$TEMPFIL
55e0: 45 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66  E</font><br>..<f
55f0: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61  ont color="#a52a
5600: 32 61 22 3e 35 37 20 3c 2f 66 6f 6e 74 3e 26 6e  2a">57 </font>&n
5610: 62 73 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74 20  bsp;&nbsp;<font 
5620: 63 6f 6c 6f 72 3d 22 23 61 30 32 30 66 30 22 3e  color="#a020f0">
5630: 24 46 4f 53 53 49 4c 3c 2f 66 6f 6e 74 3e 26 6e  $FOSSIL</font>&n
5640: 62 73 70 3b 63 67 69 20 3c 66 6f 6e 74 20 63 6f  bsp;cgi <font co
5650: 6c 6f 72 3d 22 23 61 30 32 30 66 30 22 3e 24 54  lor="#a020f0">$T
5660: 45 4d 50 46 49 4c 45 3c 2f 66 6f 6e 74 3e 3c 62  EMPFILE</font><b
5670: 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  r>..<font color=
5680: 22 23 61 35 32 61 32 61 22 3e 35 38 20 3c 2f 66  "#a52a2a">58 </f
5690: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
56a0: 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 65 6c 69  "#a52a2a"><b>eli
56b0: 66 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 26 6e 62 73  f</b></font>&nbs
56c0: 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  p;<font color="#
56d0: 61 35 32 61 32 61 22 3e 3c 62 3e 5b 3c 2f 62 3e  a52a2a"><b>[</b>
56e0: 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f  </font>&nbsp;<fo
56f0: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
5700: 61 22 3e 3c 62 3e 2d 7a 3c 2f 62 3e 3c 2f 66 6f  a"><b>-z</b></fo
5710: 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63  nt>&nbsp;<font c
5720: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c  olor="#a52a2a"><
5730: 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f  b>&quot;</b></fo
5740: 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  nt><font color="
5750: 23 61 30 32 30 66 30 22 3e 24 70 72 6f 6a 65 63  #a020f0">$projec
5760: 74 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f  t</font><font co
5770: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62  lor="#a52a2a"><b
5780: 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e  >&quot;</b></fon
5790: 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f  t>&nbsp;<font co
57a0: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62  lor="#a52a2a"><b
57b0: 3e 5d 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f  >]</b></font><fo
57c0: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
57d0: 61 22 3e 3c 62 3e 3b 3c 2f 62 3e 3c 2f 66 6f 6e  a"><b>;</b></fon
57e0: 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f  t>&nbsp;<font co
57f0: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62  lor="#a52a2a"><b
5800: 3e 74 68 65 6e 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e  >then</b></font>
5810: 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f  <br>..<font colo
5820: 72 3d 22 23 61 35 32 61 32 61 22 3e 35 39 20 3c  r="#a52a2a">59 <
5830: 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73  /font>&nbsp;&nbs
5840: 70 3b 48 65 61 64 65 72 48 54 4d 4c 3c 62 72 3e  p;HeaderHTML<br>
5850: 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  ..<font color="#
5860: 61 35 32 61 32 61 22 3e 36 30 20 3c 2f 66 6f 6e  a52a2a">60 </fon
5870: 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b 3c 66  t>&nbsp;&nbsp;<f
5880: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61  ont color="#a52a
5890: 32 61 22 3e 3c 62 3e 65 63 68 6f 3c 2f 62 3e 3c  2a"><b>echo</b><
58a0: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
58b0: 72 3d 22 23 66 66 30 30 66 66 22 3e 26 6e 62 73  r="#ff00ff">&nbs
58c0: 70 3b 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63  p;</font><font c
58d0: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c  olor="#a52a2a"><
58e0: 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f  b>&quot;</b></fo
58f0: 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  nt><font color="
5900: 23 61 30 32 30 66 30 22 3e 24 54 49 54 4c 45 3c  #a020f0">$TITLE<
5910: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
5920: 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 26  r="#a52a2a"><b>&
5930: 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e  quot;</b></font>
5940: 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f  <br>..<font colo
5950: 72 3d 22 23 61 35 32 61 32 61 22 3e 36 31 20 3c  r="#a52a2a">61 <
5960: 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73  /font>&nbsp;&nbs
5970: 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  p;<font color="#
5980: 61 35 32 61 32 61 22 3e 3c 62 3e 65 63 68 6f 3c  a52a2a"><b>echo<
5990: 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  /b></font><font 
59a0: 63 6f 6c 6f 72 3d 22 23 66 66 30 30 66 66 22 3e  color="#ff00ff">
59b0: 26 6e 62 73 70 3b 3c 2f 66 6f 6e 74 3e 3c 66 6f  &nbsp;</font><fo
59c0: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
59d0: 61 22 3e 3c 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e  a"><b>&quot;</b>
59e0: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
59f0: 6f 72 3d 22 23 66 66 30 30 66 66 22 3e 26 6c 74  or="#ff00ff">&lt
5a00: 3b 75 6c 26 67 74 3b 3c 2f 66 6f 6e 74 3e 3c 66  ;ul&gt;</font><f
5a10: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61  ont color="#a52a
5a20: 32 61 22 3e 3c 62 3e 26 71 75 6f 74 3b 3c 2f 62  2a"><b>&quot;</b
5a30: 3e 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66  ></font><br>..<f
5a40: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61  ont color="#a52a
5a50: 32 61 22 3e 36 32 20 3c 2f 66 6f 6e 74 3e 26 6e  2a">62 </font>&n
5a60: 62 73 70 3b 26 6e 62 73 70 3b 66 69 6e 64 20 3c  bsp;&nbsp;find <
5a70: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 30 32  font color="#a02
5a80: 30 66 30 22 3e 24 52 45 50 4f 53 52 4f 4f 54 3c  0f0">$REPOSROOT<
5a90: 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 2d 6e 61 6d  /font>&nbsp;-nam
5aa0: 65 20 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  e <font color="#
5ab0: 61 35 32 61 32 61 22 3e 3c 62 3e 26 71 75 6f 74  a52a2a"><b>&quot
5ac0: 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  ;</b></font><fon
5ad0: 74 20 63 6f 6c 6f 72 3d 22 23 66 66 30 30 66 66  t color="#ff00ff
5ae0: 22 3e 2a 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  ">*</font><font 
5af0: 63 6f 6c 6f 72 3d 22 23 61 30 32 30 66 30 22 3e  color="#a020f0">
5b00: 24 52 45 50 4f 53 45 58 54 3c 2f 66 6f 6e 74 3e  $REPOSEXT</font>
5b10: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35  <font color="#a5
5b20: 32 61 32 61 22 3e 3c 62 3e 26 71 75 6f 74 3b 3c  2a2a"><b>&quot;<
5b30: 2f 62 3e 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b  /b></font>&nbsp;
5b40: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35  <font color="#a5
5b50: 32 61 32 61 22 3e 3c 62 3e 7c 3c 2f 62 3e 3c 2f  2a2a"><b>|</b></
5b60: 66 6f 6e 74 3e 26 6e 62 73 70 3b 5c 3c 62 72 3e  font>&nbsp;\<br>
5b70: 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  ..<font color="#
5b80: 61 35 32 61 32 61 22 3e 36 33 20 3c 2f 66 6f 6e  a52a2a">63 </fon
5b90: 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b 77 68  t>&nbsp;&nbsp;wh
5ba0: 69 6c 65 20 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ile <font color=
5bb0: 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 72 65 61  "#a52a2a"><b>rea
5bc0: 64 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 26 6e 62 73  d</b></font>&nbs
5bd0: 70 3b 72 65 70 6f 73 3c 66 6f 6e 74 20 63 6f 6c  p;repos<font col
5be0: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e  or="#a52a2a"><b>
5bf0: 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 26 6e 62 73  ;</b></font>&nbs
5c00: 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  p;<font color="#
5c10: 61 35 32 61 32 61 22 3e 3c 62 3e 64 6f 3c 2f 62  a52a2a"><b>do</b
5c20: 3e 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66  ></font><br>..<f
5c30: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61  ont color="#a52a
5c40: 32 61 22 3e 36 34 20 3c 2f 66 6f 6e 74 3e 26 6e  2a">64 </font>&n
5c50: 62 73 70 3b 26 6e 62 73 70 3b 26 6e 62 73 70 3b  bsp;&nbsp;&nbsp;
5c60: 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f  &nbsp;<font colo
5c70: 72 3d 22 23 30 30 38 62 38 62 22 3e 70 72 6f 6a  r="#008b8b">proj
5c80: 65 63 74 3c 2f 66 6f 6e 74 3e 3d 3c 66 6f 6e 74  ect</font>=<font
5c90: 20 63 6f 6c 6f 72 3d 22 23 36 61 35 61 63 64 22   color="#6a5acd"
5ca0: 3e 60 62 61 73 65 6e 61 6d 65 20 3c 2f 66 6f 6e  >`basename </fon
5cb0: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
5cc0: 61 30 32 30 66 30 22 3e 24 72 65 70 6f 73 3c 2f  a020f0">$repos</
5cd0: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
5ce0: 3d 22 23 36 61 35 61 63 64 22 3e 26 6e 62 73 70  ="#6a5acd">&nbsp
5cf0: 3b 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f  ;</font><font co
5d00: 6c 6f 72 3d 22 23 61 30 32 30 66 30 22 3e 24 52  lor="#a020f0">$R
5d10: 45 50 4f 53 45 58 54 3c 2f 66 6f 6e 74 3e 3c 66  EPOSEXT</font><f
5d20: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 36 61 35 61  ont color="#6a5a
5d30: 63 64 22 3e 60 3c 2f 66 6f 6e 74 3e 3c 62 72 3e  cd">`</font><br>
5d40: 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  ..<font color="#
5d50: 61 35 32 61 32 61 22 3e 36 35 20 3c 2f 66 6f 6e  a52a2a">65 </fon
5d60: 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e  t>&nbsp;&nbsp;&n
5d70: 62 73 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74 20  bsp;&nbsp;<font 
5d80: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
5d90: 3c 62 3e 69 66 20 3c 2f 62 3e 3c 2f 66 6f 6e 74  <b>if </b></font
5da0: 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61  ><font color="#a
5db0: 35 32 61 32 61 22 3e 3c 62 3e 5b 3c 2f 62 3e 3c  52a2a"><b>[</b><
5dc0: 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e  /font>&nbsp;<fon
5dd0: 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61  t color="#a52a2a
5de0: 22 3e 3c 62 3e 2d 66 3c 2f 62 3e 3c 2f 66 6f 6e  "><b>-f</b></fon
5df0: 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f  t>&nbsp;<font co
5e00: 6c 6f 72 3d 22 23 61 30 32 30 66 30 22 3e 24 72  lor="#a020f0">$r
5e10: 65 70 6f 73 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70  epos</font>&nbsp
5e20: 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61  ;<font color="#a
5e30: 35 32 61 32 61 22 3e 3c 62 3e 2d 61 3c 2f 62 3e  52a2a"><b>-a</b>
5e40: 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f  </font>&nbsp;<fo
5e50: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
5e60: 61 22 3e 3c 62 3e 21 3c 2f 62 3e 3c 2f 66 6f 6e  a"><b>!</b></fon
5e70: 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f  t>&nbsp;<font co
5e80: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62  lor="#a52a2a"><b
5e90: 3e 2d 65 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 26 6e  >-e</b></font>&n
5ea0: 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  bsp;<font color=
5eb0: 22 23 61 30 32 30 66 30 22 3e 24 52 45 50 4f 53  "#a020f0">$REPOS
5ec0: 52 4f 4f 54 3c 2f 66 6f 6e 74 3e 2f 2e 3c 66 6f  ROOT</font>/.<fo
5ed0: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 30 32 30 66  nt color="#a020f
5ee0: 30 22 3e 24 70 72 6f 6a 65 63 74 3c 2f 66 6f 6e  0">$project</fon
5ef0: 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f  t>&nbsp;<font co
5f00: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62  lor="#a52a2a"><b
5f10: 3e 5d 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f  >]</b></font><fo
5f20: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
5f30: 61 22 3e 3c 62 3e 3b 3c 2f 62 3e 3c 2f 66 6f 6e  a"><b>;</b></fon
5f40: 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f  t>&nbsp;<font co
5f50: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62  lor="#a52a2a"><b
5f60: 3e 74 68 65 6e 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e  >then</b></font>
5f70: 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f  <br>..<font colo
5f80: 72 3d 22 23 61 35 32 61 32 61 22 3e 36 36 20 3c  r="#a52a2a">66 <
5f90: 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73  /font>&nbsp;&nbs
5fa0: 70 3b 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e  p;&nbsp;&nbsp;&n
5fb0: 62 73 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74 20  bsp;&nbsp;<font 
5fc0: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
5fd0: 3c 62 3e 65 63 68 6f 3c 2f 62 3e 3c 2f 66 6f 6e  <b>echo</b></fon
5fe0: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
5ff0: 66 66 30 30 66 66 22 3e 26 6e 62 73 70 3b 3c 2f  ff00ff">&nbsp;</
6000: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
6010: 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 26 71  ="#a52a2a"><b>&q
6020: 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c  uot;</b></font><
6030: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 66 66 30  font color="#ff0
6040: 30 66 66 22 3e 26 6c 74 3b 6c 69 26 67 74 3b 26  0ff">&lt;li&gt;&
6050: 6c 74 3b 61 20 68 72 65 66 3d 27 3c 2f 66 6f 6e  lt;a href='</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 7b 3c 2f 66 6f 6e 74  a020f0">${</font
6080: 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61  ><font color="#a
6090: 30 32 30 66 30 22 3e 52 45 51 55 45 53 54 5f 55  020f0">REQUEST_U
60a0: 52 49 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63  RI</font><font c
60b0: 6f 6c 6f 72 3d 22 23 61 30 32 30 66 30 22 3e 7d  olor="#a020f0">}
60c0: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
60d0: 6f 72 3d 22 23 66 66 30 30 66 66 22 3e 2f 3c 2f  or="#ff00ff">/</
60e0: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
60f0: 3d 22 23 61 30 32 30 66 30 22 3e 24 70 72 6f 6a  ="#a020f0">$proj
6100: 65 63 74 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  ect</font><font 
6110: 63 6f 6c 6f 72 3d 22 23 66 66 30 30 66 66 22 3e  color="#ff00ff">
6120: 27 26 67 74 3b 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  '&gt;</font><fon
6130: 74 20 63 6f 6c 6f 72 3d 22 23 61 30 32 30 66 30  t color="#a020f0
6140: 22 3e 24 70 72 6f 6a 65 63 74 3c 2f 66 6f 6e 74  ">$project</font
6150: 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 66  ><font color="#f
6160: 66 30 30 66 66 22 3e 26 6c 74 3b 2f 61 26 67 74  f00ff">&lt;/a&gt
6170: 3b 26 6c 74 3b 2f 6c 69 26 67 74 3b 3c 2f 66 6f  ;&lt;/li&gt;</fo
6180: 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  nt><font color="
6190: 23 61 35 32 61 32 61 22 3e 3c 62 3e 26 71 75 6f  #a52a2a"><b>&quo
61a0: 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 62 72  t;</b></font><br
61b0: 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  >..<font color="
61c0: 23 61 35 32 61 32 61 22 3e 36 37 20 3c 2f 66 6f  #a52a2a">67 </fo
61d0: 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26  nt>&nbsp;&nbsp;&
61e0: 6e 62 73 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74  nbsp;&nbsp;<font
61f0: 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22   color="#a52a2a"
6200: 3e 3c 62 3e 66 69 3c 2f 62 3e 3c 2f 66 6f 6e 74  ><b>fi</b></font
6210: 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c  ><br>..<font col
6220: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 36 38 20  or="#a52a2a">68 
6230: 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62  </font>&nbsp;&nb
6240: 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  sp;<font color="
6250: 23 61 35 32 61 32 61 22 3e 3c 62 3e 64 6f 6e 65  #a52a2a"><b>done
6260: 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d  </b></font><br>.
6270: 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61  .<font color="#a
6280: 35 32 61 32 61 22 3e 36 39 20 3c 2f 66 6f 6e 74  52a2a">69 </font
6290: 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b 3c 66 6f  >&nbsp;&nbsp;<fo
62a0: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
62b0: 61 22 3e 3c 62 3e 65 63 68 6f 3c 2f 62 3e 3c 2f  a"><b>echo</b></
62c0: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
62d0: 3d 22 23 66 66 30 30 66 66 22 3e 26 6e 62 73 70  ="#ff00ff">&nbsp
62e0: 3b 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f  ;</font><font co
62f0: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62  lor="#a52a2a"><b
6300: 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e  >&quot;</b></fon
6310: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
6320: 66 66 30 30 66 66 22 3e 26 6c 74 3b 2f 75 6c 26  ff00ff">&lt;/ul&
6330: 67 74 3b 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  gt;</font><font 
6340: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
6350: 3c 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66  <b>&quot;</b></f
6360: 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20  ont><br>..<font 
6370: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
6380: 37 30 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  70 </font><font 
6390: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
63a0: 3c 62 3e 65 6c 73 65 3c 2f 62 3e 3c 2f 66 6f 6e  <b>else</b></fon
63b0: 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f  t><br>..<font co
63c0: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 37 31  lor="#a52a2a">71
63d0: 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e   </font>&nbsp;&n
63e0: 62 73 70 3b 45 72 72 6f 72 20 3c 66 6f 6e 74 20  bsp;Error <font 
63f0: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
6400: 3c 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66  <b>&quot;</b></f
6410: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
6420: 22 23 66 66 30 30 66 66 22 3e 4e 6f 20 73 75 63  "#ff00ff">No suc
6430: 68 20 70 72 6f 6a 65 63 74 3a 20 3c 2f 66 6f 6e  h project: </fon
6440: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
6450: 61 30 32 30 66 30 22 3e 24 70 72 6f 6a 65 63 74  a020f0">$project
6460: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
6470: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e  or="#a52a2a"><b>
6480: 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74  &quot;</b></font
6490: 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c  ><br>..<font col
64a0: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 37 32 20  or="#a52a2a">72 
64b0: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
64c0: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e  or="#a52a2a"><b>
64d0: 66 69 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 62 72  fi</b></font><br
64e0: 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  >..<font color="
64f0: 23 61 35 32 61 32 61 22 3e 37 33 20 3c 2f 66 6f  #a52a2a">73 </fo
6500: 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63  nt><br>..<font c
6510: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 37  olor="#a52a2a">7
6520: 34 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63  4 </font><font c
6530: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c  olor="#a52a2a"><
6540: 62 3e 65 78 69 74 3c 2f 62 3e 3c 2f 66 6f 6e 74  b>exit</b></font
6550: 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c  >&nbsp;<font col
6560: 6f 72 3d 22 23 66 66 30 30 66 66 22 3e 30 3c 2f  or="#ff00ff">0</
6570: 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 2f 66 6f 6e  font><br>..</fon
6580: 74 3e 0d 0a 3c 2f 6e 6f 77 69 6b 69 3e 0d 0a 0d  t>..</nowiki>...
6590: 0a 3c 68 34 3e 57 69 6e 64 6f 77 73 3c 2f 68 34  .<h4>Windows</h4
65a0: 3e 0d 0a 3c 70 3e 57 68 69 6c 65 20 69 74 20 69  >..<p>While it i
65b0: 73 20 66 61 72 20 66 72 6f 6d 20 61 20 70 65 72  s far from a per
65c0: 66 65 63 74 20 73 65 74 20 6f 66 20 69 6e 73 74  fect set of inst
65d0: 72 75 63 74 69 6f 6e 73 2c 20 68 65 72 65 20 61  ructions, here a
65e0: 72 65 20 73 6f 6d 65 20 71 75 69 63 6b 20 6e 6f  re some quick no
65f0: 74 65 73 20 74 68 61 74 20 73 68 6f 75 6c 64 20  tes that should 
6600: 68 65 6c 70 20 77 69 6e 64 6f 77 73 20 75 73 65  help windows use
6610: 72 73 20 61 6c 6f 6e 67 20 74 68 65 20 77 61 79  rs along the way
6620: 2e 3c 2f 70 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69  .</p>..<ul>..<li
6630: 3e 79 6f 75 20 6e 65 65 64 20 66 6f 73 73 69 6c  >you need fossil
6640: 2e 65 78 65 20 61 63 63 65 73 73 69 62 6c 65 20  .exe accessible 
6650: 62 79 20 79 6f 75 72 20 77 65 62 20 73 65 72 76  by your web serv
6660: 65 72 20 6f 72 20 6f 6e 20 79 6f 75 72 20 70 61  er or on your pa
6670: 74 68 20 2d 2d 20 65 61 73 69 65 73 74 20 69 73  th -- easiest is
6680: 20 74 6f 20 6a 75 73 74 20 63 68 75 63 6b 20 69   to just chuck i
6690: 74 20 69 6e 20 5c 25 53 59 53 54 45 4d 5f 52 4f  t in \%SYSTEM_RO
66a0: 4f 54 25 5c 20 28 75 73 75 61 6c 6c 79 20 63 3a  OT%\ (usually c:
66b0: 5c 77 69 6e 64 6f 77 73 5c 29 2e 20 3c 2f 6c 69  \windows\). </li
66c0: 3e 0d 0a 3c 6c 69 3e 61 73 73 75 6d 69 6e 67 20  >..<li>assuming 
66d0: 79 6f 75 20 61 72 65 20 72 75 6e 6e 69 6e 67 20  you are running 
66e0: 61 70 61 63 68 65 2c 20 79 6f 75 20 6e 65 65 64  apache, you need
66f0: 20 74 6f 20 65 69 74 68 65 72 20 61 64 64 20 74   to either add t
6700: 68 65 20 45 78 65 63 43 47 49 20 74 6f 20 74 68  he ExecCGI to th
6710: 65 20 6f 70 74 69 6f 6e 73 20 6f 6e 20 79 6f 75  e options on you
6720: 72 20 44 6f 63 75 6d 65 6e 74 52 6f 6f 74 2c 20  r DocumentRoot, 
6730: 6f 72 20 6d 61 6b 65 20 73 75 72 65 20 74 68 65  or make sure the
6740: 20 53 63 72 69 70 74 41 6c 69 61 73 20 64 69 72   ScriptAlias dir
6750: 65 63 74 69 76 65 20 69 73 20 73 65 74 20 61 6e  ective is set an
6760: 64 20 70 75 74 20 79 6f 75 72 20 2e 63 67 69 20  d put your .cgi 
6770: 66 69 6c 65 73 20 69 6e 20 74 68 61 74 20 66 6f  files in that fo
6780: 6c 64 65 72 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  lder.</li>..<li>
6790: 74 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20  the contents of 
67a0: 79 6f 75 72 20 63 67 69 20 66 69 6c 65 20 6e 65  your cgi file ne
67b0: 65 64 20 74 6f 20 62 65 20 65 73 73 65 6e 74 69  ed to be essenti
67c0: 61 6c 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73  ally the same as
67d0: 20 61 62 6f 76 65 2c 20 74 68 6f 75 67 68 20 70   above, though p
67e0: 61 74 68 73 20 6e 65 65 64 20 74 6f 20 62 65 20  aths need to be 
67f0: 77 69 6e 64 6f 77 73 2d 66 72 69 65 6e 64 6c 79  windows-friendly
6800: 2e 20 49 20 68 61 76 65 20 6d 61 64 65 20 73 75  . I have made su
6810: 72 65 20 74 68 61 74 20 61 6c 6c 20 66 6f 6c 64  re that all fold
6820: 65 72 73 20 6f 6e 20 6d 79 20 74 65 73 74 20 62  ers on my test b
6830: 6f 78 20 61 72 65 20 66 72 65 65 20 6f 66 20 73  ox are free of s
6840: 70 61 63 65 73 2c 20 61 6e 64 20 61 73 20 73 75  paces, and as su
6850: 63 68 20 74 68 69 73 20 66 69 6c 65 20 77 6f 72  ch this file wor
6860: 6b 73 20 66 6f 72 20 6d 65 20 28 6f 62 76 69 6f  ks for me (obvio
6870: 75 73 6c 79 20 79 6f 75 72 20 70 61 74 68 73 20  usly your paths 
6880: 6d 61 79 20 64 69 66 66 65 72 29 2e 0d 0a 3c 70  may differ)...<p
6890: 72 65 3e 0d 0a 23 21 20 66 6f 73 73 69 6c 2e 65  re>..#! fossil.e
68a0: 78 65 0d 0a 72 65 70 6f 73 69 74 6f 72 79 3a 20  xe..repository: 
68b0: 63 3a 2f 77 61 6d 70 2f 77 77 77 2f 64 65 76 2f  c:/wamp/www/dev/
68c0: 61 63 63 6f 75 6e 74 73 2e 66 6f 73 73 69 6c 0d  accounts.fossil.
68d0: 0a 3c 2f 70 72 65 3e 0d 0a 49 20 73 75 70 70 6f  .</pre>..I suppo
68e0: 73 65 20 79 6f 75 20 63 6f 75 6c 64 20 70 75 74  se you could put
68f0: 20 66 6f 73 73 69 6c 2e 65 78 65 20 73 6f 6d 65   fossil.exe some
6900: 77 68 65 72 65 20 6d 6f 72 65 20 73 70 65 63 69  where more speci
6910: 66 69 63 20 61 6e 64 20 73 65 74 20 74 68 65 20  fic and set the 
6920: 70 61 74 68 20 74 6f 20 69 74 20 61 73 20 77 65  path to it as we
6930: 6c 6c 2c 20 62 75 74 20 73 69 6e 63 65 20 79 6f  ll, but since yo
6940: 75 20 61 72 65 20 70 72 6f 62 61 62 6c 79 20 75  u are probably u
6950: 73 69 6e 67 20 74 68 65 20 73 61 6d 65 20 65 78  sing the same ex
6960: 65 63 75 74 61 62 6c 65 20 66 6f 72 20 63 6d 64  ecutable for cmd
6970: 6c 69 6e 65 20 61 6e 64 20 63 67 69 20 69 74 20  line and cgi it 
6980: 6b 69 6e 64 20 6f 66 20 6a 75 73 74 20 6d 61 6b  kind of just mak
6990: 65 73 20 73 65 6e 73 65 20 74 6f 20 70 75 74 20  es sense to put 
69a0: 69 74 20 73 6f 6d 65 77 68 65 72 65 20 6d 6f 72  it somewhere mor
69b0: 65 20 61 63 63 65 73 73 69 62 6c 65 2e 3c 2f 6c  e accessible.</l
69c0: 69 3e 0d 0a 3c 6c 69 3e 41 73 20 77 69 74 68 20  i>..<li>As with 
69d0: 6d 6f 73 74 20 57 69 6e 64 6f 77 73 20 62 61 73  most Windows bas
69e0: 65 64 20 77 65 62 20 69 6e 73 74 72 75 63 74 69  ed web instructi
69f0: 6f 6e 73 2c 20 70 65 72 6d 69 73 73 69 6f 6e 73  ons, permissions
6a00: 20 61 72 65 20 6e 6f 74 20 61 73 20 69 6d 70 6f   are not as impo
6a10: 72 74 61 6e 74 2c 20 68 6f 77 65 76 65 72 20 61  rtant, however a
6a20: 74 20 74 68 65 20 6c 65 61 73 74 2c 20 79 6f 75  t the least, you
6a30: 20 6e 65 65 64 20 74 6f 20 6d 61 6b 65 20 73 75   need to make su
6a40: 72 65 20 74 68 61 74 20 79 6f 75 72 20 72 65 70  re that your rep
6a50: 6f 73 69 74 6f 72 79 20 69 73 20 6e 6f 74 20 66  ository is not f
6a60: 6c 61 67 67 65 64 20 72 65 61 64 2d 6f 6e 6c 79  lagged read-only
6a70: 2c 20 61 73 20 79 6f 75 20 77 69 6c 6c 20 65 6e  , as you will en
6a80: 63 6f 75 6e 74 65 72 20 64 61 74 61 62 61 73 65  counter database
6a90: 20 65 72 72 6f 72 73 20 69 66 20 69 74 20 69 73   errors if it is
6aa0: 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 0d  .</li>..</ul>...
6ab0: 0a 3c 68 33 3e 44 69 73 63 75 73 73 69 6f 6e 3c  .<h3>Discussion<
6ac0: 2f 68 33 3e 0d 0a 55 73 69 6e 67 20 74 68 65 20  /h3>..Using the 
6ad0: 43 47 49 20 73 65 72 76 65 72 20 69 73 20 74 68  CGI server is th
6ae0: 65 20 62 65 73 74 20 73 6f 6c 75 74 69 6f 6e 20  e best solution 
6af0: 63 6f 6d 62 69 6e 69 6e 67 20 61 6e 20 65 78 69  combining an exi
6b00: 73 74 69 6e 67 20 77 65 62 20 69 6e 66 72 61 73  sting web infras
6b10: 74 72 75 63 74 75 72 65 20 61 6e 64 20 74 68 65  tructure and the
6b20: 20 73 68 61 72 69 6e 67 20 6f 66 20 6d 61 6e 79   sharing of many
6b30: 20 3c 63 69 74 65 3e 46 6f 73 73 69 6c 3c 2f 63   <cite>Fossil</c
6b40: 69 74 65 3e 20 72 65 70 6f 73 69 74 6f 72 69 65  ite> repositorie
6b50: 73 2e 20 20 55 6e 6c 69 6b 65 20 74 68 65 20 61  s.  Unlike the a
6b60: 64 2d 68 6f 63 20 73 6f 6c 75 74 69 6f 6e 20 77  d-hoc solution w
6b70: 68 69 63 68 20 72 65 71 75 69 72 65 73 2c 20 69  hich requires, i
6b80: 6e 20 65 66 66 65 63 74 2c 20 61 20 73 65 70 61  n effect, a sepa
6b90: 72 61 74 65 20 70 6f 72 74 20 66 6f 72 20 65 61  rate port for ea
6ba0: 63 68 20 73 69 6d 75 6c 74 61 6e 65 6f 75 73 6c  ch simultaneousl
6bb0: 79 2d 73 68 61 72 65 64 20 72 65 70 6f 73 69 74  y-shared reposit
6bc0: 6f 72 79 2c 20 61 6e 64 20 77 68 69 63 68 20 72  ory, and which r
6bd0: 65 71 75 69 72 65 73 20 73 65 76 65 72 61 6c 20  equires several 
6be0: 69 6e 73 74 61 6e 63 65 73 20 6f 66 20 66 6f 73  instances of fos
6bf0: 73 69 6c 20 72 75 6e 6e 69 6e 67 20 2d 2d 20 6f  sil running -- o
6c00: 6e 65 20 66 6f 72 20 65 61 63 68 20 73 68 61 72  ne for each shar
6c10: 65 64 20 72 65 70 6f 73 69 74 6f 72 79 20 2d 2d  ed repository --
6c20: 20 74 68 65 20 43 47 49 20 61 70 70 72 6f 61 63   the CGI approac
6c30: 68 20 75 73 65 73 20 55 52 4c 73 20 74 6f 20 64  h uses URLs to d
6c40: 69 73 74 69 6e 67 75 69 73 68 20 62 65 74 77 65  istinguish betwe
6c50: 65 6e 20 72 65 70 6f 73 69 74 6f 72 69 65 73 20  en repositories 
6c60: 61 6e 64 20 6f 6e 6c 79 20 28 62 72 69 65 66 6c  and only (briefl
6c70: 79 29 20 72 75 6e 73 20 61 20 63 6f 70 79 20 6f  y) runs a copy o
6c80: 66 20 66 6f 73 73 69 6c 20 77 68 65 6e 20 74 68  f fossil when th
6c90: 65 20 72 65 70 6f 73 69 74 6f 72 79 20 69 73 20  e repository is 
6ca0: 61 63 74 75 61 6c 6c 79 20 61 63 63 65 73 73 65  actually accesse
6cb0: 64 2e 0d 0a 0d 0a 53 68 61 72 69 6e 67 20 72 65  d.....Sharing re
6cc0: 70 6f 73 69 74 6f 72 69 65 73 20 77 69 74 68 20  positories with 
6cd0: 43 47 49 20 69 73 20 72 65 61 6c 6c 79 20 6f 6e  CGI is really on
6ce0: 6c 79 20 77 6f 72 74 68 20 74 68 65 20 65 66 66  ly worth the eff
6cf0: 6f 72 74 20 69 66 20 6d 6f 72 65 20 74 68 61 6e  ort if more than
6d00: 20 6f 6e 65 20 72 65 70 6f 73 69 74 6f 72 79 20   one repository 
6d10: 69 73 20 62 65 69 6e 67 20 73 68 61 72 65 64 2c  is being shared,
6d20: 20 68 6f 77 65 76 65 72 2e 20 20 57 69 74 68 20   however.  With 
6d30: 6f 6e 6c 79 20 6f 6e 65 20 62 65 69 6e 67 20 73  only one being s
6d40: 68 61 72 65 64 2c 20 3c 63 6f 64 65 3e 66 6f 73  hared, <code>fos
6d50: 73 69 6c 20 73 65 72 76 65 72 3c 2f 63 6f 64 65  sil server</code
6d60: 3e 20 69 73 20 6c 69 6b 65 6c 79 20 6d 6f 72 65  > is likely more
6d70: 20 74 68 61 6e 20 61 64 65 71 75 61 74 65 20 6f   than adequate o
6d80: 72 20 74 68 65 20 75 73 65 20 6f 66 20 28 78 29  r the use of (x)
6d90: 69 6e 65 74 64 20 6d 61 79 20 62 65 20 69 6e 64  inetd may be ind
6da0: 69 63 61 74 65 64 2e 20 20 49 66 2c 20 68 6f 77  icated.  If, how
6db0: 65 76 65 72 2c 20 74 68 65 72 65 20 69 73 20 61  ever, there is a
6dc0: 6c 72 65 61 64 79 20 61 6e 20 65 78 69 73 74 69  lready an existi
6dd0: 6e 67 20 77 65 62 20 69 6e 66 72 61 73 74 72 75  ng web infrastru
6de0: 63 74 75 72 65 20 69 6e 20 70 6c 61 63 65 2c 20  cture in place, 
6df0: 43 47 49 20 73 74 69 6c 6c 20 6d 61 79 20 62 65  CGI still may be
6e00: 20 70 72 65 66 65 72 72 65 64 20 69 66 20 6f 6e   preferred if on
6e10: 6c 79 20 66 6f 72 20 63 6f 6e 73 69 73 74 65 6e  ly for consisten
6e20: 63 79 20 61 6e 64 20 6d 61 69 6e 74 61 69 6e 61  cy and maintaina
6e30: 62 69 6c 69 74 79 20 6f 66 20 74 68 65 20 73 79  bility of the sy
6e40: 73 74 65 6d 20 61 73 20 61 20 77 68 6f 6c 65 2e  stem as a whole.
6e50: 0d 0a 0d 0a 3c 68 32 3e 3c 61 20 6e 61 6d 65 3d  ....<h2><a name=
6e60: 22 65 6e 76 22 3e 55 73 69 6e 67 20 45 6e 76 69  "env">Using Envi
6e70: 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65  ronment variable
6e80: 73 3c 2f 61 3e 3c 2f 68 32 3e 0d 0a 3c 68 33 3e  s</a></h2>..<h3>
6e90: 4d 6f 74 69 76 61 74 69 6f 6e 3c 2f 68 33 3e 0d  Motivation</h3>.
6ea0: 0a 20 20 2a 20 20 57 61 6e 74 20 74 6f 20 75 73  .  *  Want to us
6eb0: 65 20 61 20 64 69 66 66 65 72 65 6e 74 20 65 64  e a different ed
6ec0: 69 74 6f 72 20 66 6f 72 20 63 68 65 63 6b 69 6e  itor for checkin
6ed0: 73 20 28 55 6e 69 78 2f 57 69 6e 64 6f 77 73 29  s (Unix/Windows)
6ee0: 0d 0a 20 20 2a 20 20 55 73 65 20 61 20 70 72 6f  ..  *  Use a pro
6ef0: 78 79 20 69 66 20 79 6f 75 20 61 72 65 20 62 65  xy if you are be
6f00: 68 69 6e 64 20 61 20 66 69 72 65 77 61 6c 6c 0d  hind a firewall.
6f10: 0a 0d 0a 3c 68 33 3e 53 6f 6c 75 74 69 6f 6e 3c  ...<h3>Solution<
6f20: 2f 68 33 3e 0d 0a 45 6e 76 69 72 6f 6e 6d 65 6e  /h3>..Environmen
6f30: 74 20 76 61 72 69 61 62 6c 65 73 20 61 72 65 20  t variables are 
6f40: 75 73 65 64 20 74 6f 20 63 75 73 74 6f 6d 69 7a  used to customiz
6f50: 65 20 73 6f 6d 65 20 70 72 6f 67 72 61 6d 6d 65  e some programme
6f60: 20 62 65 68 61 76 69 6f 75 72 2e 20 4f 6e 20 4c   behaviour. On L
6f70: 69 6e 75 78 2f 55 6e 69 78 20 74 68 65 79 20 63  inux/Unix they c
6f80: 61 6e 20 62 65 20 73 65 74 20 69 6e 20 79 6f 75  an be set in you
6f90: 20 7e 2f 2e 62 61 73 68 72 63 20 6f 72 20 65 76   ~/.bashrc or ev
6fa0: 65 6e 20 6f 6e 20 63 6f 6d 6d 61 6e 64 20 6c 69  en on command li
6fb0: 6e 65 2e 20 4f 6e 20 57 69 6e 64 6f 77 73 20 74  ne. On Windows t
6fc0: 68 65 79 20 63 61 6e 20 62 65 20 73 65 74 20 69  hey can be set i
6fd0: 6e 20 74 68 65 20 73 79 73 74 65 6d 20 73 65 74  n the system set
6fe0: 74 69 6e 67 73 2e 0d 0a 0d 0a 3c 63 69 74 65 3e  tings.....<cite>
6ff0: 46 6f 73 73 69 6c 3c 2f 63 69 74 65 3e 20 63 68  Fossil</cite> ch
7000: 65 63 6b 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69  ecks the followi
7010: 6e 67 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76  ng environment v
7020: 61 72 69 61 62 6c 65 73 3a 0d 0a 20 20 2a 20 20  ariables:..  *  
7030: 56 49 53 55 41 4c 2f 45 44 49 54 4f 52 0d 0a 20  VISUAL/EDITOR.. 
7040: 20 2a 20 20 68 74 74 70 5f 70 72 6f 78 79 0d 0a   *  http_proxy..
7050: 20 20 2a 20 20 54 4d 50 5f 44 49 52 0d 0a 20 20    *  TMP_DIR..  
7060: 2a 20 20 47 41 54 45 57 41 59 5f 49 4e 54 45 52  *  GATEWAY_INTER
7070: 46 41 43 45 0d 0a 20 20 2a 20 20 53 51 4c 49 54  FACE..  *  SQLIT
7080: 45 5f 46 4f 52 43 45 5f 50 52 4f 58 59 5f 4c 4f  E_FORCE_PROXY_LO
7090: 43 4b 49 4e 47 0d 0a 20 20 2a 20 20 55 53 45 52  CKING..  *  USER
70a0: 0d 0a 20 20 2a 20 20 55 53 45 52 4e 41 4d 45 0d  ..  *  USERNAME.
70b0: 0a 0d 0a 3c 62 3e 56 49 53 55 41 4c 2f 45 44 49  ...<b>VISUAL/EDI
70c0: 54 4f 52 3c 2f 62 3e 20 63 6f 6e 74 61 69 6e 20  TOR</b> contain 
70d0: 74 68 65 20 65 64 69 74 6f 72 20 6f 66 20 79 6f  the editor of yo
70e0: 75 72 20 63 68 6f 69 63 65 20 74 68 61 74 20 69  ur choice that i
70f0: 73 20 75 73 65 64 20 74 6f 20 77 72 69 74 65 20  s used to write 
7100: 74 68 65 20 63 6f 6d 6d 69 74 20 66 69 6c 65 2e  the commit file.
7110: 0d 0a 0d 0a 3c 62 3e 54 4d 50 5f 44 49 52 3c 2f  ....<b>TMP_DIR</
7120: 62 3e 20 73 70 65 63 69 66 69 65 73 20 74 68 65  b> specifies the
7130: 20 64 69 72 65 63 74 6f 72 79 20 66 6f 72 20 74   directory for t
7140: 65 6d 70 6f 72 61 72 79 20 66 69 6c 65 73 2e 0d  emporary files..
7150: 0a 0d 0a 3c 62 3e 47 41 54 45 57 41 59 5f 49 4e  ...<b>GATEWAY_IN
7160: 54 45 52 46 41 43 45 3c 2f 62 3e 20 3f 3f 3f 0d  TERFACE</b> ???.
7170: 0a 0d 0a 3c 62 3e 53 51 4c 49 54 45 5f 46 4f 52  ...<b>SQLITE_FOR
7180: 43 45 5f 50 52 4f 58 59 5f 4c 4f 43 4b 49 4e 47  CE_PROXY_LOCKING
7190: 3c 2f 62 3e 20 3f 3f 3f 0d 0a 0d 0a 3c 62 3e 55  </b> ???....<b>U
71a0: 53 45 52 3c 2f 62 3e 0d 0a 0d 0a 3c 62 3e 55 53  SER</b>....<b>US
71b0: 45 52 4e 41 4d 45 3c 2f 62 3e 0d 0a 0d 0a 0d 0a  ERNAME</b>......
71c0: 3c 68 32 3e 3c 61 20 6e 61 6d 65 3d 22 63 73 73  <h2><a name="css
71d0: 22 3e 45 78 61 6d 70 6c 65 20 43 53 53 3c 2f 61  ">Example CSS</a
71e0: 3e 3c 2f 68 32 3e 0d 0a 3c 68 33 3e 4d 6f 74 69  ></h2>..<h3>Moti
71f0: 76 61 74 69 6f 6e 3c 2f 68 33 3e 0d 0a 54 68 65  vation</h3>..The
7200: 20 64 65 66 61 75 6c 74 20 55 49 20 6d 61 79 20   default UI may 
7210: 6e 6f 74 20 62 65 20 73 74 79 6c 69 73 68 20 69  not be stylish i
7220: 6e 20 65 76 65 72 79 6f 6e 65 73 20 65 79 65 73  n everyones eyes
7230: 2e 0d 0a 49 74 20 69 73 20 75 70 20 74 6f 20 79  ...It is up to y
7240: 6f 75 20 74 6f 20 63 68 61 6e 67 65 20 69 74 2e  ou to change it.
7250: 20 53 65 65 20 74 68 65 20 43 53 53 20 63 6f 64   See the CSS cod
7260: 65 20 62 65 6c 6f 77 20 66 72 6f 6d 20 74 68 69  e below from thi
7270: 73 20 73 69 74 65 20 5b 68 74 74 70 3a 2f 2f 66  s site [http://f
7280: 6f 73 73 69 6c 2e 77 61 6e 64 65 72 69 6e 67 68  ossil.wanderingh
7290: 6f 72 73 65 2e 6e 65 74 2f 69 6e 64 65 78 2e 63  orse.net/index.c
72a0: 67 69 2f 69 6e 64 65 78 7c 57 61 6e 64 65 72 69  gi/index|Wanderi
72b0: 6e 67 20 48 6f 72 73 65 5d 0d 0a 0d 0a 3c 6e 6f  ng Horse]....<no
72c0: 77 69 6b 69 3e 0d 0a 3c 70 72 65 3e 0d 0a 2f 2a  wiki>..<pre>../*
72d0: 20 47 65 6e 65 72 61 6c 20 73 65 74 74 69 6e 67   General setting
72e0: 73 20 66 6f 72 20 74 68 65 20 65 6e 74 69 72 65  s for the entire
72f0: 20 70 61 67 65 20 2a 2f 0d 0a 62 6f 64 79 20 7b   page */..body {
7300: 0d 0a 20 20 6d 61 72 67 69 6e 3a 20 30 65 78 20  ..  margin: 0ex 
7310: 31 65 78 3b 0d 0a 20 20 70 61 64 64 69 6e 67 3a  1ex;..  padding:
7320: 20 30 70 78 3b 0d 0a 20 20 62 61 63 6b 67 72 6f   0px;..  backgro
7330: 75 6e 64 2d 63 6f 6c 6f 72 3a 20 77 68 69 74 65  und-color: white
7340: 3b 0d 0a 20 20 66 6f 6e 74 2d 66 61 6d 69 6c 79  ;..  font-family
7350: 3a 20 22 73 61 6e 73 20 73 65 72 69 66 22 3b 0d  : "sans serif";.
7360: 0a 7d 0d 0a 0d 0a 2f 2a 20 4d 61 6b 65 20 74 68  .}..../* Make th
7370: 65 20 6c 69 6e 6b 73 20 69 6e 20 74 68 65 20 66  e links in the f
7380: 6f 6f 74 65 72 20 6c 65 73 73 20 75 67 6c 79 2e  ooter less ugly.
7390: 2e 2e 20 2a 2f 0d 0a 61 20 7b 20 63 6f 6c 6f 72  .. */..a { color
73a0: 3a 20 23 30 30 30 66 36 61 3b 20 7d 0d 0a 61 3a  : #000f6a; }..a:
73b0: 6c 69 6e 6b 20 7b 20 63 6f 6c 6f 72 3a 20 23 30  link { color: #0
73c0: 30 30 66 36 61 3b 20 7d 0d 0a 61 3a 76 69 73 69  00f6a; }..a:visi
73d0: 74 65 64 20 7b 20 63 6f 6c 6f 72 3a 20 23 30 30  ted { color: #00
73e0: 30 66 36 61 3b 20 7d 0d 0a 61 3a 68 6f 76 65 72  0f6a; }..a:hover
73f0: 20 7b 20 62 61 63 6b 67 72 6f 75 6e 64 2d 63 6f   { background-co
7400: 6c 6f 72 3a 20 23 65 33 65 33 65 33 3b 20 7d 0d  lor: #e3e3e3; }.
7410: 0a 0d 0a 0d 0a 68 72 20 7b 0d 0a 20 20 68 65 69  .....hr {..  hei
7420: 67 68 74 3a 20 33 70 78 3b 0d 0a 20 20 62 6f 72  ght: 3px;..  bor
7430: 64 65 72 2d 74 6f 70 3a 20 6e 6f 6e 65 3b 20 2f  der-top: none; /
7440: 2a 31 70 78 20 64 61 73 68 65 64 20 23 30 30 35  *1px dashed #005
7450: 3b 2a 2f 0d 0a 20 20 62 6f 72 64 65 72 2d 62 6f  ;*/..  border-bo
7460: 74 74 6f 6d 3a 20 31 70 78 20 64 61 73 68 65 64  ttom: 1px dashed
7470: 20 23 30 30 35 3b 0d 0a 20 20 62 6f 72 64 65 72   #005;..  border
7480: 2d 6c 65 66 74 3a 20 6e 6f 6e 65 3b 0d 0a 20 20  -left: none;..  
7490: 62 6f 72 64 65 72 2d 72 69 67 68 74 3a 20 6e 6f  border-right: no
74a0: 6e 65 3b 0d 0a 7d 0d 0a 2f 2a 20 54 68 65 20 70  ne;..}../* The p
74b0: 72 6f 6a 65 63 74 20 6c 6f 67 6f 20 69 6e 20 74  roject logo in t
74c0: 68 65 20 75 70 70 65 72 20 6c 65 66 74 2d 68 61  he upper left-ha
74d0: 6e 64 20 63 6f 72 6e 65 72 20 6f 66 20 65 61 63  nd corner of eac
74e0: 68 20 70 61 67 65 20 2a 2f 0d 0a 64 69 76 2e 6c  h page */..div.l
74f0: 6f 67 6f 20 7b 0d 0a 20 20 64 69 73 70 6c 61 79  ogo {..  display
7500: 3a 20 74 61 62 6c 65 2d 63 65 6c 6c 3b 0d 0a 20  : table-cell;.. 
7510: 20 74 65 78 74 2d 61 6c 69 67 6e 3a 20 63 65 6e   text-align: cen
7520: 74 65 72 3b 0d 0a 20 20 76 65 72 74 69 63 61 6c  ter;..  vertical
7530: 2d 61 6c 69 67 6e 3a 20 62 6f 74 74 6f 6d 3b 0d  -align: bottom;.
7540: 0a 20 20 63 6f 6c 6f 72 3a 20 23 30 30 30 66 36  .  color: #000f6
7550: 61 3b 0d 0a 7d 0d 0a 0d 0a 2f 2a 20 54 68 65 20  a;..}..../* The 
7560: 70 61 67 65 20 74 69 74 6c 65 20 63 65 6e 74 65  page title cente
7570: 72 65 64 20 61 74 20 74 68 65 20 74 6f 70 20 6f  red at the top o
7580: 66 20 65 61 63 68 20 70 61 67 65 20 2a 2f 0d 0a  f each page */..
7590: 64 69 76 2e 74 69 74 6c 65 20 7b 0d 0a 20 20 64  div.title {..  d
75a0: 69 73 70 6c 61 79 3a 20 74 61 62 6c 65 2d 63 65  isplay: table-ce
75b0: 6c 6c 3b 0d 0a 20 20 66 6f 6e 74 2d 73 69 7a 65  ll;..  font-size
75c0: 3a 20 32 65 6d 3b 0d 0a 20 20 66 6f 6e 74 2d 77  : 2em;..  font-w
75d0: 65 69 67 68 74 3a 20 62 6f 6c 64 3b 0d 0a 20 20  eight: bold;..  
75e0: 74 65 78 74 2d 61 6c 69 67 6e 3a 20 63 65 6e 74  text-align: cent
75f0: 65 72 3b 0d 0a 20 20 63 6f 6c 6f 72 3a 20 23 30  er;..  color: #0
7600: 30 30 66 36 61 3b 0d 0a 20 20 76 65 72 74 69 63  00f6a;..  vertic
7610: 61 6c 2d 61 6c 69 67 6e 3a 20 62 6f 74 74 6f 6d  al-align: bottom
7620: 3b 0d 0a 20 20 77 69 64 74 68 3a 20 31 30 30 25  ;..  width: 100%
7630: 3b 0d 0a 7d 0d 0a 0d 0a 2f 2a 20 54 68 65 20 6c  ;..}..../* The l
7640: 6f 67 69 6e 20 73 74 61 74 75 73 20 6d 65 73 73  ogin status mess
7650: 61 67 65 20 69 6e 20 74 68 65 20 74 6f 70 20 72  age in the top r
7660: 69 67 68 74 2d 68 61 6e 64 20 63 6f 72 6e 65 72  ight-hand corner
7670: 20 2a 2f 0d 0a 64 69 76 2e 73 74 61 74 75 73 20   */..div.status 
7680: 7b 0d 0a 20 20 64 69 73 70 6c 61 79 3a 20 74 61  {..  display: ta
7690: 62 6c 65 2d 63 65 6c 6c 3b 0d 0a 20 20 74 65 78  ble-cell;..  tex
76a0: 74 2d 61 6c 69 67 6e 3a 20 72 69 67 68 74 3b 0d  t-align: right;.
76b0: 0a 20 20 76 65 72 74 69 63 61 6c 2d 61 6c 69 67  .  vertical-alig
76c0: 6e 3a 20 62 6f 74 74 6f 6d 3b 0d 0a 20 20 63 6f  n: bottom;..  co
76d0: 6c 6f 72 3a 20 23 30 30 30 66 36 61 3b 0d 0a 20  lor: #000f6a;.. 
76e0: 20 66 6f 6e 74 2d 73 69 7a 65 3a 20 30 2e 38 65   font-size: 0.8e
76f0: 6d 3b 0d 0a 7d 0d 0a 0d 0a 2f 2a 20 54 68 65 20  m;..}..../* The 
7700: 68 65 61 64 65 72 20 61 63 72 6f 73 73 20 74 68  header across th
7710: 65 20 74 6f 70 20 6f 66 20 74 68 65 20 70 61 67  e top of the pag
7720: 65 20 2a 2f 0d 0a 64 69 76 2e 68 65 61 64 65 72  e */..div.header
7730: 20 7b 0d 0a 20 20 64 69 73 70 6c 61 79 3a 20 74   {..  display: t
7740: 61 62 6c 65 3b 0d 0a 20 20 77 69 64 74 68 3a 20  able;..  width: 
7750: 31 30 30 25 3b 0d 0a 20 20 74 65 78 74 2d 61 6c  100%;..  text-al
7760: 69 67 6e 3a 20 63 65 6e 74 65 72 3b 0d 0a 7d 0d  ign: center;..}.
7770: 0a 0d 0a 2f 2a 20 54 68 65 20 6d 61 69 6e 20 6d  .../* The main m
7780: 65 6e 75 20 62 61 72 20 74 68 61 74 20 61 70 70  enu bar that app
7790: 65 61 72 73 20 61 74 20 74 68 65 20 74 6f 70 20  ears at the top 
77a0: 6f 66 20 74 68 65 20 70 61 67 65 20 62 65 6e 65  of the page bene
77b0: 61 74 68 0d 0a 2a 2a 20 74 68 65 20 68 65 61 64  ath..** the head
77c0: 65 72 20 2a 2f 0d 0a 64 69 76 2e 6d 61 69 6e 6d  er */..div.mainm
77d0: 65 6e 75 20 7b 0d 0a 20 20 70 61 64 64 69 6e 67  enu {..  padding
77e0: 3a 20 32 70 78 20 35 70 78 20 32 70 78 20 35 70  : 2px 5px 2px 5p
77f0: 78 3b 0d 0a 20 20 66 6f 6e 74 2d 73 69 7a 65 3a  x;..  font-size:
7800: 20 30 2e 39 65 6d 3b 0d 0a 20 20 74 65 78 74 2d   0.9em;..  text-
7810: 61 6c 69 67 6e 3a 20 63 65 6e 74 65 72 3b 0d 0a  align: center;..
7820: 20 20 6c 65 74 74 65 72 2d 73 70 61 63 69 6e 67    letter-spacing
7830: 3a 20 31 70 78 3b 0d 0a 20 20 62 61 63 6b 67 72  : 1px;..  backgr
7840: 6f 75 6e 64 2d 63 6f 6c 6f 72 3a 20 23 65 33 65  ound-color: #e3e
7850: 33 65 33 3b 0d 0a 20 20 63 6f 6c 6f 72 3a 20 23  3e3;..  color: #
7860: 30 30 30 66 36 61 3b 0d 0a 20 20 62 6f 72 64 65  000f6a;..  borde
7870: 72 3a 20 31 70 78 20 69 6e 73 65 74 20 62 6c 61  r: 1px inset bla
7880: 63 6b 3b 0d 0a 7d 0d 0a 0d 0a 2f 2a 20 54 68 65  ck;..}..../* The
7890: 20 73 75 62 6d 65 6e 75 20 62 61 72 20 74 68 61   submenu bar tha
78a0: 74 20 2a 73 6f 6d 65 74 69 6d 65 73 2a 20 61 70  t *sometimes* ap
78b0: 70 65 61 72 73 20 62 65 6c 6f 77 20 74 68 65 20  pears below the 
78c0: 6d 61 69 6e 20 6d 65 6e 75 20 2a 2f 0d 0a 64 69  main menu */..di
78d0: 76 2e 73 75 62 6d 65 6e 75 20 7b 0d 0a 20 20 70  v.submenu {..  p
78e0: 61 64 64 69 6e 67 3a 20 32 70 78 20 35 70 78 20  adding: 2px 5px 
78f0: 32 70 78 20 35 70 78 3b 0d 0a 20 20 66 6f 6e 74  2px 5px;..  font
7900: 2d 73 69 7a 65 3a 20 30 2e 39 65 6d 3b 0d 0a 20  -size: 0.9em;.. 
7910: 20 74 65 78 74 2d 61 6c 69 67 6e 3a 20 63 65 6e   text-align: cen
7920: 74 65 72 3b 0d 0a 20 20 62 61 63 6b 67 72 6f 75  ter;..  backgrou
7930: 6e 64 2d 63 6f 6c 6f 72 3a 20 23 65 33 65 33 65  nd-color: #e3e3e
7940: 33 3b 0d 0a 20 20 63 6f 6c 6f 72 3a 20 23 30 30  3;..  color: #00
7950: 30 66 36 61 3b 0d 0a 7d 0d 0a 64 69 76 2e 6d 61  0f6a;..}..div.ma
7960: 69 6e 6d 65 6e 75 20 61 2c 20 64 69 76 2e 6d 61  inmenu a, div.ma
7970: 69 6e 6d 65 6e 75 20 61 3a 76 69 73 69 74 65 64  inmenu a:visited
7980: 2c 20 64 69 76 2e 73 75 62 6d 65 6e 75 20 61 2c  , div.submenu a,
7990: 20 64 69 76 2e 73 75 62 6d 65 6e 75 20 61 3a 76   div.submenu a:v
79a0: 69 73 69 74 65 64 20 7b 0d 0a 20 20 70 61 64 64  isited {..  padd
79b0: 69 6e 67 3a 20 32 70 78 20 31 30 70 78 20 32 70  ing: 2px 10px 2p
79c0: 78 20 31 30 70 78 3b 0d 0a 20 20 63 6f 6c 6f 72  x 10px;..  color
79d0: 3a 20 23 30 30 30 66 36 61 3b 0d 0a 20 20 62 61  : #000f6a;..  ba
79e0: 63 6b 67 72 6f 75 6e 64 2d 63 6f 6c 6f 72 3a 20  ckground-color: 
79f0: 23 65 33 65 33 65 33 3b 0d 0a 20 20 74 65 78 74  #e3e3e3;..  text
7a00: 2d 64 65 63 6f 72 61 74 69 6f 6e 3a 20 6e 6f 6e  -decoration: non
7a10: 65 3b 0d 0a 7d 0d 0a 64 69 76 2e 6d 61 69 6e 6d  e;..}..div.mainm
7a20: 65 6e 75 20 61 3a 68 6f 76 65 72 2c 20 64 69 76  enu a:hover, div
7a30: 2e 73 75 62 6d 65 6e 75 20 61 3a 68 6f 76 65 72  .submenu a:hover
7a40: 20 7b 0d 0a 20 20 63 6f 6c 6f 72 3a 20 23 65 33   {..  color: #e3
7a50: 65 33 65 33 3b 0d 0a 20 20 62 61 63 6b 67 72 6f  e3e3;..  backgro
7a60: 75 6e 64 2d 63 6f 6c 6f 72 3a 20 23 30 30 30 66  und-color: #000f
7a70: 36 61 3b 0d 0a 7d 0d 0a 0d 0a 2f 2a 20 41 6c 6c  6a;..}..../* All
7a80: 20 70 61 67 65 20 63 6f 6e 74 65 6e 74 20 66 72   page content fr
7a90: 6f 6d 20 74 68 65 20 62 6f 74 74 6f 6d 20 6f 66  om the bottom of
7aa0: 20 74 68 65 20 6d 65 6e 75 20 6f 72 20 73 75 62   the menu or sub
7ab0: 6d 65 6e 75 20 64 6f 77 6e 20 74 6f 0d 0a 2a 2a  menu down to..**
7ac0: 20 74 68 65 20 66 6f 6f 74 65 72 20 2a 2f 0d 0a   the footer */..
7ad0: 64 69 76 2e 63 6f 6e 74 65 6e 74 20 7b 0d 0a 20  div.content {.. 
7ae0: 20 70 61 64 64 69 6e 67 3a 20 30 65 78 20 31 65   padding: 0ex 1e
7af0: 78 20 30 65 78 20 32 65 78 3b 0d 0a 7d 0d 0a 0d  x 0ex 2ex;..}...
7b00: 0a 2f 2a 20 53 6f 6d 65 20 70 61 67 65 73 20 68  ./* Some pages h
7b10: 61 76 65 20 73 65 63 74 69 6f 6e 20 64 69 76 69  ave section divi
7b20: 64 65 72 73 20 2a 2f 0d 0a 64 69 76 2e 73 65 63  ders */..div.sec
7b30: 74 69 6f 6e 20 7b 0d 0a 20 20 6d 61 72 67 69 6e  tion {..  margin
7b40: 2d 62 6f 74 74 6f 6d 3a 20 30 70 78 3b 0d 0a 20  -bottom: 0px;.. 
7b50: 20 6d 61 72 67 69 6e 2d 74 6f 70 3a 20 31 65 6d   margin-top: 1em
7b60: 3b 0d 0a 20 20 70 61 64 64 69 6e 67 3a 20 31 70  ;..  padding: 1p
7b70: 78 20 31 70 78 20 31 70 78 20 31 70 78 3b 0d 0a  x 1px 1px 1px;..
7b80: 20 20 66 6f 6e 74 2d 73 69 7a 65 3a 20 31 2e 32    font-size: 1.2
7b90: 65 6d 3b 0d 0a 20 20 66 6f 6e 74 2d 77 65 69 67  em;..  font-weig
7ba0: 68 74 3a 20 62 6f 6c 64 3b 0d 0a 20 20 62 61 63  ht: bold;..  bac
7bb0: 6b 67 72 6f 75 6e 64 2d 63 6f 6c 6f 72 3a 20 23  kground-color: #
7bc0: 65 33 65 33 65 33 3b 0d 0a 20 20 63 6f 6c 6f 72  e3e3e3;..  color
7bd0: 3a 20 23 30 30 30 66 36 61 3b 0d 0a 7d 0d 0a 0d  : #000f6a;..}...
7be0: 0a 2f 2a 20 54 68 65 20 22 44 61 74 65 22 20 74  ./* The "Date" t
7bf0: 68 61 74 20 6f 63 63 75 72 73 20 6f 6e 20 74 68  hat occurs on th
7c00: 65 20 6c 65 66 74 20 68 61 6e 64 20 73 69 64 65  e left hand side
7c10: 20 6f 66 20 74 69 6d 65 6c 69 6e 65 73 20 2a 2f   of timelines */
7c20: 0d 0a 64 69 76 2e 64 69 76 69 64 65 72 20 7b 0d  ..div.divider {.
7c30: 0a 20 20 62 61 63 6b 67 72 6f 75 6e 64 2d 63 6f  .  background-co
7c40: 6c 6f 72 3a 20 23 65 33 65 33 65 33 3b 0d 0a 20  lor: #e3e3e3;.. 
7c50: 20 63 6f 6c 6f 72 3a 20 23 30 30 30 66 36 61 3b   color: #000f6a;
7c60: 0d 0a 20 20 62 6f 72 64 65 72 3a 20 31 70 78 20  ..  border: 1px 
7c70: 23 62 62 62 62 66 66 20 73 6f 6c 69 64 3b 0d 0a  #bbbbff solid;..
7c80: 20 20 66 6f 6e 74 2d 73 69 7a 65 3a 20 31 65 6d    font-size: 1em
7c90: 3b 20 66 6f 6e 74 2d 77 65 69 67 68 74 3a 20 6e  ; font-weight: n
7ca0: 6f 72 6d 61 6c 3b 0d 0a 20 20 70 61 64 64 69 6e  ormal;..  paddin
7cb0: 67 3a 20 2e 32 35 65 6d 3b 0d 0a 20 20 6d 61 72  g: .25em;..  mar
7cc0: 67 69 6e 3a 20 2e 32 65 6d 20 30 20 2e 32 65 6d  gin: .2em 0 .2em
7cd0: 20 30 3b 0d 0a 20 20 66 6c 6f 61 74 3a 20 6c 65   0;..  float: le
7ce0: 66 74 3b 0d 0a 20 20 63 6c 65 61 72 3a 20 6c 65  ft;..  clear: le
7cf0: 66 74 3b 0d 0a 7d 0d 0a 0d 0a 2f 2a 20 54 68 65  ft;..}..../* The
7d00: 20 66 6f 6f 74 65 72 20 61 74 20 74 68 65 20 76   footer at the v
7d10: 65 72 79 20 62 6f 74 74 6f 6d 20 6f 66 20 74 68  ery bottom of th
7d20: 65 20 70 61 67 65 20 2a 2f 0d 0a 64 69 76 2e 66  e page */..div.f
7d30: 6f 6f 74 65 72 20 7b 0d 0a 20 20 66 6f 6e 74 2d  ooter {..  font-
7d40: 73 69 7a 65 3a 20 30 2e 38 65 6d 3b 0d 0a 20 20  size: 0.8em;..  
7d50: 70 61 64 64 69 6e 67 3a 20 32 70 78 20 35 70 78  padding: 2px 5px
7d60: 20 32 70 78 20 35 70 78 3b 0d 0a 20 20 74 65 78   2px 5px;..  tex
7d70: 74 2d 61 6c 69 67 6e 3a 20 63 65 6e 74 65 72 3b  t-align: center;
7d80: 0d 0a 20 20 6c 65 74 74 65 72 2d 73 70 61 63 69  ..  letter-spaci
7d90: 6e 67 3a 20 31 70 78 3b 0d 0a 20 20 62 61 63 6b  ng: 1px;..  back
7da0: 67 72 6f 75 6e 64 2d 63 6f 6c 6f 72 3a 20 23 65  ground-color: #e
7db0: 33 65 33 65 33 3b 0d 0a 20 20 63 6f 6c 6f 72 3a  3e3e3;..  color:
7dc0: 20 23 30 30 30 66 36 61 3b 0d 0a 20 20 62 6f 72   #000f6a;..  bor
7dd0: 64 65 72 3a 20 31 70 78 20 69 6e 73 65 74 20 62  der: 1px inset b
7de0: 6c 61 63 6b 3b 0d 0a 7d 0d 0a 0d 0a 2f 2a 20 4d  lack;..}..../* M
7df0: 61 6b 65 20 74 68 65 20 6c 69 6e 6b 73 20 69 6e  ake the links in
7e00: 20 74 68 65 20 66 6f 6f 74 65 72 20 6c 65 73 73   the footer less
7e10: 20 75 67 6c 79 2e 2e 2e 20 2a 2f 0d 0a 64 69 76   ugly... */..div
7e20: 2e 66 6f 6f 74 65 72 20 61 20 7b 20 63 6f 6c 6f  .footer a { colo
7e30: 72 3a 20 23 30 30 30 66 36 61 3b 20 7d 0d 0a 64  r: #000f6a; }..d
7e40: 69 76 2e 66 6f 6f 74 65 72 20 61 3a 6c 69 6e 6b  iv.footer a:link
7e50: 20 7b 20 63 6f 6c 6f 72 3a 20 23 30 30 30 66 36   { color: #000f6
7e60: 61 3b 20 7d 0d 0a 64 69 76 2e 66 6f 6f 74 65 72  a; }..div.footer
7e70: 20 61 3a 76 69 73 69 74 65 64 20 7b 20 63 6f 6c   a:visited { col
7e80: 6f 72 3a 20 23 30 30 30 66 36 61 3b 20 7d 0d 0a  or: #000f6a; }..
7e90: 64 69 76 2e 66 6f 6f 74 65 72 20 61 3a 68 6f 76  div.footer a:hov
7ea0: 65 72 20 7b 20 62 61 63 6b 67 72 6f 75 6e 64 2d  er { background-
7eb0: 63 6f 6c 6f 72 3a 20 23 30 30 30 66 36 61 3b 20  color: #000f6a; 
7ec0: 63 6f 6c 6f 72 3a 20 23 65 33 65 33 65 33 3b 20  color: #e3e3e3; 
7ed0: 7d 0d 0a 0d 0a 2f 2a 20 76 65 72 62 61 74 69 6d  }..../* verbatim
7ee0: 20 62 6c 6f 63 6b 73 20 2a 2f 0d 0a 70 72 65 2e   blocks */..pre.
7ef0: 76 65 72 62 61 74 69 6d 20 7b 0d 0a 20 20 20 62  verbatim {..   b
7f00: 61 63 6b 67 72 6f 75 6e 64 2d 63 6f 6c 6f 72 3a  ackground-color:
7f10: 20 23 66 35 66 35 66 35 3b 0d 0a 20 20 20 70 61   #f5f5f5;..   pa
7f20: 64 64 69 6e 67 3a 20 30 2e 35 65 6d 3b 0d 0a 7d  dding: 0.5em;..}
7f30: 0d 0a 0d 0a 2f 2a 20 54 68 65 20 6c 61 62 65 6c  ..../* The label
7f40: 2f 76 61 6c 75 65 20 70 61 69 72 73 20 6f 6e 20  /value pairs on 
7f50: 28 66 6f 72 20 65 78 61 6d 70 6c 65 29 20 74 68  (for example) th
7f60: 65 20 76 69 6e 66 6f 20 70 61 67 65 20 2a 2f 0d  e vinfo page */.
7f70: 0a 74 61 62 6c 65 2e 6c 61 62 65 6c 2d 76 61 6c  .table.label-val
7f80: 75 65 20 74 68 20 7b 0d 0a 20 20 76 65 72 74 69  ue th {..  verti
7f90: 63 61 6c 2d 61 6c 69 67 6e 3a 20 74 6f 70 3b 0d  cal-align: top;.
7fa0: 0a 20 20 74 65 78 74 2d 61 6c 69 67 6e 3a 20 72  .  text-align: r
7fb0: 69 67 68 74 3b 0d 0a 20 20 70 61 64 64 69 6e 67  ight;..  padding
7fc0: 3a 20 30 2e 32 65 78 20 32 65 78 3b 0d 0a 7d 0d  : 0.2ex 2ex;..}.
7fd0: 0a 0d 0a 2f 2a 20 46 6f 72 20 6d 61 72 6b 69 6e  .../* For markin
7fe0: 67 20 69 6d 70 6f 72 74 61 6e 74 20 55 49 20 65  g important UI e
7ff0: 6c 65 6d 65 6e 74 73 20 77 68 69 63 68 20 73 68  lements which sh
8000: 6f 75 6c 64 6e 27 74 20 62 65 0d 0a 20 20 20 6c  ouldn't be..   l
8010: 69 67 68 74 6c 79 20 64 69 73 6d 69 73 73 65 64  ightly dismissed
8020: 2e 20 49 20 6d 61 69 6e 6c 79 20 75 73 65 20 69  . I mainly use i
8030: 74 20 74 6f 20 6d 61 72 6b 20 22 6e 6f 74 20 79  t to mark "not y
8040: 65 74 0d 0a 20 20 20 69 6d 70 6c 65 6d 65 6e 74  et..   implement
8050: 65 64 22 20 70 61 72 74 73 20 6f 66 20 61 20 70  ed" parts of a p
8060: 61 67 65 2e 20 57 68 65 74 68 65 72 20 6f 72 20  age. Whether or 
8070: 6e 6f 74 20 74 6f 20 68 61 76 65 0d 0a 20 20 20  not to have..   
8080: 61 20 27 62 6f 72 64 65 72 27 20 61 74 74 72 69  a 'border' attri
8090: 62 75 74 65 20 73 65 74 20 69 73 20 61 72 67 75  bute set is argu
80a0: 61 62 6c 65 2e 20 2a 2f 0d 0a 2e 61 63 68 74 75  able. */...achtu
80b0: 6e 67 20 7b 0d 0a 20 20 63 6f 6c 6f 72 3a 20 23  ng {..  color: #
80c0: 66 66 30 30 30 30 3b 0d 0a 20 20 62 61 63 6b 67  ff0000;..  backg
80d0: 72 6f 75 6e 64 3a 20 23 66 66 66 66 30 30 3b 0d  round: #ffff00;.
80e0: 0a 20 20 62 6f 72 64 65 72 3a 20 31 70 78 20 73  .  border: 1px s
80f0: 6f 6c 69 64 20 23 66 66 30 30 30 30 3b 0d 0a 7d  olid #ff0000;..}
8100: 0d 0a 0d 0a 74 61 62 6c 65 2e 66 6f 73 73 69 6c  ....table.fossil
8110: 5f 64 62 5f 67 65 6e 65 72 69 63 5f 71 75 65 72  _db_generic_quer
8120: 79 5f 76 69 65 77 20 7b 0d 0a 20 20 62 6f 72 64  y_view {..  bord
8130: 65 72 2d 73 70 61 63 69 6e 67 3a 20 30 70 78 3b  er-spacing: 0px;
8140: 0d 0a 20 20 62 6f 72 64 65 72 3a 20 31 70 78 20  ..  border: 1px 
8150: 73 6f 6c 69 64 20 62 6c 61 63 6b 3b 0d 0a 7d 0d  solid black;..}.
8160: 0a 74 61 62 6c 65 2e 66 6f 73 73 69 6c 5f 64 62  .table.fossil_db
8170: 5f 67 65 6e 65 72 69 63 5f 71 75 65 72 79 5f 76  _generic_query_v
8180: 69 65 77 20 74 64 20 7b 0d 0a 20 20 70 61 64 64  iew td {..  padd
8190: 69 6e 67 3a 20 32 70 78 20 31 65 6d 20 32 70 78  ing: 2px 1em 2px
81a0: 20 31 65 6d 3b 0d 0a 7d 0d 0a 74 61 62 6c 65 2e   1em;..}..table.
81b0: 66 6f 73 73 69 6c 5f 64 62 5f 67 65 6e 65 72 69  fossil_db_generi
81c0: 63 5f 71 75 65 72 79 5f 76 69 65 77 20 74 72 20  c_query_view tr 
81d0: 7b 0d 0a 7d 0d 0a 74 61 62 6c 65 2e 66 6f 73 73  {..}..table.foss
81e0: 69 6c 5f 64 62 5f 67 65 6e 65 72 69 63 5f 71 75  il_db_generic_qu
81f0: 65 72 79 5f 76 69 65 77 20 74 72 2e 65 76 65 6e  ery_view tr.even
8200: 20 7b 0d 0a 20 20 62 61 63 6b 67 72 6f 75 6e 64   {..  background
8210: 3a 20 23 66 66 66 66 66 66 3b 0d 0a 7d 0d 0a 74  : #ffffff;..}..t
8220: 61 62 6c 65 2e 66 6f 73 73 69 6c 5f 64 62 5f 67  able.fossil_db_g
8230: 65 6e 65 72 69 63 5f 71 75 65 72 79 5f 76 69 65  eneric_query_vie
8240: 77 20 74 72 2e 6f 64 64 20 7b 0d 0a 20 20 62 61  w tr.odd {..  ba
8250: 63 6b 67 72 6f 75 6e 64 3a 20 23 65 35 65 35 65  ckground: #e5e5e
8260: 35 3b 0d 0a 7d 0d 0a 74 61 62 6c 65 2e 66 6f 73  5;..}..table.fos
8270: 73 69 6c 5f 64 62 5f 67 65 6e 65 72 69 63 5f 71  sil_db_generic_q
8280: 75 65 72 79 5f 76 69 65 77 20 74 72 2e 68 65 61  uery_view tr.hea
8290: 64 65 72 20 7b 0d 0a 20 20 62 61 63 6b 67 72 6f  der {..  backgro
82a0: 75 6e 64 3a 20 23 35 35 38 31 39 35 3b 0d 0a 20  und: #558195;.. 
82b0: 20 66 6f 6e 74 2d 73 69 7a 65 3a 20 31 2e 35 65   font-size: 1.5e
82c0: 6d 3b 0d 0a 20 20 63 6f 6c 6f 72 3a 20 23 66 66  m;..  color: #ff
82d0: 66 66 66 66 3b 0d 0a 7d 0d 0a 3c 2f 70 72 65 3e  ffff;..}..</pre>
82e0: 0d 0a 3c 2f 6e 6f 77 69 6b 69 3e 0d 0a 3c 68 32  ..</nowiki>..<h2
82f0: 3e 3c 61 20 6e 61 6d 65 3d 22 73 6f 75 72 63 65  ><a name="source
8300: 2d 68 69 6c 69 67 68 74 22 3e 53 6f 75 72 63 65  -hilight">Source
8310: 20 68 69 67 68 6c 69 67 68 74 69 6e 67 3c 2f 61   highlighting</a
8320: 3e 3c 2f 68 32 3e 0d 0a 3c 68 33 3e 4d 6f 74 69  ></h2>..<h3>Moti
8330: 76 61 74 69 6f 6e 3c 2f 68 33 3e 0d 0a 20 20 2a  vation</h3>..  *
8340: 20 20 59 6f 75 20 77 61 6e 74 20 74 6f 20 68 61    You want to ha
8350: 76 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 68  ve source code h
8360: 69 67 68 6c 69 67 68 74 69 6e 67 20 66 6f 72 20  ighlighting for 
8370: 74 68 65 20 66 69 6c 65 73 20 69 6e 20 79 6f 75  the files in you
8380: 72 20 72 65 70 6f 73 69 74 6f 72 79 0d 0a 0d 0a  r repository....
8390: 3c 68 33 3e 50 72 6f 62 6c 65 6d 3c 2f 68 33 3e  <h3>Problem</h3>
83a0: 0d 0a 54 68 65 20 6d 61 69 6e 20 70 75 72 70 6f  ..The main purpo
83b0: 73 65 20 6f 66 20 46 6f 73 73 69 6c 20 69 73 20  se of Fossil is 
83c0: 74 6f 20 64 6f 20 76 65 72 73 69 6f 6e 69 6e 67  to do versioning
83d0: 20 66 6f 72 20 73 6f 75 72 63 65 20 63 6f 64 65   for source code
83e0: 2e 20 41 6c 74 68 6f 75 67 68 20 69 74 20 70 72  . Although it pr
83f0: 6f 76 69 64 65 73 20 61 20 73 74 61 6e 64 61 6c  ovides a standal
8400: 6f 6e 65 20 73 65 72 76 65 72 20 61 6e 64 20 6c  one server and l
8410: 65 74 73 20 79 6f 75 20 6e 61 76 69 67 61 74 65  ets you navigate
8420: 20 74 68 72 6f 75 67 68 20 74 68 65 20 72 65 70   through the rep
8430: 6f 73 69 74 6f 72 79 20 66 69 6c 65 73 20 61 64  ository files ad
8440: 64 69 74 69 6f 6e 61 6c 20 66 65 61 74 75 72 65  ditional feature
8450: 73 20 6c 69 6b 65 20 73 6f 75 72 63 65 20 63 6f  s like source co
8460: 64 65 20 68 69 67 68 6c 69 67 68 74 69 6e 67 20  de highlighting 
8470: 66 72 6f 6d 20 6d 79 20 70 65 72 73 70 65 63 74  from my perspect
8480: 69 76 65 20 28 49 20 61 6d 20 6e 6f 74 20 61 20  ive (I am not a 
8490: 64 65 76 65 6c 6f 70 65 72 20 6f 66 20 46 6f 73  developer of Fos
84a0: 73 69 6c 29 20 61 72 65 20 6f 75 74 20 6f 66 20  sil) are out of 
84b0: 73 63 6f 70 65 20 66 6f 72 20 61 6e 20 53 43 4d  scope for an SCM
84c0: 2e 20 4a 75 73 74 20 6b 65 65 70 20 74 68 65 20  . Just keep the 
84d0: 55 6e 69 78 20 70 72 69 6e 63 69 70 6c 65 3a 20  Unix principle: 
84e0: 73 6d 61 6c 6c 20 6c 69 74 74 6c 65 20 70 72 6f  small little pro
84f0: 67 72 61 6d 73 20 74 68 61 74 20 64 6f 20 74 68  grams that do th
8500: 65 69 72 20 74 61 73 6b 20 61 6e 64 20 64 6f 20  eir task and do 
8510: 69 74 20 77 65 6c 6c 2e 0d 0a 0d 0a 48 6f 77 65  it well.....Howe
8520: 76 65 72 20 74 6f 20 68 61 76 65 20 73 6f 75 72  ver to have sour
8530: 63 65 20 63 6f 64 65 20 68 69 67 68 6c 69 67 68  ce code highligh
8540: 74 65 64 20 69 6e 20 74 68 65 20 70 72 65 73 65  ted in the prese
8550: 6e 74 65 64 20 77 65 62 20 70 61 67 65 73 20 77  nted web pages w
8560: 6f 75 6c 64 20 73 74 69 6c 6c 20 62 65 20 64 65  ould still be de
8570: 73 69 72 61 62 6c 65 2e 0d 0a 0d 0a 3c 68 33 3e  sirable.....<h3>
8580: 53 6f 6c 75 74 69 6f 6e 3c 2f 68 33 3e 0d 0a 54  Solution</h3>..T
8590: 68 65 72 65 20 61 72 65 20 74 77 6f 20 73 63 65  here are two sce
85a0: 6e 61 72 69 6f 73 20 68 6f 77 20 74 6f 20 69 6d  narios how to im
85b0: 70 6c 65 6d 65 6e 74 20 73 75 63 68 20 61 20 66  plement such a f
85c0: 65 61 74 75 72 65 3a 0d 0a 20 20 20 2a 20 20 46  eature:..   *  F
85d0: 6f 73 73 69 6c 20 70 69 70 65 73 20 74 68 65 20  ossil pipes the 
85e0: 73 6f 75 72 63 65 20 63 6f 64 65 20 74 68 72 6f  source code thro
85f0: 75 67 68 20 61 20 66 69 6c 74 65 72 20 62 65 66  ugh a filter bef
8600: 6f 72 65 20 73 65 6e 64 69 6e 67 20 69 74 20 74  ore sending it t
8610: 6f 20 74 68 65 20 62 72 6f 77 73 65 72 2e 20 54  o the browser. T
8620: 68 65 20 66 69 6c 74 65 72 20 63 6f 75 6c 64 20  he filter could 
8630: 62 65 20 64 65 66 69 6e 65 64 20 61 73 20 61 20  be defined as a 
8640: 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 6f 70  configuration op
8650: 74 69 6f 6e 20 74 6f 20 46 6f 73 73 69 6c 2e 20  tion to Fossil. 
8660: 4f 6e 65 20 73 6f 6c 75 74 69 6f 6e 20 66 6f 72  One solution for
8670: 20 74 68 69 73 20 6d 69 67 68 74 20 62 65 20 74   this might be t
8680: 68 65 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70  he <a href="http
8690: 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 73  ://www.gnu.org/s
86a0: 6f 66 74 77 61 72 65 2f 73 72 63 2d 68 69 67 68  oftware/src-high
86b0: 6c 69 74 65 22 3e 47 4e 55 20 53 6f 75 72 63 65  lite">GNU Source
86c0: 20 63 6f 64 65 20 48 69 67 68 6c 69 67 68 74 69   code Highlighti
86d0: 6e 67 3c 2f 61 3e 20 70 72 6f 67 72 61 6d 2e 0d  ng</a> program..
86e0: 0a 20 20 20 2a 20 20 55 73 65 20 61 20 4a 61 76  .   *  Use a Jav
86f0: 61 73 63 72 69 70 74 20 6c 69 62 72 61 72 79 20  ascript library 
8700: 74 68 61 74 20 72 65 6e 64 65 72 73 20 74 68 65  that renders the
8710: 20 63 6f 64 65 20 77 69 74 68 69 6e 20 79 6f 75   code within you
8720: 72 20 62 72 6f 77 73 65 72 2e 20 4f 6e 65 20 73  r browser. One s
8730: 6f 6c 75 74 69 6f 6e 20 66 6f 72 20 74 68 69 73  olution for this
8740: 20 6d 69 67 68 74 20 62 65 20 3c 61 20 68 72 65   might be <a hre
8750: 66 3d 22 68 74 74 70 3a 2f 2f 61 6c 65 78 67 6f  f="http://alexgo
8760: 72 62 61 74 63 68 65 76 2e 63 6f 6d 2f 53 79 6e  rbatchev.com/Syn
8770: 74 61 78 48 69 67 68 6c 69 67 68 74 65 72 22 3e  taxHighlighter">
8780: 41 6c 65 78 20 47 6f 72 62 61 74 63 68 65 76 27  Alex Gorbatchev'
8790: 73 20 53 79 6e 74 61 78 20 48 69 67 68 6c 69 67  s Syntax Highlig
87a0: 68 74 65 72 3c 2f 61 3e 0d 0a 0d 0a 49 20 65 73  hter</a>....I es
87b0: 74 69 6d 61 74 65 20 74 68 61 74 20 74 68 65 20  timate that the 
87c0: 3c 69 3e 70 69 70 65 3c 2f 69 3e 20 73 6f 6c 75  <i>pipe</i> solu
87d0: 74 69 6f 6e 20 6e 65 65 64 73 20 73 6f 6d 65 20  tion needs some 
87e0: 6d 6f 72 65 20 77 6f 72 6b 2f 20 63 6f 64 65 20  more work/ code 
87f0: 63 68 61 6e 67 65 73 2e 20 54 68 75 73 20 49 20  changes. Thus I 
8800: 61 6d 20 73 6f 6c 65 6c 79 20 6c 6f 6f 6b 69 6e  am solely lookin
8810: 67 20 61 74 20 74 68 65 20 4a 61 76 61 73 63 72  g at the Javascr
8820: 69 70 74 20 73 6f 6c 75 74 69 6f 6e 2e 0d 0a 0d  ipt solution....
8830: 0a 54 68 65 20 53 79 6e 74 61 78 48 69 67 68 6c  .The SyntaxHighl
8840: 69 67 68 74 65 72 20 69 73 20 61 20 6c 69 62 72  ighter is a libr
8850: 61 72 79 20 6f 66 20 73 6f 6d 65 20 4a 61 76 61  ary of some Java
8860: 73 63 72 69 70 74 20 66 69 6c 65 73 20 61 6e 64  script files and
8870: 20 61 20 43 53 53 20 66 69 6c 65 2e 20 59 6f 75   a CSS file. You
8880: 20 68 61 76 65 20 74 68 65 20 6f 70 74 69 6f 6e   have the option
8890: 20 74 6f 20 69 6e 63 6c 75 64 65 20 61 6c 6c 20   to include all 
88a0: 74 68 65 20 66 69 6c 65 73 20 69 6e 74 6f 20 79  the files into y
88b0: 6f 75 72 20 72 65 70 6f 73 69 74 6f 72 79 2c 20  our repository, 
88c0: 70 75 74 20 74 68 65 6d 20 6f 6e 20 61 20 73 65  put them on a se
88d0: 72 76 65 72 20 79 6f 75 20 68 61 76 65 20 61 63  rver you have ac
88e0: 63 65 73 73 20 74 6f 20 6f 72 20 75 73 65 20 74  cess to or use t
88f0: 68 65 20 66 69 6c 65 73 20 68 6f 73 74 65 64 20  he files hosted 
8900: 61 74 20 61 6c 65 78 67 6f 72 62 61 74 63 68 65  at alexgorbatche
8910: 76 2e 63 6f 6d 2e 20 54 68 65 20 6c 61 74 74 65  v.com. The latte
8920: 72 20 6d 61 79 20 6f 6e 6c 79 20 62 65 20 61 6e  r may only be an
8930: 20 6f 70 74 69 6f 6e 20 69 66 20 79 6f 75 20 61   option if you a
8940: 72 65 20 63 6f 6e 6e 65 63 74 65 64 20 74 6f 20  re connected to 
8950: 69 6e 74 65 72 6e 65 74 20 61 6c 6c 20 74 68 65  internet all the
8960: 20 74 69 6d 65 2e 0d 0a 54 6f 20 61 64 64 20 74   time...To add t
8970: 68 65 20 73 79 6e 74 61 78 20 68 69 67 68 6c 69  he syntax highli
8980: 67 68 74 69 6e 67 20 63 6c 61 73 73 20 74 6f 20  ghting class to 
8990: 74 68 65 20 26 6c 74 3b 70 72 65 26 67 74 3b 20  the &lt;pre&gt; 
89a0: 65 6c 65 6d 65 6e 74 2c 20 79 6f 75 20 61 6c 73  element, you als
89b0: 6f 20 6e 65 65 64 20 61 20 63 6f 70 79 20 6f 66  o need a copy of
89c0: 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 3a 2f   <a href="http:/
89d0: 2f 6a 71 75 65 72 79 2e 63 6f 6d 2f 22 3e 6a 71  /jquery.com/">jq
89e0: 75 65 72 79 3c 2f 61 3e 20 69 6e 20 74 68 65 20  uery</a> in the 
89f0: 53 79 6e 74 61 78 48 69 67 68 6c 69 67 68 74 65  SyntaxHighlighte
8a00: 72 20 64 69 72 65 63 74 6f 72 79 2e 20 0d 0a 0d  r directory. ...
8a10: 0a 46 6f 72 20 73 79 6e 74 61 78 20 68 69 67 68  .For syntax high
8a20: 6c 69 67 68 74 69 6e 67 20 74 6f 20 77 6f 72 6b  lighting to work
8a30: 20 74 68 65 20 48 65 61 64 65 72 20 61 6e 64 20   the Header and 
8a40: 46 6f 6f 74 65 72 20 74 65 6d 70 6c 61 74 65 73  Footer templates
8a50: 20 6e 65 65 64 20 74 6f 20 62 65 20 6d 6f 64 69   need to be modi
8a60: 66 69 65 64 2e 0d 0a 0d 0a 54 68 65 20 65 78 61  fied.....The exa
8a70: 6d 70 6c 65 73 20 62 65 6c 6f 77 20 61 73 73 75  mples below assu
8a80: 6d 65 20 79 6f 75 20 68 61 76 65 20 61 64 64 65  me you have adde
8a90: 64 20 74 68 65 20 73 79 6e 74 61 78 20 68 69 67  d the syntax hig
8aa0: 68 6c 69 67 68 74 69 6e 67 20 6c 69 62 72 61 72  hlighting librar
8ab0: 79 20 74 6f 20 79 6f 75 72 20 72 65 70 6f 73 69  y to your reposi
8ac0: 74 6f 72 79 20 69 6e 74 6f 20 61 20 64 69 72 65  tory into a dire
8ad0: 63 74 6f 72 79 20 77 77 77 2f 53 79 6e 74 61 78  ctory www/Syntax
8ae0: 48 69 67 68 6c 69 67 68 74 65 72 2e 0d 0a 54 6f  Highlighter...To
8af0: 20 6d 61 6b 65 20 69 74 20 65 61 73 69 65 72 20   make it easier 
8b00: 74 6f 20 73 77 69 74 63 68 20 62 65 74 77 65 65  to switch betwee
8b10: 6e 20 74 68 65 20 73 63 72 69 70 74 73 20 62 65  n the scripts be
8b20: 65 69 6e 67 20 70 61 72 74 20 6f 66 20 74 68 65  eing part of the
8b30: 20 72 65 70 6f 73 69 74 6f 72 79 20 61 6e 64 20   repository and 
8b40: 74 68 65 20 73 63 72 69 70 74 73 20 62 65 65 69  the scripts beei
8b50: 6e 67 20 68 6f 73 74 65 64 20 6f 6e 20 74 68 65  ng hosted on the
8b60: 20 69 6e 74 65 72 6e 65 74 2c 20 74 68 65 20 68   internet, the h
8b70: 65 61 64 65 72 20 74 65 6d 70 6c 61 74 65 20 64  eader template d
8b80: 65 66 69 6e 65 73 20 74 77 6f 20 54 48 31 20 76  efines two TH1 v
8b90: 61 72 69 61 62 6c 65 73 3a 0d 0a 20 20 0d 0a 20  ariables:..  .. 
8ba0: 20 2a 20 20 68 69 67 68 6c 69 67 68 74 65 72 70   *  highlighterp
8bb0: 61 74 68 20 2d 20 75 73 65 64 20 66 6f 72 20 61  ath - used for a
8bc0: 6c 6c 20 72 65 66 65 72 65 6e 63 65 73 20 74 6f  ll references to
8bd0: 20 74 68 65 20 61 63 74 75 61 6c 20 6c 6f 63 61   the actual loca
8be0: 74 69 6f 6e 20 6f 66 20 74 68 65 20 53 79 6e 74  tion of the Synt
8bf0: 61 78 48 69 67 68 6c 69 67 68 74 65 72 2e 20 4a  axHighlighter. J
8c00: 75 73 74 20 73 65 74 20 74 68 6f 73 65 20 76 61  ust set those va
8c10: 72 69 61 62 6c 65 20 74 6f 20 74 68 65 20 62 61  riable to the ba
8c20: 73 65 70 61 74 68 20 6f 66 20 53 79 6e 74 61 78  sepath of Syntax
8c30: 48 69 67 68 6c 69 67 68 74 65 72 20 61 6e 64 20  Highlighter and 
8c40: 79 6f 75 27 72 65 20 64 6f 6e 65 2e 20 49 66 20  you're done. If 
8c50: 79 6f 75 20 77 6f 75 6c 64 20 6c 69 6b 65 20 74  you would like t
8c60: 6f 20 75 73 65 20 74 68 65 20 68 6f 73 74 65 64  o use the hosted
8c70: 20 76 65 72 73 69 6f 6e 20 61 74 20 61 6c 65 78   version at alex
8c80: 67 6f 72 62 61 74 63 68 65 76 2e 63 6f 6d 2c 20  gorbatchev.com, 
8c90: 72 65 70 6c 61 63 65 20 3c 69 3e 24 62 61 73 65  replace <i>$base
8ca0: 75 72 6c 2f 64 6f 63 2f 74 69 70 2f 77 77 77 2f  url/doc/tip/www/
8cb0: 53 79 6e 74 61 78 48 69 67 68 6c 69 67 68 74 65  SyntaxHighlighte
8cc0: 72 3c 2f 69 3e 20 77 69 74 68 20 3c 69 3e 68 74  r</i> with <i>ht
8cd0: 74 70 3a 2f 2f 61 6c 65 78 67 6f 72 62 61 74 63  tp://alexgorbatc
8ce0: 68 65 76 2e 63 6f 6d 2f 70 75 62 2f 73 68 2f 63  hev.com/pub/sh/c
8cf0: 75 72 72 65 6e 74 3c 2f 69 3e 0d 0a 20 20 2a 20  urrent</i>..  * 
8d00: 20 6a 71 75 65 72 79 70 61 74 68 20 20 2d 20 75   jquerypath  - u
8d10: 73 65 64 20 74 6f 20 64 65 66 69 6e 65 20 74 68  sed to define th
8d20: 65 20 6c 6f 63 61 74 69 6f 6e 20 6f 66 20 74 68  e location of th
8d30: 65 20 75 73 65 64 20 6a 71 75 65 72 79 20 73 63  e used jquery sc
8d40: 72 69 70 74 2e 20 49 66 20 79 6f 75 20 77 61 6e  ript. If you wan
8d50: 74 20 74 6f 20 75 73 65 20 61 20 68 6f 73 74 65  t to use a hoste
8d60: 64 20 76 65 72 73 69 6f 6e 2c 20 72 65 70 6c 61  d version, repla
8d70: 63 65 20 3c 69 3e 24 62 61 73 65 75 72 6c 2f 64  ce <i>$baseurl/d
8d80: 6f 63 2f 74 69 70 2f 77 77 77 2f 53 79 6e 74 61  oc/tip/www/Synta
8d90: 78 48 69 67 68 6c 69 67 68 74 65 72 2f 6a 71 75  xHighlighter/jqu
8da0: 65 72 79 2d 31 2e 35 2e 6d 69 6e 2e 6a 73 3c 2f  ery-1.5.min.js</
8db0: 69 3e 20 77 69 74 68 20 20 3c 69 3e 68 74 74 70  i> with  <i>http
8dc0: 3a 2f 2f 63 6f 64 65 2e 6a 71 75 65 72 79 2e 63  ://code.jquery.c
8dd0: 6f 6d 2f 6a 71 75 65 72 79 2d 31 2e 35 2e 6d 69  om/jquery-1.5.mi
8de0: 6e 2e 6a 73 3c 2f 69 3e 20 6f 72 20 6f 6e 65 20  n.js</i> or one 
8df0: 6f 66 20 74 68 65 20 6f 74 68 65 72 20 55 52 4c  of the other URL
8e00: 73 20 61 76 61 69 6c 62 6c 65 20 61 74 20 74 68  s availble at th
8e10: 65 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 3a  e <a href="http:
8e20: 2f 2f 64 6f 63 73 2e 6a 71 75 65 72 79 2e 63 6f  //docs.jquery.co
8e30: 6d 2f 44 6f 77 6e 6c 6f 61 64 69 6e 67 5f 6a 51  m/Downloading_jQ
8e40: 75 65 72 79 23 43 44 4e 5f 48 6f 73 74 65 64 5f  uery#CDN_Hosted_
8e50: 6a 51 75 65 72 79 22 3e 6a 71 75 65 72 79 20 64  jQuery">jquery d
8e60: 6f 77 6e 6c 6f 61 64 20 70 61 67 65 3c 2f 61 3e  ownload page</a>
8e70: 2e 0d 0a 0d 0a 3c 70 3e 0d 0a 3c 62 3e 48 65 61  .....<p>..<b>Hea
8e80: 64 65 72 3c 2f 62 3e 0d 0a 3c 70 72 65 3e 0d 0a  der</b>..<pre>..
8e90: 26 6c 74 3b 68 74 6d 6c 26 67 74 3b 0d 0a 20 26  &lt;html&gt;.. &
8ea0: 6c 74 3b 68 65 61 64 26 67 74 3b 0d 0a 20 26 6c  lt;head&gt;.. &l
8eb0: 74 3b 74 68 31 26 67 74 3b 0d 0a 20 20 20 73 65  t;th1&gt;..   se
8ec0: 74 20 68 69 67 68 6c 69 67 68 74 65 72 70 61 74  t highlighterpat
8ed0: 68 20 22 24 62 61 73 65 75 72 6c 2f 64 6f 63 2f  h "$baseurl/doc/
8ee0: 74 69 70 2f 77 77 77 2f 53 79 6e 74 61 78 48 69  tip/www/SyntaxHi
8ef0: 67 68 6c 69 67 68 74 65 72 22 0d 0a 20 20 20 73  ghlighter"..   s
8f00: 65 74 20 6a 71 75 65 72 79 70 61 74 68 20 22 24  et jquerypath "$
8f10: 62 61 73 65 75 72 6c 2f 64 6f 63 2f 74 69 70 2f  baseurl/doc/tip/
8f20: 77 77 77 2f 53 79 6e 74 61 78 48 69 67 68 6c 69  www/SyntaxHighli
8f30: 67 68 74 65 72 2f 6a 71 75 65 72 79 2d 31 2e 35  ghter/jquery-1.5
8f40: 2e 6d 69 6e 2e 6a 73 22 0d 0a 20 26 6c 74 3b 2f  .min.js".. &lt;/
8f50: 74 68 31 26 67 74 3b 20 0d 0a 20 26 6c 74 3b 74  th1&gt; .. &lt;t
8f60: 69 74 6c 65 26 67 74 3b 24 26 6c 74 3b 70 72 6f  itle&gt;$&lt;pro
8f70: 6a 65 63 74 5f 6e 61 6d 65 26 67 74 3b 3a 20 24  ject_name&gt;: $
8f80: 26 6c 74 3b 74 69 74 6c 65 26 67 74 3b 26 6c 74  &lt;title&gt;&lt
8f90: 3b 2f 74 69 74 6c 65 26 67 74 3b 0d 0a 20 26 6c  ;/title&gt;.. &l
8fa0: 74 3b 6c 69 6e 6b 20 72 65 6c 3d 22 61 6c 74 65  t;link rel="alte
8fb0: 72 6e 61 74 65 22 20 74 79 70 65 3d 22 61 70 70  rnate" type="app
8fc0: 6c 69 63 61 74 69 6f 6e 2f 72 73 73 2b 78 6d 6c  lication/rss+xml
8fd0: 22 20 74 69 74 6c 65 3d 22 52 53 53 20 46 65 65  " title="RSS Fee
8fe0: 64 22 20 68 72 65 66 3d 22 24 62 61 73 65 75 72  d" href="$baseur
8ff0: 6c 2f 74 69 6d 65 6c 69 6e 65 2e 72 73 73 22 26  l/timeline.rss"&
9000: 67 74 3b 0d 0a 20 26 6c 74 3b 6c 69 6e 6b 20 72  gt;.. &lt;link r
9010: 65 6c 3d 22 73 74 79 6c 65 73 68 65 65 74 22 20  el="stylesheet" 
9020: 68 72 65 66 3d 22 24 62 61 73 65 75 72 6c 2f 73  href="$baseurl/s
9030: 74 79 6c 65 2e 63 73 73 22 20 74 79 70 65 3d 22  tyle.css" type="
9040: 74 65 78 74 2f 63 73 73 22 20 6d 65 64 69 61 3d  text/css" media=
9050: 22 73 63 72 65 65 6e 22 26 67 74 3b 0d 0a 20 26  "screen"&gt;.. &
9060: 6c 74 3b 6c 69 6e 6b 20 72 65 6c 3d 22 73 74 79  lt;link rel="sty
9070: 6c 65 73 68 65 65 74 22 20 68 72 65 66 3d 22 24  lesheet" href="$
9080: 68 69 67 68 6c 69 67 68 74 65 72 70 61 74 68 2f  highlighterpath/
9090: 73 74 79 6c 65 73 2f 73 68 43 6f 72 65 44 65 66  styles/shCoreDef
90a0: 61 75 6c 74 2e 63 73 73 22 20 74 79 70 65 3d 22  ault.css" type="
90b0: 74 65 78 74 2f 63 73 73 22 20 6d 65 64 69 61 3d  text/css" media=
90c0: 22 73 63 72 65 65 6e 22 20 2f 26 67 74 3b 0d 0a  "screen" /&gt;..
90d0: 20 26 6c 74 3b 73 63 72 69 70 74 20 20 6c 61 6e   &lt;script  lan
90e0: 67 75 61 67 65 3d 22 6a 61 76 61 73 63 72 69 70  guage="javascrip
90f0: 74 22 20 73 72 63 3d 22 24 6a 71 75 65 72 79 70  t" src="$jqueryp
9100: 61 74 68 22 26 67 74 3b 26 6c 74 3b 2f 73 63 72  ath"&gt;&lt;/scr
9110: 69 70 74 26 67 74 3b 09 20 20 20 0d 0a 20 26 6c  ipt&gt;.   .. &l
9120: 74 3b 2f 68 65 61 64 26 67 74 3b 0d 0a 2e 20 2e  t;/head&gt;... .
9130: 20 2e 0d 0a 3c 2f 70 72 65 3e 0d 0a 3c 2f 70 3e   ...</pre>..</p>
9140: 3c 70 3e 0d 0a 3c 62 3e 46 6f 6f 74 65 72 3c 2f  <p>..<b>Footer</
9150: 62 3e 0d 0a 0d 0a 57 69 74 68 20 76 65 72 73 69  b>....With versi
9160: 6f 6e 20 33 2e 78 20 6f 66 20 53 79 6e 74 61 78  on 3.x of Syntax
9170: 48 69 67 68 6c 69 67 68 74 65 72 20 69 74 20 69  Highlighter it i
9180: 73 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 6c 6f  s possible to lo
9190: 61 64 20 74 68 65 20 6c 61 6e 67 75 61 67 65 20  ad the language 
91a0: 73 70 65 63 69 66 69 63 20 73 63 72 69 70 74 73  specific scripts
91b0: 20 6f 6e 20 64 65 6d 61 6e 64 2e 20 54 68 65 20   on demand. The 
91c0: 66 6f 6f 74 65 72 20 74 65 6d 70 6c 61 74 65 20  footer template 
91d0: 75 73 65 73 20 74 68 69 73 20 66 65 61 74 75 72  uses this featur
91e0: 65 20 74 6f 20 69 64 65 6e 74 69 66 79 20 74 68  e to identify th
91f0: 65 20 70 72 6f 67 72 61 6d 6d 69 6e 67 20 6c 61  e programming la
9200: 6e 67 75 61 67 65 20 6f 66 20 74 68 65 20 73 6f  nguage of the so
9210: 75 72 63 65 66 69 6c 65 20 62 79 20 6c 6f 6f 6b  urcefile by look
9220: 69 6e 67 20 61 74 20 74 68 65 20 65 78 74 65 6e  ing at the exten
9230: 73 69 6f 6e 20 6f 66 20 74 68 65 20 66 69 6c 65  sion of the file
9240: 20 61 6e 64 20 74 68 65 6e 20 61 64 64 73 20 74   and then adds t
9250: 68 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 62  he appropriate b
9260: 72 75 73 68 20 74 6f 20 74 68 65 20 26 6c 74 3b  rush to the &lt;
9270: 70 72 65 26 67 74 3b 20 65 6c 65 6d 65 6e 74 2e  pre&gt; element.
9280: 20 53 79 6e 74 61 78 48 69 67 68 6c 69 67 68 74   SyntaxHighlight
9290: 65 72 20 77 69 6c 6c 20 74 68 65 6e 20 6c 6f 61  er will then loa
92a0: 64 20 6f 6e 6c 79 20 74 68 65 20 62 72 75 73 68  d only the brush
92b0: 20 6e 65 65 64 65 64 20 74 6f 20 68 69 67 68 6c   needed to highl
92c0: 69 67 68 74 20 74 68 65 20 63 75 72 72 65 6e 74  ight the current
92d0: 20 70 61 67 65 2e 0d 0a 0d 0a 3c 70 72 65 3e 0d   page.....<pre>.
92e0: 0a 26 6c 74 3b 64 69 76 20 63 6c 61 73 73 3d 22  .&lt;div class="
92f0: 66 6f 6f 74 65 72 22 26 67 74 3b 0d 0a 46 6f 73  footer"&gt;..Fos
9300: 73 69 6c 20 76 65 72 73 69 6f 6e 20 24 6d 61 6e  sil version $man
9310: 69 66 65 73 74 5f 76 65 72 73 69 6f 6e 20 24 6d  ifest_version $m
9320: 61 6e 69 66 65 73 74 5f 64 61 74 65 0d 0a 26 6c  anifest_date..&l
9330: 74 3b 2f 64 69 76 26 67 74 3b 0d 0a 26 6c 74 3b  t;/div&gt;..&lt;
9340: 73 63 72 69 70 74 20 6c 61 6e 67 75 61 67 65 3d  script language=
9350: 22 6a 61 76 61 73 63 72 69 70 74 22 20 73 72 63  "javascript" src
9360: 3d 22 24 68 69 67 68 6c 69 67 68 74 65 72 70 61  ="$highlighterpa
9370: 74 68 2f 73 63 72 69 70 74 73 2f 73 68 43 6f 72  th/scripts/shCor
9380: 65 2e 6a 73 22 26 67 74 3b 26 6c 74 3b 2f 73 63  e.js"&gt;&lt;/sc
9390: 72 69 70 74 26 67 74 3b 0d 0a 26 6c 74 3b 73 63  ript&gt;..&lt;sc
93a0: 72 69 70 74 20 6c 61 6e 67 75 61 67 65 3d 22 6a  ript language="j
93b0: 61 76 61 73 63 72 69 70 74 22 20 73 72 63 3d 22  avascript" src="
93c0: 24 68 69 67 68 6c 69 67 68 74 65 72 70 61 74 68  $highlighterpath
93d0: 2f 73 63 72 69 70 74 73 2f 73 68 41 75 74 6f 6c  /scripts/shAutol
93e0: 6f 61 64 65 72 2e 6a 73 22 3e 26 6c 74 3b 2f 73  oader.js">&lt;/s
93f0: 63 72 69 70 74 26 67 74 3b 0d 0a 26 6c 74 3b 73  cript&gt;..&lt;s
9400: 63 72 69 70 74 20 6c 61 6e 67 75 61 67 65 3d 22  cript language="
9410: 6a 61 76 61 73 63 72 69 70 74 22 26 67 74 3b 0d  javascript"&gt;.
9420: 0a 66 75 6e 63 74 69 6f 6e 20 70 61 74 68 28 29  .function path()
9430: 0d 0a 7b 0d 0a 20 20 76 61 72 20 61 72 67 73 20  ..{..  var args 
9440: 3d 20 61 72 67 75 6d 65 6e 74 73 2c 20 72 65 73  = arguments, res
9450: 75 6c 74 20 3d 20 26 23 39 31 3b 26 23 39 33 3b  ult = &#91;&#93;
9460: 3b 20 20 20 20 20 20 20 0d 0a 20 20 66 6f 72 28  ;       ..  for(
9470: 76 61 72 20 69 20 3d 20 30 3b 20 69 20 3c 20 61  var i = 0; i < a
9480: 72 67 73 2e 6c 65 6e 67 74 68 3b 20 69 2b 2b 29  rgs.length; i++)
9490: 0d 0a 20 20 20 20 20 20 72 65 73 75 6c 74 2e 70  ..      result.p
94a0: 75 73 68 28 61 72 67 73 26 23 39 31 3b 69 26 23  ush(args&#91;i&#
94b0: 39 33 3b 2e 72 65 70 6c 61 63 65 28 27 40 27 2c  93;.replace('@',
94c0: 20 27 24 68 69 67 68 6c 69 67 68 74 65 72 70 61   '$highlighterpa
94d0: 74 68 2f 73 63 72 69 70 74 73 2f 27 29 29 3b 20  th/scripts/')); 
94e0: 20 20 20 20 20 20 0d 0a 20 20 72 65 74 75 72 6e        ..  return
94f0: 20 72 65 73 75 6c 74 0d 0a 7d 3b 0d 0a 2f 2f 20   result..};..// 
9500: 44 6f 20 74 68 65 20 68 69 67 68 6c 69 67 68 74  Do the highlight
9510: 69 6e 67 20 6f 6e 6c 79 20 6f 6e 20 61 72 74 69  ing only on arti
9520: 66 61 63 74 20 70 61 67 65 73 0d 0a 69 66 20 28  fact pages..if (
9530: 64 6f 63 75 6d 65 6e 74 2e 67 65 74 45 6c 65 6d  document.getElem
9540: 65 6e 74 73 42 79 54 61 67 4e 61 6d 65 28 22 74  entsByTagName("t
9550: 69 74 6c 65 22 29 26 23 39 31 3b 30 26 23 39 33  itle")&#91;0&#93
9560: 3b 2e 69 6e 6e 65 72 48 54 4d 4c 2e 69 6e 64 65  ;.innerHTML.inde
9570: 78 4f 66 28 22 41 72 74 69 66 61 63 74 22 29 20  xOf("Artifact") 
9580: 21 3d 20 2d 31 29 0d 0a 7b 0d 0a 20 20 20 20 2f  != -1)..{..    /
9590: 2f 20 74 72 79 20 74 6f 20 66 69 6e 64 20 6f 75  / try to find ou
95a0: 74 20 74 68 65 20 66 69 6c 65 20 74 79 70 65 20  t the file type 
95b0: 62 79 20 6c 6f 6f 6b 69 6e 67 20 61 74 20 74 68  by looking at th
95c0: 65 20 66 69 6c 65 20 6e 61 6d 65 73 20 65 78 74  e file names ext
95d0: 65 6e 73 69 6f 6e 0d 0a 20 20 20 20 76 61 72 20  ension..    var 
95e0: 66 69 6c 65 20 3d 20 64 6f 63 75 6d 65 6e 74 2e  file = document.
95f0: 67 65 74 45 6c 65 6d 65 6e 74 73 42 79 54 61 67  getElementsByTag
9600: 4e 61 6d 65 28 22 62 6c 6f 63 6b 71 75 6f 74 65  Name("blockquote
9610: 22 29 26 23 39 31 3b 30 26 23 39 33 3b 2e 67 65  ")&#91;0&#93;.ge
9620: 74 45 6c 65 6d 65 6e 74 73 42 79 54 61 67 4e 61  tElementsByTagNa
9630: 6d 65 28 22 61 22 29 26 23 39 31 3b 30 26 23 39  me("a")&#91;0&#9
9640: 33 3b 2e 69 6e 6e 65 72 48 54 4d 4c 3b 0d 0a 20  3;.innerHTML;.. 
9650: 20 20 20 76 61 72 20 65 78 74 50 6f 73 20 3d 20     var extPos = 
9660: 66 69 6c 65 2e 6c 61 73 74 49 6e 64 65 78 4f 66  file.lastIndexOf
9670: 28 22 2e 22 29 3b 0d 0a 20 20 20 20 76 61 72 20  (".");..    var 
9680: 65 78 74 65 6e 73 69 6f 6e 20 3d 20 22 22 3b 0d  extension = "";.
9690: 0a 20 20 20 20 69 66 20 28 65 78 74 50 6f 73 20  .    if (extPos 
96a0: 21 3d 20 2d 31 29 0d 0a 20 20 20 20 20 20 20 65  != -1)..       e
96b0: 78 74 65 6e 73 69 6f 6e 20 3d 20 66 69 6c 65 2e  xtension = file.
96c0: 73 75 62 73 74 72 69 6e 67 28 65 78 74 50 6f 73  substring(extPos
96d0: 20 2b 20 31 29 3b 0d 0a 20 20 20 20 2f 2f 20 73   + 1);..    // s
96e0: 65 74 20 61 20 64 65 66 61 75 6c 74 20 66 6f 72  et a default for
96f0: 20 65 78 74 65 6e 73 69 6f 6e 73 20 6e 6f 74 20   extensions not 
9700: 72 65 63 6f 67 6e 69 7a 65 64 0d 0a 20 20 20 20  recognized..    
9710: 76 61 72 20 62 72 75 73 68 20 3d 20 22 62 72 75  var brush = "bru
9720: 73 68 3a 20 74 65 78 74 22 3b 0d 0a 09 2f 2f 20  sh: text";...// 
9730: 63 68 65 63 6b 20 74 68 65 20 65 78 74 65 6e 73  check the extens
9740: 69 6f 6e 20 74 6f 20 73 65 6c 65 63 74 20 74 68  ion to select th
9750: 65 20 62 72 75 73 68 20 66 6f 72 20 68 69 67 68  e brush for high
9760: 6c 69 67 68 74 69 6e 67 0d 0a 20 20 20 20 69 66  lighting..    if
9770: 20 28 65 78 74 65 6e 73 69 6f 6e 20 3d 3d 20 22   (extension == "
9780: 63 73 22 29 0d 0a 20 20 20 20 20 20 20 20 62 72  cs")..        br
9790: 75 73 68 20 3d 20 22 62 72 75 73 68 3a 20 63 2d  ush = "brush: c-
97a0: 73 68 61 72 70 22 3b 0d 0a 20 20 20 20 65 6c 73  sharp";..    els
97b0: 65 20 69 66 20 28 65 78 74 65 6e 73 69 6f 6e 20  e if (extension 
97c0: 3d 3d 20 22 76 62 22 29 0d 0a 20 20 20 20 20 20  == "vb")..      
97d0: 20 20 62 72 75 73 68 20 3d 20 22 62 72 75 73 68    brush = "brush
97e0: 3a 20 76 62 22 3b 0d 0a 20 20 20 20 65 6c 73 65  : vb";..    else
97f0: 20 69 66 20 28 65 78 74 65 6e 73 69 6f 6e 20 3d   if (extension =
9800: 3d 20 22 78 6d 6c 22 20 7c 7c 20 65 78 74 65 6e  = "xml" || exten
9810: 73 69 6f 6e 20 3d 3d 20 22 78 73 64 22 20 7c 7c  sion == "xsd" ||
9820: 20 65 78 74 65 6e 73 69 6f 6e 20 3d 3d 20 22 78   extension == "x
9830: 73 6c 74 22 20 7c 7c 20 65 78 74 65 6e 73 69 6f  slt" || extensio
9840: 6e 20 3d 3d 20 22 61 6d 6c 22 20 7c 7c 20 65 78  n == "aml" || ex
9850: 74 65 6e 73 69 6f 6e 20 3d 3d 20 22 73 68 66 62  tension == "shfb
9860: 70 72 6f 6a 22 20 7c 7c 20 65 78 74 65 6e 73 69  proj" || extensi
9870: 6f 6e 20 3d 3d 20 22 63 73 70 72 6f 6a 22 29 0d  on == "csproj").
9880: 0a 20 20 20 20 20 20 20 20 62 72 75 73 68 20 3d  .        brush =
9890: 20 22 62 72 75 73 68 3a 20 78 6d 6c 22 3b 0d 0a   "brush: xml";..
98a0: 20 20 20 20 65 6c 73 65 20 69 66 20 28 65 78 74      else if (ext
98b0: 65 6e 73 69 6f 6e 20 3d 3d 20 22 63 6d 64 22 20  ension == "cmd" 
98c0: 7c 7c 20 65 78 74 65 6e 73 69 6f 6e 20 3d 3d 20  || extension == 
98d0: 22 73 68 22 29 0d 0a 20 20 20 20 20 20 20 20 62  "sh")..        b
98e0: 72 75 73 68 20 3d 20 22 62 72 75 73 68 3a 20 73  rush = "brush: s
98f0: 68 65 6c 6c 22 3b 0d 0a 20 20 20 20 65 6c 73 65  hell";..    else
9900: 20 69 66 20 28 65 78 74 65 6e 73 69 6f 6e 20 3d   if (extension =
9910: 3d 20 22 73 71 6c 22 29 0d 0a 20 20 20 20 20 20  = "sql")..      
9920: 20 20 62 72 75 73 68 20 3d 20 22 62 72 75 73 68    brush = "brush
9930: 3a 20 73 71 6c 22 3b 0d 0a 20 20 20 20 65 6c 73  : sql";..    els
9940: 65 20 69 66 20 28 65 78 74 65 6e 73 69 6f 6e 20  e if (extension 
9950: 3d 3d 20 22 63 22 20 7c 7c 20 65 78 74 65 6e 73  == "c" || extens
9960: 69 6f 6e 20 3d 3d 20 22 63 70 70 22 20 7c 7c 20  ion == "cpp" || 
9970: 65 78 74 65 6e 73 69 6f 6e 20 3d 3d 20 22 63 78  extension == "cx
9980: 78 22 20 7c 7c 20 65 78 74 65 6e 73 69 6f 6e 20  x" || extension 
9990: 3d 3d 20 22 63 63 22 20 7c 7c 20 65 78 74 65 6e  == "cc" || exten
99a0: 73 69 6f 6e 20 3d 3d 20 22 68 22 20 7c 7c 20 65  sion == "h" || e
99b0: 78 74 65 6e 73 69 6f 6e 20 3d 3d 20 22 68 70 70  xtension == "hpp
99c0: 22 29 0d 0a 20 20 20 20 20 20 20 20 62 72 75 73  ")..        brus
99d0: 68 20 3d 20 22 62 72 75 73 68 3a 20 63 70 70 22  h = "brush: cpp"
99e0: 3b 0d 0a 20 20 20 20 65 6c 73 65 20 69 66 20 28  ;..    else if (
99f0: 65 78 74 65 6e 73 69 6f 6e 20 3d 3d 20 22 6a 73  extension == "js
9a00: 22 29 0d 0a 20 20 20 20 20 20 20 20 62 72 75 73  ")..        brus
9a10: 68 20 3d 20 22 62 72 75 73 68 3a 20 6a 61 76 61  h = "brush: java
9a20: 73 63 72 69 70 74 22 3b 0d 0a 20 20 20 20 65 6c  script";..    el
9a30: 73 65 20 69 66 20 28 65 78 74 65 6e 73 69 6f 6e  se if (extension
9a40: 20 3d 3d 20 22 63 73 73 22 29 0d 0a 20 20 20 20   == "css")..    
9a50: 20 20 20 20 62 72 75 73 68 20 3d 20 22 62 72 75      brush = "bru
9a60: 73 68 3a 20 63 73 73 22 3b 0d 0a 20 20 20 20 65  sh: css";..    e
9a70: 6c 73 65 20 69 66 20 28 65 78 74 65 6e 73 69 6f  lse if (extensio
9a80: 6e 20 3d 3d 20 22 70 68 70 22 29 0d 0a 20 20 20  n == "php")..   
9a90: 20 20 20 20 20 62 72 75 73 68 20 3d 20 22 62 72       brush = "br
9aa0: 75 73 68 3a 20 70 68 70 22 3b 0d 0a 20 20 20 20  ush: php";..    
9ab0: 65 6c 73 65 20 69 66 20 28 65 78 74 65 6e 73 69  else if (extensi
9ac0: 6f 6e 20 3d 3d 20 22 70 6c 22 29 0d 0a 20 20 20  on == "pl")..   
9ad0: 20 20 20 20 20 62 72 75 73 68 20 3d 20 22 62 72       brush = "br
9ae0: 75 73 68 3a 20 70 65 72 6c 22 3b 0d 0a 20 20 20  ush: perl";..   
9af0: 20 65 6c 73 65 20 69 66 20 28 65 78 74 65 6e 73   else if (extens
9b00: 69 6f 6e 20 3d 3d 20 22 6a 61 76 61 22 29 0d 0a  ion == "java")..
9b10: 20 20 20 20 20 20 20 20 62 72 75 73 68 20 3d 20          brush = 
9b20: 22 62 72 75 73 68 3a 20 6a 61 76 61 22 3b 0d 0a  "brush: java";..
9b30: 20 20 20 20 65 6c 73 65 20 69 66 20 28 65 78 74      else if (ext
9b40: 65 6e 73 69 6f 6e 20 3d 3d 20 22 72 75 62 79 22  ension == "ruby"
9b50: 20 7c 7c 20 65 78 74 65 6e 73 69 6f 6e 20 3d 3d   || extension ==
9b60: 20 22 72 62 22 20 29 0d 0a 20 20 20 20 20 20 20   "rb" )..       
9b70: 20 62 72 75 73 68 20 3d 20 22 62 72 75 73 68 3a   brush = "brush:
9b80: 20 72 75 62 79 22 3b 0d 0a 20 20 20 20 65 6c 73   ruby";..    els
9b90: 65 20 69 66 20 28 65 78 74 65 6e 73 69 6f 6e 20  e if (extension 
9ba0: 3d 3d 20 22 70 79 22 29 0d 0a 20 20 20 20 20 20  == "py")..      
9bb0: 20 20 62 72 75 73 68 20 3d 20 22 62 72 75 73 68    brush = "brush
9bc0: 3a 20 70 79 74 68 6f 6e 22 3b 0d 0a 20 20 20 20  : python";..    
9bd0: 2f 2f 20 64 69 73 61 62 6c 65 20 74 68 65 20 68  // disable the h
9be0: 69 67 68 6c 69 67 68 74 65 72 20 74 6f 6f 6c 62  ighlighter toolb
9bf0: 61 72 0d 0a 20 20 20 20 62 72 75 73 68 20 3d 20  ar..    brush = 
9c00: 62 72 75 73 68 20 2b 20 22 3b 20 74 6f 6f 6c 62  brush + "; toolb
9c10: 61 72 3a 20 66 61 6c 73 65 3b 22 3b 0d 0a 09 2f  ar: false;";.../
9c20: 2f 20 41 64 64 20 74 68 65 20 62 72 75 73 68 20  / Add the brush 
9c30: 74 6f 20 74 68 65 20 70 72 65 20 65 6c 65 6d 65  to the pre eleme
9c40: 6e 74 20 77 68 69 63 68 20 63 6f 6e 74 61 69 6e  nt which contain
9c50: 73 20 74 68 65 20 73 6f 75 72 63 65 20 66 69 6c  s the source fil
9c60: 65 0d 0a 20 20 20 20 24 28 22 70 72 65 3a 6c 61  e..    $("pre:la
9c70: 73 74 22 29 2e 61 64 64 43 6c 61 73 73 28 62 72  st").addClass(br
9c80: 75 73 68 29 3b 0d 0a 09 2f 2f 20 69 6e 69 74 69  ush);...// initi
9c90: 61 6c 69 7a 65 20 53 79 6e 74 61 78 48 69 67 68  alize SyntaxHigh
9ca0: 6c 69 67 68 74 65 72 27 73 20 61 75 74 6f 6c 6f  lighter's autolo
9cb0: 61 64 65 72 0d 0a 20 20 20 20 53 79 6e 74 61 78  ader..    Syntax
9cc0: 48 69 67 68 6c 69 67 68 74 65 72 2e 61 75 74 6f  Highlighter.auto
9cd0: 6c 6f 61 64 65 72 2e 61 70 70 6c 79 28 6e 75 6c  loader.apply(nul
9ce0: 6c 2c 20 70 61 74 68 28 0d 0a 09 09 27 61 70 70  l, path(....'app
9cf0: 6c 65 73 63 72 69 70 74 20 20 20 20 20 20 20 20  lescript        
9d00: 20 20 20 20 40 73 68 42 72 75 73 68 41 70 70 6c      @shBrushAppl
9d10: 65 53 63 72 69 70 74 2e 6a 73 27 2c 0d 0a 09 09  eScript.js',....
9d20: 27 61 63 74 69 6f 6e 73 63 72 69 70 74 33 20 61  'actionscript3 a
9d30: 73 33 20 20 20 20 20 20 40 73 68 42 72 75 73 68  s3      @shBrush
9d40: 41 53 33 2e 6a 73 27 2c 0d 0a 09 09 27 62 61 73  AS3.js',....'bas
9d50: 68 20 73 68 65 6c 6c 20 20 20 20 20 20 20 20 20  h shell         
9d60: 20 20 20 20 40 73 68 42 72 75 73 68 42 61 73 68      @shBrushBash
9d70: 2e 6a 73 27 2c 0d 0a 09 09 27 63 6f 6c 64 66 75  .js',....'coldfu
9d80: 73 69 6f 6e 20 63 66 20 20 20 20 20 20 20 20 20  sion cf         
9d90: 20 40 73 68 42 72 75 73 68 43 6f 6c 64 46 75 73   @shBrushColdFus
9da0: 69 6f 6e 2e 6a 73 27 2c 0d 0a 09 09 27 63 70 70  ion.js',....'cpp
9db0: 20 63 20 20 20 20 20 20 20 20 20 20 20 20 20 20   c              
9dc0: 20 20 20 20 40 73 68 42 72 75 73 68 43 70 70 2e      @shBrushCpp.
9dd0: 6a 73 27 2c 0d 0a 09 09 27 63 23 20 63 2d 73 68  js',....'c# c-sh
9de0: 61 72 70 20 63 73 68 61 72 70 20 20 20 20 20 20  arp csharp      
9df0: 40 73 68 42 72 75 73 68 43 53 68 61 72 70 2e 6a  @shBrushCSharp.j
9e00: 73 27 2c 0d 0a 09 09 27 63 73 73 20 20 20 20 20  s',....'css     
9e10: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 40                 @
9e20: 73 68 42 72 75 73 68 43 73 73 2e 6a 73 27 2c 0d  shBrushCss.js',.
9e30: 0a 09 09 27 64 65 6c 70 68 69 20 70 61 73 63 61  ...'delphi pasca
9e40: 6c 20 20 20 20 20 20 20 20 20 20 40 73 68 42 72  l          @shBr
9e50: 75 73 68 44 65 6c 70 68 69 2e 6a 73 27 2c 0d 0a  ushDelphi.js',..
9e60: 09 09 27 64 69 66 66 20 70 61 74 63 68 20 70 61  ..'diff patch pa
9e70: 73 20 20 20 20 20 20 20 20 20 40 73 68 42 72 75  s         @shBru
9e80: 73 68 44 69 66 66 2e 6a 73 27 2c 0d 0a 09 09 27  shDiff.js',....'
9e90: 65 72 6c 20 65 72 6c 61 6e 67 20 20 20 20 20 20  erl erlang      
9ea0: 20 20 20 20 20 20 20 40 73 68 42 72 75 73 68 45         @shBrushE
9eb0: 72 6c 61 6e 67 2e 6a 73 27 2c 0d 0a 09 09 27 67  rlang.js',....'g
9ec0: 72 6f 6f 76 79 20 20 20 20 20 20 20 20 20 20 20  roovy           
9ed0: 20 20 20 20 20 20 40 73 68 42 72 75 73 68 47 72        @shBrushGr
9ee0: 6f 6f 76 79 2e 6a 73 27 2c 0d 0a 09 09 27 6a 61  oovy.js',....'ja
9ef0: 76 61 20 20 20 20 20 20 20 20 20 20 20 20 20 20  va              
9f00: 20 20 20 20 20 40 73 68 42 72 75 73 68 4a 61 76       @shBrushJav
9f10: 61 2e 6a 73 27 2c 0d 0a 09 09 27 6a 66 78 20 6a  a.js',....'jfx j
9f20: 61 76 61 66 78 20 20 20 20 20 20 20 20 20 20 20  avafx           
9f30: 20 20 40 73 68 42 72 75 73 68 4a 61 76 61 46 58    @shBrushJavaFX
9f40: 2e 6a 73 27 2c 0d 0a 09 09 27 6a 73 20 6a 73 63  .js',....'js jsc
9f50: 72 69 70 74 20 6a 61 76 61 73 63 72 69 70 74 20  ript javascript 
9f60: 20 40 73 68 42 72 75 73 68 4a 53 63 72 69 70 74   @shBrushJScript
9f70: 2e 6a 73 27 2c 0d 0a 09 09 27 70 65 72 6c 20 70  .js',....'perl p
9f80: 6c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  l               
9f90: 20 40 73 68 42 72 75 73 68 50 65 72 6c 2e 6a 73   @shBrushPerl.js
9fa0: 27 2c 0d 0a 09 09 27 70 68 70 20 20 20 20 20 20  ',....'php      
9fb0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 40 73                @s
9fc0: 68 42 72 75 73 68 50 68 70 2e 6a 73 27 2c 0d 0a  hBrushPhp.js',..
9fd0: 09 09 27 74 65 78 74 20 70 6c 61 69 6e 20 20 20  ..'text plain   
9fe0: 20 20 20 20 20 20 20 20 20 20 40 73 68 42 72 75            @shBru
9ff0: 73 68 50 6c 61 69 6e 2e 6a 73 27 2c 0d 0a 09 09  shPlain.js',....
a000: 27 70 79 20 70 79 74 68 6f 6e 20 20 20 20 20 20  'py python      
a010: 20 20 20 20 20 20 20 20 40 73 68 42 72 75 73 68          @shBrush
a020: 50 79 74 68 6f 6e 2e 6a 73 27 2c 0d 0a 09 09 27  Python.js',....'
a030: 72 75 62 79 20 72 61 69 6c 73 20 72 6f 72 20 72  ruby rails ror r
a040: 62 20 20 20 20 20 20 40 73 68 42 72 75 73 68 52  b      @shBrushR
a050: 75 62 79 2e 6a 73 27 2c 0d 0a 09 09 27 73 61 73  uby.js',....'sas
a060: 73 20 73 63 73 73 20 20 20 20 20 20 20 20 20 20  s scss          
a070: 20 20 20 20 40 73 68 42 72 75 73 68 53 61 73 73      @shBrushSass
a080: 2e 6a 73 27 2c 0d 0a 09 09 27 73 63 61 6c 61 20  .js',....'scala 
a090: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
a0a0: 20 40 73 68 42 72 75 73 68 53 63 61 6c 61 2e 6a   @shBrushScala.j
a0b0: 73 27 2c 0d 0a 09 09 27 73 71 6c 20 20 20 20 20  s',....'sql     
a0c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 40                 @
a0d0: 73 68 42 72 75 73 68 53 71 6c 2e 6a 73 27 2c 0d  shBrushSql.js',.
a0e0: 0a 09 09 27 76 62 20 76 62 6e 65 74 20 20 20 20  ...'vb vbnet    
a0f0: 20 20 20 20 20 20 20 20 20 20 20 40 73 68 42 72             @shBr
a100: 75 73 68 56 62 2e 6a 73 27 2c 0d 0a 09 09 27 78  ushVb.js',....'x
a110: 6d 6c 20 78 68 74 6d 6c 20 78 73 6c 74 20 68 74  ml xhtml xslt ht
a120: 6d 6c 20 20 20 20 40 73 68 42 72 75 73 68 58 6d  ml    @shBrushXm
a130: 6c 2e 6a 73 27 0d 0a 09 29 29 3b 0d 0a 20 20 20  l.js'...));..   
a140: 20 2f 2f 20 61 6e 64 20 66 69 6e 61 6c 6c 79 20   // and finally 
a150: 68 69 67 68 6c 69 67 68 74 20 69 74 0d 0a 20 20  highlight it..  
a160: 20 20 53 79 6e 74 61 78 48 69 67 68 6c 69 67 68    SyntaxHighligh
a170: 74 65 72 2e 61 6c 6c 28 29 0d 0a 7d 0d 0a 26 6c  ter.all()..}..&l
a180: 74 3b 2f 73 63 72 69 70 74 26 67 74 3b 0d 0a 26  t;/script&gt;..&
a190: 6c 74 3b 2f 62 6f 64 79 26 67 74 3b 26 6c 74 3b  lt;/body&gt;&lt;
a1a0: 2f 68 74 6d 6c 26 67 74 3b 0d 0a 3c 2f 70 72 65  /html&gt;..</pre
a1b0: 3e 0d 0a 3c 2f 70 3e 0d 0a 3c 68 32 3e 3c 61 20  >..</p>..<h2><a 
a1c0: 6e 61 6d 65 3d 22 77 69 6e 33 32 64 65 76 22 3e  name="win32dev">
a1d0: 48 6f 77 20 74 6f 20 70 72 65 70 61 72 65 20 79  How to prepare y
a1e0: 6f 75 72 20 57 69 6e 64 6f 77 73 20 58 50 20 46  our Windows XP F
a1f0: 6f 73 73 69 6c 20 64 65 76 65 6c 6f 70 6d 65 6e  ossil developmen
a200: 74 20 45 6e 76 69 72 6f 6e 6d 65 6e 74 3c 2f 61  t Environment</a
a210: 3e 3c 2f 68 32 3e 0d 0a 3c 68 34 3e 4d 69 6e 47  ></h2>..<h4>MinG
a220: 57 2b 4e 53 49 53 2f 57 69 58 3c 2f 68 34 3e 0d  W+NSIS/WiX</h4>.
a230: 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 53 65 74 75 70  .<ul>..<li>Setup
a240: 20 54 43 4c 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 53   TCL</li>..<li>S
a250: 65 74 75 70 20 4d 69 6e 47 57 3c 2f 6c 69 3e 0d  etup MinGW</li>.
a260: 0a 3c 6c 69 3e 47 65 74 74 69 6e 67 20 4e 53 49  .<li>Getting NSI
a270: 53 20 57 69 6e 64 6f 77 73 20 70 61 63 6b 61 67  S Windows packag
a280: 69 6e 67 20 74 6f 6f 6c 20 3c 2f 6c 69 3e 0d 0a  ing tool </li>..
a290: 3c 6c 69 3e 47 65 74 74 69 6e 67 20 46 6f 73 73  <li>Getting Foss
a2a0: 69 6c 20 73 6f 75 72 63 65 20 63 6f 64 65 3c 2f  il source code</
a2b0: 6c 69 3e 0d 0a 3c 6c 69 3e 42 75 69 6c 64 20 74  li>..<li>Build t
a2c0: 68 65 20 63 6f 64 65 20 77 69 74 68 20 4d 61 6b  he code with Mak
a2d0: 65 66 69 6c 65 2e 77 69 6e 33 32 20 3c 2f 6c 69  efile.win32 </li
a2e0: 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 68 34 3e 56 69  >..</ul>..<h4>Vi
a2f0: 73 75 61 6c 20 53 74 75 64 69 6f 20 45 78 70 72  sual Studio Expr
a300: 65 73 73 20 32 30 30 38 2b 57 69 58 3c 2f 68 34  ess 2008+WiX</h4
a310: 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 53 65 74  >..<ul>..<li>Set
a320: 75 70 20 54 43 4c 3c 2f 6c 69 3e 0d 0a 3c 6c 69  up TCL</li>..<li
a330: 3e 53 65 74 75 70 20 56 53 32 30 30 38 3c 2f 6c  >Setup VS2008</l
a340: 69 3e 0d 0a 3c 6c 69 3e 47 65 74 74 69 6e 67 20  i>..<li>Getting 
a350: 57 69 58 20 57 69 6e 64 6f 77 73 20 4d 53 49 20  WiX Windows MSI 
a360: 74 6f 6f 6c 20 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  tool </li>..<li>
a370: 47 65 74 74 69 6e 67 20 46 6f 73 73 69 6c 20 73  Getting Fossil s
a380: 6f 75 72 63 65 20 63 6f 64 65 3c 2f 6c 69 3e 0d  ource code</li>.
a390: 0a 3c 6c 69 3e 42 75 69 6c 64 20 74 68 65 20 63  .<li>Build the c
a3a0: 6f 64 65 20 77 69 74 68 20 4d 61 6b 65 66 69 6c  ode with Makefil
a3b0: 65 2e 77 69 6e 33 32 3c 2f 6c 69 3e 0d 0a 3c 2f  e.win32</li>..</
a3c0: 75 6c 3e 0d 0a 0d 0a 3c 68 32 3e 3c 61 20 6e 61  ul>....<h2><a na
a3d0: 6d 65 3d 22 77 79 73 69 77 69 67 22 3e 4a 61 76  me="wysiwig">Jav
a3e0: 61 73 63 72 69 70 74 20 48 54 4d 4c 20 57 59 53  ascript HTML WYS
a3f0: 49 57 59 47 20 65 64 69 74 6f 72 20 63 6f 6e 74  IWYG editor cont
a400: 72 6f 6c 3c 2f 61 3e 3c 2f 68 32 3e 0d 0a 3c 68  rol</a></h2>..<h
a410: 33 3e 4d 6f 74 69 76 61 74 69 6f 6e 3c 2f 68 33  3>Motivation</h3
a420: 3e 0d 0a 20 20 2a 20 20 59 6f 75 20 77 61 6e 74  >..  *  You want
a430: 20 74 6f 20 65 64 69 74 20 74 68 65 20 77 69 6b   to edit the wik
a440: 69 20 70 61 67 65 73 20 77 69 74 68 20 61 20 6e  i pages with a n
a450: 69 63 65 20 65 64 69 74 6f 72 20 63 6f 6d 70 6f  ice editor compo
a460: 6e 65 6e 74 2c 20 69 6e 73 74 65 61 64 20 6f 66  nent, instead of
a470: 20 75 73 69 6e 67 20 70 6c 61 69 6e 20 48 54 4d   using plain HTM
a480: 4c 2e 0d 0a 0d 0a 3c 68 33 3e 50 72 6f 62 6c 65  L.....<h3>Proble
a490: 6d 3c 2f 68 33 3e 0d 0a 46 6f 73 73 69 6c 20 62  m</h3>..Fossil b
a4a0: 79 20 69 74 73 65 6c 66 20 64 6f 65 73 6e 27 74  y itself doesn't
a4b0: 20 73 75 70 70 6f 72 74 20 69 74 2e 0d 0a 0d 0a   support it.....
a4c0: 3c 68 33 3e 53 6f 6c 75 74 69 6f 6e 3c 2f 68 33  <h3>Solution</h3
a4d0: 3e 0d 0a 54 68 65 72 65 20 61 72 65 20 70 75 72  >..There are pur
a4e0: 65 20 6a 61 76 61 73 63 72 69 70 74 20 65 64 69  e javascript edi
a4f0: 74 6f 72 20 63 6f 6d 70 6f 6e 65 6e 74 73 20 74  tor components t
a500: 68 61 74 20 63 61 6e 20 62 65 20 75 73 65 64 20  hat can be used 
a510: 66 6f 72 20 74 68 69 73 20 74 61 73 6b 2e 0d 0a  for this task...
a520: 54 68 65 20 73 6f 75 72 63 65 20 66 6f 72 20 74  The source for t
a530: 68 65 20 65 64 69 74 6f 72 20 63 6f 6d 70 6f 6e  he editor compon
a540: 65 6e 74 20 69 73 20 61 64 64 65 64 20 74 6f 20  ent is added to 
a550: 74 68 65 20 72 65 70 6f 73 69 74 6f 72 79 2e 20  the repository. 
a560: 54 68 65 20 68 74 6d 6c 20 68 65 61 64 65 72 20  The html header 
a570: 6f 72 20 66 6f 6f 74 65 72 20 69 73 20 70 72 65  or footer is pre
a580: 70 61 72 65 64 20 74 6f 20 69 6e 63 6c 75 64 65  pared to include
a590: 20 61 20 6a 61 76 61 73 63 72 69 70 74 20 66 69   a javascript fi
a5a0: 6c 65 20 61 6e 64 2f 6f 72 20 61 20 43 53 53 2e  le and/or a CSS.
a5b0: 0d 0a 3c 62 72 3e 0d 0a 54 68 65 73 65 20 74 77  ..<br>..These tw
a5c0: 6f 20 74 69 70 73 20 61 72 65 20 66 72 6f 6d 20  o tips are from 
a5d0: 74 68 65 20 6d 61 69 6c 69 6e 67 20 6c 69 73 74  the mailing list
a5e0: 3a 0d 0a 52 65 6e 65 20 64 65 20 5a 77 61 72 74  :..Rene de Zwart
a5f0: 20 33 30 2e 20 4f 63 74 2e 20 32 30 30 39 0d 0a   30. Oct. 2009..
a600: 0d 0a 0d 0a 3c 61 20 6e 61 6d 65 3d 22 74 69 6e  ....<a name="tin
a610: 79 6d 63 65 22 3e 3c 68 34 3e 54 69 6e 79 4d 43  ymce"><h4>TinyMC
a620: 45 3c 2f 68 34 3e 3c 2f 61 3e 0d 0a 3c 70 3e 0d  E</h4></a>..<p>.
a630: 0a 53 6f 75 72 63 65 3a 20 3c 61 20 68 72 65 66  .Source: <a href
a640: 3d 22 68 74 74 70 3a 2f 2f 74 69 6e 79 6d 63 65  ="http://tinymce
a650: 2e 6d 6f 78 69 65 63 6f 64 65 2e 63 6f 6d 2f 22  .moxiecode.com/"
a660: 3e 20 54 69 6e 79 4d 43 45 20 3c 2f 61 3e 0d 0a  > TinyMCE </a>..
a670: 3c 2f 70 3e 0d 0a 3c 68 35 3e 20 45 78 61 6d 70  </p>..<h5> Examp
a680: 6c 65 3c 2f 68 35 3e 0d 0a 3c 70 72 65 20 63 6c  le</h5>..<pre cl
a690: 61 73 73 3d 22 76 65 72 62 61 74 69 6d 22 3e 0d  ass="verbatim">.
a6a0: 0a 20 20 20 20 6d 6b 64 69 72 20 74 69 6e 79 0d  .    mkdir tiny.
a6b0: 0a 20 20 20 20 6d 6b 64 69 72 20 74 69 6e 79 2f  .    mkdir tiny/
a6c0: 6a 61 76 61 73 63 72 69 70 74 0d 0a 20 20 20 20  javascript..    
a6d0: 66 6f 73 73 69 6c 20 6e 65 77 20 74 69 6e 79 6d  fossil new tinym
a6e0: 63 65 2e 66 73 6c 0d 0a 20 20 20 20 66 6f 73 73  ce.fsl..    foss
a6f0: 69 6c 20 75 69 20 74 69 6e 79 6d 63 65 2e 66 73  il ui tinymce.fs
a700: 6c 20 7b 63 6f 6e 66 69 67 75 72 65 20 74 68 65  l {configure the
a710: 20 70 72 6f 6a 65 63 74 29 0d 0a 20 20 20 20 64   project)..    d
a720: 6f 77 6e 6c 6f 61 64 20 74 69 6e 79 6d 63 65 0d  ownload tinymce.
a730: 0a 20 20 20 20 75 6e 7a 69 70 20 69 6e 20 74 69  .    unzip in ti
a740: 6e 79 2f 6a 61 76 61 73 63 72 69 70 74 0d 0a 20  ny/javascript.. 
a750: 20 20 20 63 64 20 74 69 6e 79 0d 0a 20 20 20 20     cd tiny..    
a760: 66 6f 73 73 69 6c 20 6f 70 65 6e 20 2e 2e 2f 74  fossil open ../t
a770: 69 6e 79 6d 63 65 2e 66 73 6c 0d 0a 20 20 20 20  inymce.fsl..    
a780: 66 6f 73 73 69 6c 20 61 64 64 20 6a 61 76 61 73  fossil add javas
a790: 63 72 69 70 74 0d 0a 20 20 20 20 66 6f 73 73 69  cript..    fossi
a7a0: 6c 20 63 6f 6d 6d 69 74 20 2d 6d 20 22 61 64 64  l commit -m "add
a7b0: 65 64 20 74 69 6d 79 6d 63 65 20 74 6f 20 74 68  ed timymce to th
a7c0: 65 20 70 72 6f 6a 65 63 74 22 0d 0a 20 20 20 20  e project"..    
a7d0: 66 6f 73 73 69 6c 20 75 69 0d 0a 3c 2f 70 72 65  fossil ui..</pre
a7e0: 3e 0d 0a 53 65 6c 65 63 74 20 61 64 6d 69 6e 2f  >..Select admin/
a7f0: 68 65 61 64 65 72 73 20 61 64 64 20 61 66 74 65  headers add afte
a800: 72 20 74 68 65 20 26 6c 74 3b 2f 6c 69 6e 6b 26  r the &lt;/link&
a810: 67 74 3b 0d 0a 3c 70 72 65 20 63 6c 61 73 73 3d  gt;..<pre class=
a820: 22 76 65 72 62 61 74 69 6d 22 3e 0d 0a 20 26 6c  "verbatim">.. &l
a830: 74 3b 74 68 31 26 67 74 3b 0d 0a 20 20 20 69 66  t;th1&gt;..   if
a840: 20 7b 20 22 74 6b 74 6e 65 77 22 20 65 71 20 24   { "tktnew" eq $
a850: 63 75 72 72 65 6e 74 5f 70 61 67 65 20 0d 0a 20  current_page .. 
a860: 20 20 09 7c 7c 20 22 74 6b 74 65 64 69 74 22 20    .|| "tktedit" 
a870: 65 71 20 24 63 75 72 72 65 6e 74 5f 70 61 67 65  eq $current_page
a880: 20 0d 0a 20 20 20 09 7c 7c 20 22 77 69 6b 69 65   ..   .|| "wikie
a890: 64 69 74 22 20 65 71 20 24 63 75 72 72 65 6e 74  dit" eq $current
a8a0: 5f 70 61 67 65 20 0d 0a 20 20 20 09 7c 7c 20 22  _page ..   .|| "
a8b0: 77 69 6b 69 61 70 70 65 6e 64 22 20 65 71 20 24  wikiappend" eq $
a8c0: 63 75 72 72 65 6e 74 5f 70 61 67 65 20 7d 20 7b  current_page } {
a8d0: 0d 0a 20 20 20 20 20 20 20 68 74 6d 6c 20 22 3c  ..       html "<
a8e0: 73 63 72 69 70 74 20 74 79 70 65 3d 27 74 65 78  script type='tex
a8f0: 74 2f 6a 61 76 61 73 63 72 69 70 74 27 5c 6e 22  t/javascript'\n"
a900: 0d 0a 20 20 20 20 20 20 20 68 74 6d 6c 20 22 73  ..       html "s
a910: 72 63 3d 27 2f 64 6f 63 2f 74 69 70 2f 6a 61 76  rc='/doc/tip/jav
a920: 61 73 63 72 69 70 74 2f 74 69 6e 79 6d 63 65 2f  ascript/tinymce/
a930: 6a 73 63 72 69 70 74 73 2f 74 69 6e 79 5f 6d 63  jscripts/tiny_mc
a940: 65 2f 74 69 6e 79 5f 6d 63 65 2e 6a 73 27 3e 5c  e/tiny_mce.js'>\
a950: 6e 22 0d 0a 20 20 20 20 20 20 20 68 74 6d 6c 20  n"..       html 
a960: 22 3c 2f 73 63 72 69 70 74 3e 5c 6e 22 0d 0a 20  "</script>\n".. 
a970: 20 20 20 20 20 20 68 74 6d 6c 20 22 20 3c 73 63        html " <sc
a980: 72 69 70 74 20 74 79 70 65 3d 27 74 65 78 74 2f  ript type='text/
a990: 6a 61 76 61 73 63 72 69 70 74 27 3e 5c 6e 22 0d  javascript'>\n".
a9a0: 0a 20 20 20 20 20 20 20 70 75 74 73 20 22 74 69  .       puts "ti
a9b0: 6e 79 4d 43 45 2e 69 6e 69 74 28 7b 20 6d 6f 64  nyMCE.init({ mod
a9c0: 65 20 3a 20 27 73 70 65 63 69 66 69 63 5f 74 65  e : 'specific_te
a9d0: 78 74 61 72 65 61 73 27 20 2c 20 65 64 69 74 6f  xtareas' , edito
a9e0: 72 5f 73 65 6c 65 63 74 6f 72 20 3a 20 27 77 69  r_selector : 'wi
a9f0: 6b 69 65 64 69 74 27 2c 20 74 68 65 6d 65 3a 20  kiedit', theme: 
aa00: 27 61 64 76 61 6e 63 65 64 27 2c 77 69 64 74 68  'advanced',width
aa10: 20 3a 20 27 39 30 25 27 20 7d 20 29 3b 22 0d 0a   : '90%' } );"..
aa20: 20 20 20 20 20 20 20 68 74 6d 6c 20 22 3c 2f 73         html "</s
aa30: 63 72 69 70 74 3e 5c 6e 22 0d 0a 20 20 20 7d 0d  cript>\n"..   }.
aa40: 0a 26 6c 74 3b 2f 74 68 31 26 67 74 3b 0d 0a 3c  .&lt;/th1&gt;..<
aa50: 2f 70 72 65 3e 0d 0a 61 6e 64 20 73 61 76 65 2e  /pre>..and save.
aa60: 0d 0a 0d 0a 0d 0a 3c 61 20 6e 61 6d 65 3d 27 6a  ......<a name='j
aa70: 73 5f 6c 6f 63 61 6c 27 3e 3c 68 33 3e 55 73 69  s_local'><h3>Usi
aa80: 6e 67 20 6c 6f 63 61 6c 20 69 6e 73 74 61 6c 6c  ng local install
aa90: 65 64 20 6a 61 76 61 73 63 72 69 70 74 20 6c 69  ed javascript li
aaa0: 62 72 61 72 69 65 73 3c 2f 68 33 3e 3c 2f 61 3e  braries</h3></a>
aab0: 0d 0a 3c 70 3e 55 6e 64 65 72 20 66 69 72 65 66  ..<p>Under firef
aac0: 6f 78 20 77 69 74 68 20 74 68 65 20 65 78 74 65  ox with the exte
aad0: 6e 73 69 6f 6e 20 6c 6f 63 61 6c 6c 69 6e 6b 20  nsion locallink 
aae0: 79 6f 75 20 63 61 6e 20 69 6e 73 74 61 6c 6c 20  you can install 
aaf0: 6a 61 76 61 73 63 72 69 70 74 20 6c 69 62 72 61  javascript libra
ab00: 72 69 65 73 20 6c 6f 63 61 6c 6c 79 2e 3c 2f 70  ries locally.</p
ab10: 3e 0d 0a 0d 0a 3c 70 3e 49 74 20 73 65 65 6d 73  >....<p>It seems
ab20: 20 74 68 61 74 20 69 74 20 69 73 20 61 6c 73 6f   that it is also
ab30: 20 70 6f 73 73 69 62 6c 65 20 77 69 74 68 20 49   possible with I
ab40: 45 37 20 62 65 63 61 75 73 65 20 74 68 61 74 20  E7 because that 
ab50: 61 6c 6c 6f 77 73 20 6c 6f 63 61 6c 20 61 63 63  allows local acc
ab60: 65 73 73 2e 20 46 6f 72 20 63 68 72 6f 6d 65 20  ess. For chrome 
ab70: 74 68 65 72 65 20 69 73 20 61 6e 20 65 78 74 65  there is an exte
ab80: 6e 73 69 6f 6e 20 3c 61 20 68 72 65 66 3d 27 68  nsion <a href='h
ab90: 74 74 70 73 3a 2f 2f 63 68 72 6f 6d 65 2e 67 6f  ttps://chrome.go
aba0: 6f 67 6c 65 2e 63 6f 6d 2f 65 78 74 65 6e 73 69  ogle.com/extensi
abb0: 6f 6e 73 2f 64 65 74 61 69 6c 2f 6a 6c 6c 70 6b  ons/detail/jllpk
abc0: 64 6b 63 64 6a 6e 64 68 67 67 6f 64 69 6d 69 70  dkcdjndhggodimip
abd0: 68 6b 67 68 6f 67 63 70 69 64 61 27 3e 6c 6f 63  hkghogcpida'>loc
abe0: 61 6c 6c 69 6e 6b 3c 2f 61 3e 20 42 75 74 20 49  allink</a> But I
abf0: 20 63 6f 75 6c 64 6e 27 74 20 67 65 74 20 69 74   couldn't get it
ac00: 20 74 6f 20 77 6f 72 6b 2e 0d 0a 3c 2f 70 3e 0d   to work...</p>.
ac10: 0a 3c 70 3e 54 68 65 20 61 64 76 61 6e 74 61 67  .<p>The advantag
ac20: 65 20 6f 66 20 74 68 69 73 20 69 73 20 74 68 61  e of this is tha
ac30: 74 20 79 6f 75 72 20 72 65 70 6f 73 69 74 6f 72  t your repositor
ac40: 79 20 64 6f 65 73 6e 27 74 20 63 6f 6e 74 61 69  y doesn't contai
ac50: 6e 73 20 74 68 65 20 6a 61 76 61 73 63 72 69 70  ns the javascrip
ac60: 74 20 6c 69 62 72 61 72 79 2e 20 41 6e 64 20 66  t library. And f
ac70: 6f 72 20 65 61 63 68 20 70 72 6f 6a 65 63 74 20  or each project 
ac80: 79 6f 75 20 6f 6e 6c 79 20 68 61 76 65 20 74 6f  you only have to
ac90: 20 61 64 6a 75 73 74 20 74 68 65 20 68 65 61 64   adjust the head
aca0: 65 72 3c 2f 70 3e 0d 0a 3c 68 35 3e 20 45 78 61  er</p>..<h5> Exa
acb0: 6d 70 6c 65 20 75 6e 64 65 72 20 77 69 6e 64 6f  mple under windo
acc0: 77 73 20 77 69 74 68 20 66 69 72 65 66 6f 78 3c  ws with firefox<
acd0: 2f 68 35 3e 0d 0a 3c 70 72 65 20 63 6c 61 73 73  /h5>..<pre class
ace0: 3d 22 76 65 72 62 61 74 69 6d 22 3e 0d 0a 20 20  ="verbatim">..  
acf0: 20 20 43 3a 0d 0a 20 20 20 20 6d 6b 64 69 72 20    C:..    mkdir 
ad00: 6a 73 0d 0a 20 20 20 20 64 6f 77 6e 6c 6f 61 64  js..    download
ad10: 20 74 69 6e 79 6d 63 65 0d 0a 20 20 20 20 75 6e   tinymce..    un
ad20: 7a 69 70 20 69 6e 20 63 3a 5c 6a 73 0d 0a 20 20  zip in c:\js..  
ad30: 20 20 69 6e 73 74 61 6c 6c 20 3c 61 20 68 72 65    install <a hre
ad40: 66 3d 27 68 74 74 70 73 3a 2f 2f 61 64 64 6f 6e  f='https://addon
ad50: 73 2e 6d 6f 7a 69 6c 6c 61 2e 6f 72 67 2f 65 6e  s.mozilla.org/en
ad60: 2d 55 53 2f 66 69 72 65 66 6f 78 2f 61 64 64 6f  -US/firefox/addo
ad70: 6e 2f 6c 6f 63 61 6c 6c 69 6e 6b 27 3e 6c 6f 63  n/locallink'>loc
ad80: 61 6c 6c 69 6e 6b 3c 2f 61 3e 20 69 6e 20 66 69  allink</a> in fi
ad90: 72 65 66 6f 78 0d 0a 20 20 20 20 66 6f 6c 6c 6f  refox..    follo
ada0: 77 20 69 6e 73 74 72 75 63 74 69 6f 6e 73 20 6f  w instructions o
adb0: 6e 20 3c 61 20 68 72 65 66 3d 27 68 74 74 70 73  n <a href='https
adc0: 3a 2f 2f 61 64 64 6f 6e 73 2e 6d 6f 7a 69 6c 6c  ://addons.mozill
add0: 61 2e 6f 72 67 2f 65 6e 2d 55 53 2f 66 69 72 65  a.org/en-US/fire
ade0: 66 6f 78 2f 61 64 64 6f 6e 2f 6c 6f 63 61 6c 6c  fox/addon/locall
adf0: 69 6e 6b 2f 27 3e 70 61 67 65 3c 2f 61 3e 0d 0a  ink/'>page</a>..
ae00: 3c 2f 70 72 65 3e 0d 0a 73 74 61 72 74 20 66 6f  </pre>..start fo
ae10: 73 73 69 6c 20 75 69 0d 0a 53 65 6c 65 63 74 20  ssil ui..Select 
ae20: 61 64 6d 69 6e 2f 68 65 61 64 65 72 73 20 61 64  admin/headers ad
ae30: 64 20 61 66 74 65 72 20 74 68 65 20 26 6c 74 3b  d after the &lt;
ae40: 2f 6c 69 6e 6b 26 67 74 3b 0d 0a 3c 70 72 65 20  /link&gt;..<pre 
ae50: 63 6c 61 73 73 3d 22 76 65 72 62 61 74 69 6d 22  class="verbatim"
ae60: 3e 0d 0a 20 26 6c 74 3b 74 68 31 26 67 74 3b 0d  >.. &lt;th1&gt;.
ae70: 0a 20 20 69 66 20 7b 20 26 23 39 31 3b 20 73 74  .  if { &#91; st
ae80: 72 69 6e 67 20 66 69 72 73 74 20 24 63 75 72 72  ring first $curr
ae90: 65 6e 74 5f 70 61 67 65 20 22 74 6b 74 6e 65 77  ent_page "tktnew
aea0: 20 74 6b 74 65 64 69 74 20 77 69 6b 69 65 64 69   tktedit wikiedi
aeb0: 74 20 77 69 6b 69 61 70 70 65 6e 64 22 20 5d 20  t wikiappend" ] 
aec0: 7d 20 7b 0d 0a 20 20 20 20 20 20 20 68 74 6d 6c  } {..       html
aed0: 20 22 3c 73 63 72 69 70 74 20 74 79 70 65 3d 27   "<script type='
aee0: 74 65 78 74 2f 6a 61 76 61 73 63 72 69 70 74 27  text/javascript'
aef0: 5c 6e 22 0d 0a 20 20 20 20 20 20 20 68 74 6d 6c  \n"..       html
af00: 20 22 73 72 63 3d 27 66 69 6c 65 3a 2f 2f 2f 63   "src='file:///c
af10: 3a 2f 6a 73 2f 74 69 6e 79 6d 63 65 2f 6a 73 63  :/js/tinymce/jsc
af20: 72 69 70 74 73 2f 74 69 6e 79 5f 6d 63 65 2f 74  ripts/tiny_mce/t
af30: 69 6e 79 5f 6d 63 65 2e 6a 73 27 3e 5c 6e 22 0d  iny_mce.js'>\n".
af40: 0a 20 20 20 20 20 20 20 68 74 6d 6c 20 22 3c 2f  .       html "</
af50: 73 63 72 69 70 74 3e 5c 6e 22 0d 0a 20 20 20 20  script>\n"..    
af60: 20 20 20 68 74 6d 6c 20 22 20 3c 73 63 72 69 70     html " <scrip
af70: 74 20 74 79 70 65 3d 27 74 65 78 74 2f 6a 61 76  t type='text/jav
af80: 61 73 63 72 69 70 74 27 3e 5c 6e 22 0d 0a 20 20  ascript'>\n"..  
af90: 20 20 20 20 20 70 75 74 73 20 22 74 69 6e 79 4d       puts "tinyM
afa0: 43 45 2e 69 6e 69 74 28 7b 20 6d 6f 64 65 20 3a  CE.init({ mode :
afb0: 20 27 73 70 65 63 69 66 69 63 5f 74 65 78 74 61   'specific_texta
afc0: 72 65 61 73 27 20 2c 20 65 64 69 74 6f 72 5f 73  reas' , editor_s
afd0: 65 6c 65 63 74 6f 72 20 3a 20 27 77 69 6b 69 65  elector : 'wikie
afe0: 64 69 74 27 2c 20 74 68 65 6d 65 3a 20 27 61 64  dit', theme: 'ad
aff0: 76 61 6e 63 65 64 27 2c 77 69 64 74 68 20 3a 20  vanced',width : 
b000: 27 39 30 25 27 20 7d 20 29 3b 22 0d 0a 20 20 20  '90%' } );"..   
b010: 20 20 20 20 68 74 6d 6c 20 22 3c 2f 73 63 72 69      html "</scri
b020: 70 74 3e 5c 6e 22 0d 0a 20 20 20 7d 0d 0a 26 6c  pt>\n"..   }..&l
b030: 74 3b 2f 74 68 31 26 67 74 3b 0d 0a 3c 2f 70 72  t;/th1&gt;..</pr
b040: 65 3e 0d 0a 61 6e 64 20 73 61 76 65 2e 0d 0a 0d  e>..and save....
b050: 0a 0d 0a 0d 0a 0d 0a 3c 61 20 6e 61 6d 65 3d 22  .......<a name="
b060: 6d 61 72 6b 69 74 75 70 22 3e 3c 68 33 3e 6d 61  markitup"><h3>ma
b070: 72 6b 69 74 75 70 21 3c 2f 68 33 3e 3c 2f 61 3e  rkitup!</h3></a>
b080: 0d 0a 3c 70 3e 0d 0a 53 6f 75 72 63 65 3a 20 3c  ..<p>..Source: <
b090: 61 20 68 72 65 66 3d 22 68 74 74 70 3a 2f 2f 6d  a href="http://m
b0a0: 61 72 6b 69 74 75 70 2e 6a 61 79 73 61 6c 76 61  arkitup.jaysalva
b0b0: 74 2e 63 6f 6d 2f 68 6f 6d 65 2f 22 3e 20 4d 61  t.com/home/"> Ma
b0c0: 72 6b 69 74 75 70 20 3c 2f 61 3e 0d 0a 3c 2f 70  rkitup </a>..</p
b0d0: 3e 0d 0a 3c 68 35 3e 20 45 78 61 6d 70 6c 65 3c  >..<h5> Example<
b0e0: 2f 68 35 3e 0d 0a 3c 70 72 65 20 63 6c 61 73 73  /h5>..<pre class
b0f0: 3d 22 76 65 72 62 61 74 69 6d 22 3e 0d 0a 20 20  ="verbatim">..  
b100: 20 20 6d 6b 64 69 72 20 6d 61 72 6b 69 74 75 70    mkdir markitup
b110: 0d 0a 20 20 20 20 6d 6b 64 69 72 20 6d 61 72 6b  ..    mkdir mark
b120: 69 74 75 70 2f 6a 61 76 61 73 63 72 69 70 74 0d  itup/javascript.
b130: 0a 20 20 20 20 66 6f 73 73 69 6c 20 6e 65 77 20  .    fossil new 
b140: 6d 61 72 6b 69 74 75 70 2e 66 73 6c 0d 0a 20 20  markitup.fsl..  
b150: 20 20 66 6f 73 73 69 6c 20 75 69 20 6d 61 72 6b    fossil ui mark
b160: 69 74 75 70 2e 66 73 6c 20 7b 63 6f 6e 66 69 67  itup.fsl {config
b170: 75 72 65 20 74 68 65 20 70 72 6f 6a 65 63 74 29  ure the project)
b180: 0d 0a 20 20 20 20 64 6f 77 6e 6c 6f 61 64 20 6d  ..    download m
b190: 61 72 6b 69 74 75 70 20 61 6e 64 20 6a 71 75 65  arkitup and jque
b1a0: 72 79 0d 0a 20 20 20 20 75 6e 7a 69 70 20 69 6e  ry..    unzip in
b1b0: 20 6d 61 72 6b 69 74 75 70 2f 6a 61 76 61 73 63   markitup/javasc
b1c0: 72 69 70 74 2c 20 63 64 20 6c 61 74 65 73 74 2c  ript, cd latest,
b1d0: 20 6d 76 20 2a 20 2e 2e 2c 20 72 6d 64 69 72 20   mv * .., rmdir 
b1e0: 6c 61 74 65 73 74 0d 0a 20 20 20 20 63 6f 70 79  latest..    copy
b1f0: 20 6a 71 75 65 72 79 2d 2e 2e 2e 2e 6a 73 20 74   jquery-....js t
b200: 6f 20 6a 61 76 61 73 63 72 69 70 74 2f 6a 71 75  o javascript/jqu
b210: 65 72 79 2e 6a 73 0d 0a 20 20 20 20 63 64 20 6d  ery.js..    cd m
b220: 61 72 6b 69 74 75 70 0d 0a 20 20 20 20 66 6f 73  arkitup..    fos
b230: 73 69 6c 20 6f 70 65 6e 20 2e 2e 2f 6d 61 72 6b  sil open ../mark
b240: 69 74 75 70 2e 66 73 6c 0d 0a 20 20 20 20 66 6f  itup.fsl..    fo
b250: 73 73 69 6c 20 61 64 64 20 6a 61 76 61 73 63 72  ssil add javascr
b260: 69 70 74 0d 0a 20 20 20 20 66 6f 73 73 69 6c 20  ipt..    fossil 
b270: 63 6f 6d 6d 69 74 20 2d 6d 20 22 61 64 64 65 64  commit -m "added
b280: 20 6d 61 72 6b 69 74 75 70 20 61 6e 20 6a 71 75   markitup an jqu
b290: 65 72 79 20 74 6f 20 74 68 65 20 70 72 6f 6a 65  ery to the proje
b2a0: 63 74 22 0d 0a 20 20 20 20 66 6f 73 73 69 6c 20  ct"..    fossil 
b2b0: 75 69 0d 0a 3c 2f 70 72 65 3e 0d 0a 73 65 6c 65  ui..</pre>..sele
b2c0: 63 74 20 61 64 6d 69 6e 2f 68 65 61 64 65 72 73  ct admin/headers
b2d0: 20 61 64 64 20 61 66 74 65 72 20 74 68 65 20 3c   add after the <
b2e0: 2f 6c 69 6e 6b 3e 20 70 75 74 0d 0a 3c 70 72 65  /link> put..<pre
b2f0: 20 63 6c 61 73 73 3d 22 76 65 72 62 61 74 69 6d   class="verbatim
b300: 22 3e 0d 0a 20 20 20 20 26 6c 74 3b 6c 69 6e 6b  ">..    &lt;link
b310: 20 72 65 6c 3d 22 73 74 79 6c 65 73 68 65 65 74   rel="stylesheet
b320: 22 20 74 79 70 65 3d 22 74 65 78 74 2f 63 73 73  " type="text/css
b330: 22 20 68 72 65 66 3d 22 2f 64 6f 63 2f 74 69 70  " href="/doc/tip
b340: 2f 6a 61 76 61 73 63 72 69 70 74 2f 6d 61 72 6b  /javascript/mark
b350: 69 74 75 70 2f 73 6b 69 6e 73 2f 6d 61 72 6b 69  itup/skins/marki
b360: 74 75 70 2f 73 74 79 6c 65 2e 63 73 73 22 20 2f  tup/style.css" /
b370: 26 67 74 3b 0d 0a 20 20 20 20 26 6c 74 3b 6c 69  &gt;..    &lt;li
b380: 6e 6b 20 72 65 6c 3d 22 73 74 79 6c 65 73 68 65  nk rel="styleshe
b390: 65 74 22 20 74 79 70 65 3d 22 74 65 78 74 2f 63  et" type="text/c
b3a0: 73 73 22 20 68 72 65 66 3d 22 2f 64 6f 63 2f 74  ss" href="/doc/t
b3b0: 69 70 2f 6a 61 76 61 73 63 72 69 70 74 2f 6d 61  ip/javascript/ma
b3c0: 72 6b 69 74 75 70 2f 73 65 74 73 2f 64 65 66 61  rkitup/sets/defa
b3d0: 75 6c 74 2f 73 74 79 6c 65 2e 63 73 73 22 20 2f  ult/style.css" /
b3e0: 26 67 74 3b 0d 0a 20 20 20 20 26 6c 74 3b 73 63  &gt;..    &lt;sc
b3f0: 72 69 70 74 20 74 79 70 65 3d 22 74 65 78 74 2f  ript type="text/
b400: 6a 61 76 61 73 63 72 69 70 74 22 20 73 72 63 3d  javascript" src=
b410: 22 2f 64 6f 63 2f 74 69 70 2f 6a 61 76 61 73 63  "/doc/tip/javasc
b420: 72 69 70 74 2f 6a 71 75 65 72 79 2e 6a 73 22 26  ript/jquery.js"&
b430: 67 74 3b 0d 0a 20 20 20 20 26 6c 74 3b 2f 73 63  gt;..    &lt;/sc
b440: 72 69 70 74 26 67 74 3b 0d 0a 20 20 20 20 26 6c  ript&gt;..    &l
b450: 74 3b 73 63 72 69 70 74 20 74 79 70 65 3d 22 74  t;script type="t
b460: 65 78 74 2f 6a 61 76 61 73 63 72 69 70 74 22 20  ext/javascript" 
b470: 73 72 63 3d 22 2f 64 6f 63 2f 74 69 70 2f 6a 61  src="/doc/tip/ja
b480: 76 61 73 63 72 69 70 74 2f 6d 61 72 6b 69 74 75  vascript/markitu
b490: 70 2f 6a 71 75 65 72 79 2e 6d 61 72 6b 69 74 75  p/jquery.markitu
b4a0: 70 2e 6a 73 22 26 67 74 3b 0d 0a 20 20 20 20 26  p.js"&gt;..    &
b4b0: 6c 74 3b 2f 73 63 72 69 70 74 26 67 74 3b 0d 0a  lt;/script&gt;..
b4c0: 3c 2f 70 72 65 3e 0d 0a 0d 0a 61 6e 64 20 73 61  </pre>....and sa
b4d0: 76 65 0d 0a 73 65 6c 65 63 74 20 61 64 6d 69 6e  ve..select admin
b4e0: 2f 66 6f 6f 74 65 72 20 61 64 64 20 61 62 6f 76  /footer add abov
b4f0: 65 20 74 68 65 20 66 69 72 73 74 20 6c 69 6e 65  e the first line
b500: 0d 0a 0d 0a 3c 70 72 65 20 63 6c 61 73 73 3d 22  ....<pre class="
b510: 76 65 72 62 61 74 69 6d 22 3e 0d 0a 20 20 20 20  verbatim">..    
b520: 26 6c 74 3b 73 63 72 69 70 74 20 74 79 70 65 3d  &lt;script type=
b530: 27 74 65 78 74 2f 6a 61 76 61 73 63 72 69 70 74  'text/javascript
b540: 27 26 67 74 3b 0d 0a 20 20 20 20 20 20 76 61 72  '&gt;..      var
b550: 20 6d 20 3d 20 64 6f 63 75 6d 65 6e 74 2e 67 65   m = document.ge
b560: 74 45 6c 65 6d 65 6e 74 73 42 79 54 61 67 4e 61  tElementsByTagNa
b570: 6d 65 28 27 74 65 78 74 61 72 65 61 27 29 0d 0a  me('textarea')..
b580: 20 20 20 20 20 20 76 61 72 20 6c 20 3d 20 6d 2e        var l = m.
b590: 6c 65 6e 67 74 68 0d 0a 20 20 20 20 20 20 76 61  length..      va
b5a0: 72 20 6e 0d 0a 20 20 20 20 20 20 3c 6e 6f 77 69  r n..      <nowi
b5b0: 6b 69 3e 76 61 72 20 6d 79 53 65 74 74 69 6e 67  ki>var mySetting
b5c0: 73 20 3d 20 7b 0d 0a 09 6e 61 6d 65 53 70 61 63  s = {...nameSpac
b5d0: 65 3a 20 20 20 20 20 20 20 22 68 74 6d 6c 22 2c  e:       "html",
b5e0: 20 2f 2f 20 55 73 65 66 75 6c 20 74 6f 20 70 72   // Useful to pr
b5f0: 65 76 65 6e 74 20 6d 75 6c 74 69 2d 69 6e 73 74  event multi-inst
b600: 61 6e 63 65 73 20 43 53 53 20 63 6f 6e 66 6c 69  ances CSS confli
b610: 63 74 0d 0a 09 6f 6e 53 68 69 66 74 45 6e 74 65  ct...onShiftEnte
b620: 72 3a 20 20 20 20 7b 6b 65 65 70 44 65 66 61 75  r:    {keepDefau
b630: 6c 74 3a 66 61 6c 73 65 2c 20 72 65 70 6c 61 63  lt:false, replac
b640: 65 57 69 74 68 3a 27 26 6c 74 3b 62 72 20 2f 26  eWith:'&lt;br /&
b650: 67 74 3b 5c 6e 27 7d 2c 0d 0a 09 6f 6e 43 74 72  gt;\n'},...onCtr
b660: 6c 45 6e 74 65 72 3a 20 20 20 20 20 7b 6b 65 65  lEnter:     {kee
b670: 70 44 65 66 61 75 6c 74 3a 66 61 6c 73 65 2c 20  pDefault:false, 
b680: 6f 70 65 6e 57 69 74 68 3a 27 5c 6e 26 6c 74 3b  openWith:'\n&lt;
b690: 70 26 67 74 3b 27 2c 20 63 6c 6f 73 65 57 69 74  p&gt;', closeWit
b6a0: 68 3a 27 26 6c 74 3b 2f 70 26 67 74 3b 5c 6e 27  h:'&lt;/p&gt;\n'
b6b0: 7d 2c 0d 0a 09 6f 6e 54 61 62 3a 20 20 20 20 20  },...onTab:     
b6c0: 20 20 20 20 20 20 7b 6b 65 65 70 44 65 66 61 75        {keepDefau
b6d0: 6c 74 3a 66 61 6c 73 65 2c 20 6f 70 65 6e 57 69  lt:false, openWi
b6e0: 74 68 3a 27 20 20 20 20 20 27 7d 2c 0d 0a 09 6d  th:'     '},...m
b6f0: 61 72 6b 75 70 53 65 74 3a 20 20 5b 0d 0a 09 20  arkupSet:  [... 
b700: 20 20 20 7b 6e 61 6d 65 3a 27 48 65 61 64 69 6e     {name:'Headin
b710: 67 20 31 27 2c 20 6b 65 79 3a 27 31 27 2c 20 6f  g 1', key:'1', o
b720: 70 65 6e 57 69 74 68 3a 27 26 6c 74 3b 68 31 28  penWith:'&lt;h1(
b730: 21 28 20 63 6c 61 73 73 3d 22 5b 21 5b 43 6c 61  !( class="[![Cla
b740: 73 73 5d 21 5d 22 29 21 29 26 67 74 3b 27 2c 20  ss]!]")!)&gt;', 
b750: 63 6c 6f 73 65 57 69 74 68 3a 27 26 6c 74 3b 2f  closeWith:'&lt;/
b760: 68 31 26 67 74 3b 27 2c 20 70 6c 61 63 65 48 6f  h1&gt;', placeHo
b770: 6c 64 65 72 3a 27 59 6f 75 72 20 74 69 74 6c 65  lder:'Your title
b780: 20 68 65 72 65 2e 2e 2e 27 20 7d 2c 0d 0a 09 20   here...' },... 
b790: 20 20 20 7b 6e 61 6d 65 3a 27 48 65 61 64 69 6e     {name:'Headin
b7a0: 67 20 32 27 2c 20 6b 65 79 3a 27 32 27 2c 20 6f  g 2', key:'2', o
b7b0: 70 65 6e 57 69 74 68 3a 27 26 6c 74 3b 68 32 28  penWith:'&lt;h2(
b7c0: 21 28 20 63 6c 61 73 73 3d 22 5b 21 5b 43 6c 61  !( class="[![Cla
b7d0: 73 73 5d 21 5d 22 29 21 29 26 67 74 3b 27 2c 20  ss]!]")!)&gt;', 
b7e0: 63 6c 6f 73 65 57 69 74 68 3a 27 26 6c 74 3b 2f  closeWith:'&lt;/
b7f0: 68 32 26 67 74 3b 27 2c 20 70 6c 61 63 65 48 6f  h2&gt;', placeHo
b800: 6c 64 65 72 3a 27 59 6f 75 72 20 74 69 74 6c 65  lder:'Your title
b810: 20 68 65 72 65 2e 2e 2e 27 20 7d 2c 0d 0a 09 20   here...' },... 
b820: 20 20 20 7b 6e 61 6d 65 3a 27 48 65 61 64 69 6e     {name:'Headin
b830: 67 20 33 27 2c 20 6b 65 79 3a 27 33 27 2c 20 6f  g 3', key:'3', o
b840: 70 65 6e 57 69 74 68 3a 27 26 6c 74 3b 68 33 28  penWith:'&lt;h3(
b850: 21 28 20 63 6c 61 73 73 3d 22 5b 21 5b 43 6c 61  !( class="[![Cla
b860: 73 73 5d 21 5d 22 29 21 29 26 67 74 3b 27 2c 20  ss]!]")!)&gt;', 
b870: 63 6c 6f 73 65 57 69 74 68 3a 27 26 6c 74 3b 2f  closeWith:'&lt;/
b880: 68 33 26 67 74 3b 27 2c 20 70 6c 61 63 65 48 6f  h3&gt;', placeHo
b890: 6c 64 65 72 3a 27 59 6f 75 72 20 74 69 74 6c 65  lder:'Your title
b8a0: 20 68 65 72 65 2e 2e 2e 27 20 7d 2c 0d 0a 09 20   here...' },... 
b8b0: 20 20 20 7b 6e 61 6d 65 3a 27 48 65 61 64 69 6e     {name:'Headin
b8c0: 67 20 34 27 2c 20 6b 65 79 3a 27 34 27 2c 20 6f  g 4', key:'4', o
b8d0: 70 65 6e 57 69 74 68 3a 27 26 6c 74 3b 68 34 28  penWith:'&lt;h4(
b8e0: 21 28 20 63 6c 61 73 73 3d 22 5b 21 5b 43 6c 61  !( class="[![Cla
b8f0: 73 73 5d 21 5d 22 29 21 29 26 67 74 3b 27 2c 20  ss]!]")!)&gt;', 
b900: 63 6c 6f 73 65 57 69 74 68 3a 27 26 6c 74 3b 2f  closeWith:'&lt;/
b910: 68 34 26 67 74 3b 27 2c 20 70 6c 61 63 65 48 6f  h4&gt;', placeHo
b920: 6c 64 65 72 3a 27 59 6f 75 72 20 74 69 74 6c 65  lder:'Your title
b930: 20 68 65 72 65 2e 2e 2e 27 20 7d 2c 0d 0a 09 20   here...' },... 
b940: 20 20 20 7b 6e 61 6d 65 3a 27 48 65 61 64 69 6e     {name:'Headin
b950: 67 20 35 27 2c 20 6b 65 79 3a 27 35 27 2c 20 6f  g 5', key:'5', o
b960: 70 65 6e 57 69 74 68 3a 27 26 6c 74 3b 68 35 28  penWith:'&lt;h5(
b970: 21 28 20 63 6c 61 73 73 3d 22 5b 21 5b 43 6c 61  !( class="[![Cla
b980: 73 73 5d 21 5d 22 29 21 29 26 67 74 3b 27 2c 20  ss]!]")!)&gt;', 
b990: 63 6c 6f 73 65 57 69 74 68 3a 27 26 6c 74 3b 2f  closeWith:'&lt;/
b9a0: 68 35 26 67 74 3b 27 2c 20 70 6c 61 63 65 48 6f  h5&gt;', placeHo
b9b0: 6c 64 65 72 3a 27 59 6f 75 72 20 74 69 74 6c 65  lder:'Your title
b9c0: 20 68 65 72 65 2e 2e 2e 27 20 7d 2c 0d 0a 09 20   here...' },... 
b9d0: 20 20 20 7b 6e 61 6d 65 3a 27 48 65 61 64 69 6e     {name:'Headin
b9e0: 67 20 36 27 2c 20 6b 65 79 3a 27 36 27 2c 20 6f  g 6', key:'6', o
b9f0: 70 65 6e 57 69 74 68 3a 27 26 6c 74 3b 68 36 28  penWith:'&lt;h6(
ba00: 21 28 20 63 6c 61 73 73 3d 22 5b 21 5b 43 6c 61  !( class="[![Cla
ba10: 73 73 5d 21 5d 22 29 21 29 26 67 74 3b 27 2c 20  ss]!]")!)&gt;', 
ba20: 63 6c 6f 73 65 57 69 74 68 3a 27 26 6c 74 3b 2f  closeWith:'&lt;/
ba30: 68 36 26 67 74 3b 27 2c 20 70 6c 61 63 65 48 6f  h6&gt;', placeHo
ba40: 6c 64 65 72 3a 27 59 6f 75 72 20 74 69 74 6c 65  lder:'Your title
ba50: 20 68 65 72 65 2e 2e 2e 27 20 7d 2c 0d 0a 09 20   here...' },... 
ba60: 20 20 20 7b 6e 61 6d 65 3a 27 50 61 72 61 67 72     {name:'Paragr
ba70: 61 70 68 27 2c 20 6f 70 65 6e 57 69 74 68 3a 27  aph', openWith:'
ba80: 26 6c 74 3b 70 28 21 28 20 63 6c 61 73 73 3d 22  &lt;p(!( class="
ba90: 5b 21 5b 43 6c 61 73 73 5d 21 5d 22 29 21 29 26  [![Class]!]")!)&
baa0: 67 74 3b 27 2c 20 63 6c 6f 73 65 57 69 74 68 3a  gt;', closeWith:
bab0: 27 26 6c 74 3b 2f 70 26 67 74 3b 27 20 20 7d 2c  '&lt;/p&gt;'  },
bac0: 0d 0a 09 20 20 20 20 7b 73 65 70 61 72 61 74 6f  ...    {separato
bad0: 72 3a 27 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  r:'-------------
bae0: 2d 2d 27 20 7d 2c 0d 0a 09 20 20 20 20 7b 6e 61  --' },...    {na
baf0: 6d 65 3a 27 42 6f 6c 64 27 2c 20 6b 65 79 3a 27  me:'Bold', key:'
bb00: 42 27 2c 20 6f 70 65 6e 57 69 74 68 3a 27 26 6c  B', openWith:'&l
bb10: 74 3b 73 74 72 6f 6e 67 26 67 74 3b 27 2c 20 63  t;strong&gt;', c
bb20: 6c 6f 73 65 57 69 74 68 3a 27 26 6c 74 3b 2f 73  loseWith:'&lt;/s
bb30: 74 72 6f 6e 67 26 67 74 3b 27 20 7d 2c 0d 0a 09  trong&gt;' },...
bb40: 20 20 20 20 7b 6e 61 6d 65 3a 27 49 74 61 6c 69      {name:'Itali
bb50: 63 27 2c 20 6b 65 79 3a 27 49 27 2c 20 6f 70 65  c', key:'I', ope
bb60: 6e 57 69 74 68 3a 27 26 6c 74 3b 65 6d 26 67 74  nWith:'&lt;em&gt
bb70: 3b 27 2c 20 63 6c 6f 73 65 57 69 74 68 3a 27 26  ;', closeWith:'&
bb80: 6c 74 3b 2f 65 6d 26 67 74 3b 27 20 20 7d 2c 0d  lt;/em&gt;'  },.
bb90: 0a 09 20 20 20 20 7b 6e 61 6d 65 3a 27 53 74 72  ..    {name:'Str
bba0: 6f 6b 65 20 74 68 72 6f 75 67 68 27 2c 20 6b 65  oke through', ke
bbb0: 79 3a 27 53 27 2c 20 6f 70 65 6e 57 69 74 68 3a  y:'S', openWith:
bbc0: 27 26 6c 74 3b 64 65 6c 26 67 74 3b 27 2c 20 63  '&lt;del&gt;', c
bbd0: 6c 6f 73 65 57 69 74 68 3a 27 26 6c 74 3b 2f 64  loseWith:'&lt;/d
bbe0: 65 6c 26 67 74 3b 27 20 7d 2c 0d 0a 09 20 20 20  el&gt;' },...   
bbf0: 20 7b 73 65 70 61 72 61 74 6f 72 3a 27 2d 2d 2d   {separator:'---
bc00: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 27 20 7d 2c  ------------' },
bc10: 0d 0a 09 20 20 20 20 7b 6e 61 6d 65 3a 27 55 6c  ...    {name:'Ul
bc20: 27 2c 20 6f 70 65 6e 57 69 74 68 3a 27 26 6c 74  ', openWith:'&lt
bc30: 3b 75 6c 26 67 74 3b 5c 6e 27 2c 20 63 6c 6f 73  ;ul&gt;\n', clos
bc40: 65 57 69 74 68 3a 27 26 6c 74 3b 2f 75 6c 26 67  eWith:'&lt;/ul&g
bc50: 74 3b 5c 6e 27 20 7d 2c 0d 0a 09 20 20 20 20 7b  t;\n' },...    {
bc60: 6e 61 6d 65 3a 27 4f 6c 27 2c 20 6f 70 65 6e 57  name:'Ol', openW
bc70: 69 74 68 3a 27 26 6c 74 3b 6f 6c 26 67 74 3b 5c  ith:'&lt;ol&gt;\
bc80: 6e 27 2c 20 63 6c 6f 73 65 57 69 74 68 3a 27 26  n', closeWith:'&
bc90: 6c 74 3b 2f 6f 6c 26 67 74 3b 5c 6e 27 20 7d 2c  lt;/ol&gt;\n' },
bca0: 0d 0a 09 20 20 20 20 7b 6e 61 6d 65 3a 27 4c 69  ...    {name:'Li
bcb0: 27 2c 20 6f 70 65 6e 57 69 74 68 3a 27 26 6c 74  ', openWith:'&lt
bcc0: 3b 6c 69 26 67 74 3b 27 2c 20 63 6c 6f 73 65 57  ;li&gt;', closeW
bcd0: 69 74 68 3a 27 26 6c 74 3b 2f 6c 69 26 67 74 3b  ith:'&lt;/li&gt;
bce0: 27 20 7d 2c 0d 0a 09 20 20 20 20 7b 73 65 70 61  ' },...    {sepa
bcf0: 72 61 74 6f 72 3a 27 2d 2d 2d 2d 2d 2d 2d 2d 2d  rator:'---------
bd00: 2d 2d 2d 2d 2d 2d 27 20 7d 2c 0d 0a 09 20 20 20  ------' },...   
bd10: 20 7b 6e 61 6d 65 3a 27 50 69 63 74 75 72 65 27   {name:'Picture'
bd20: 2c 20 6b 65 79 3a 27 50 27 2c 20 72 65 70 6c 61  , key:'P', repla
bd30: 63 65 57 69 74 68 3a 27 26 6c 74 3b 69 6d 67 20  ceWith:'&lt;img 
bd40: 73 72 63 3d 22 5b 21 5b 53 6f 75 72 63 65 3a 21  src="[![Source:!
bd50: 3a 68 74 74 70 3a 2f 2f 5d 21 5d 22 20 61 6c 74  :http://]!]" alt
bd60: 3d 22 5b 21 5b 41 6c 74 65 72 6e 61 74 69 76 65  ="[![Alternative
bd70: 20 74 65 78 74 5d 21 5d 22 20 2f 26 67 74 3b 27   text]!]" /&gt;'
bd80: 20 7d 2c 0d 0a 09 20 20 20 20 7b 6e 61 6d 65 3a   },...    {name:
bd90: 27 4c 69 6e 6b 27 2c 20 6b 65 79 3a 27 4c 27 2c  'Link', key:'L',
bda0: 20 6f 70 65 6e 57 69 74 68 3a 27 26 6c 74 3b 61   openWith:'&lt;a
bdb0: 20 68 72 65 66 3d 22 5b 21 5b 4c 69 6e 6b 3a 21   href="[![Link:!
bdc0: 3a 68 74 74 70 3a 2f 2f 5d 21 5d 22 28 21 28 20  :http://]!]"(!( 
bdd0: 74 69 74 6c 65 3d 22 5b 21 5b 54 69 74 6c 65 5d  title="[![Title]
bde0: 21 5d 22 29 21 29 26 67 74 3b 27 2c 20 63 6c 6f  !]")!)&gt;', clo
bdf0: 73 65 57 69 74 68 3a 27 26 6c 74 3b 2f 61 26 67  seWith:'&lt;/a&g
be00: 74 3b 27 2c 20 70 6c 61 63 65 48 6f 6c 64 65 72  t;', placeHolder
be10: 3a 27 59 6f 75 72 20 74 65 78 74 20 74 6f 20 6c  :'Your text to l
be20: 69 6e 6b 2e 2e 2e 27 20 7d 2c 0d 0a 09 20 20 20  ink...' },...   
be30: 20 7b 73 65 70 61 72 61 74 6f 72 3a 27 2d 2d 2d   {separator:'---
be40: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 27 20 7d 2c  ------------' },
be50: 0d 0a 09 20 20 20 20 7b 6e 61 6d 65 3a 27 43 6c  ...    {name:'Cl
be60: 65 61 6e 27 2c 20 72 65 70 6c 61 63 65 57 69 74  ean', replaceWit
be70: 68 3a 66 75 6e 63 74 69 6f 6e 28 68 29 20 7b 20  h:function(h) { 
be80: 72 65 74 75 72 6e 20 68 2e 73 65 6c 65 63 74 69  return h.selecti
be90: 6f 6e 2e 72 65 70 6c 61 63 65 28 2f 26 6c 74 3b  on.replace(/&lt;
bea0: 28 2e 2a 3f 29 26 67 74 3b 2f 67 2c 20 22 22 29  (.*?)&gt;/g, "")
beb0: 20 7d 20 7d 2c 0d 0a 09 20 20 20 20 7b 6e 61 6d   } },...    {nam
bec0: 65 3a 27 50 72 65 76 69 65 77 27 2c 20 63 61 6c  e:'Preview', cal
bed0: 6c 3a 27 70 72 65 76 69 65 77 27 2c 20 63 6c 61  l:'preview', cla
bee0: 73 73 4e 61 6d 65 3a 27 70 72 65 76 69 65 77 27  ssName:'preview'
bef0: 20 7d 0d 0a 09 5d 0d 0a 20 20 20 20 20 20 7d 0d   }...]..      }.
bf00: 0a 20 20 20 20 20 20 66 6f 72 28 76 61 72 20 69  .      for(var i
bf10: 3d 30 20 3b 69 20 3c 20 6c 3b 69 2b 2b 29 7b 0d  =0 ;i < l;i++){.
bf20: 0a 09 6e 20 3d 20 6d 5b 69 5d 2e 6e 61 6d 65 0d  ..n = m[i].name.
bf30: 0a 09 69 66 28 20 27 63 6f 6d 6d 65 6e 74 27 20  ..if( 'comment' 
bf40: 3d 3d 20 6e 20 7c 7c 20 27 63 6d 61 70 70 6e 64  == n || 'cmappnd
bf50: 27 20 3d 3d 20 6e 20 7c 7c 20 22 77 22 20 20 3d  ' == n || "w"  =
bf60: 3d 20 6e 29 7b 0d 0a 09 20 20 20 20 6d 5b 69 5d  = n){...    m[i]
bf70: 2e 69 64 20 3d 20 6e 3c 2f 6e 6f 77 69 6b 69 3e  .id = n</nowiki>
bf80: 0d 0a 09 20 20 20 20 24 28 66 75 6e 63 74 69 6f  ...    $(functio
bf90: 6e 28 29 20 7b 0d 0a 09 20 20 20 20 20 20 24 28  n() {...      $(
bfa0: 22 23 22 20 2b 20 6e 29 2e 6d 61 72 6b 49 74 55  "#" + n).markItU
bfb0: 70 28 6d 79 53 65 74 74 69 6e 67 73 29 3b 0d 0a  p(mySettings);..
bfc0: 09 20 20 20 20 7d 29 3b 0d 0a 09 7d 0d 0a 20 20  .    });...}..  
bfd0: 20 20 20 20 7d 0d 0a 20 20 20 20 26 6c 74 3b 2f      }..    &lt;/
bfe0: 73 63 72 69 70 74 26 67 74 3b 0d 0a 20 3c 2f 70  script&gt;.. </p
bff0: 72 65 3e 0d 0a 0d 0a 3c 68 32 3e 3c 61 20 6e 61  re>....<h2><a na
c000: 6d 65 3d 22 74 69 63 6b 65 74 2d 63 68 65 63 6b  me="ticket-check
c010: 69 6e 2d 6c 69 6e 6b 73 22 3e 4c 69 6e 6b 69 6e  in-links">Linkin
c020: 67 20 54 69 63 6b 65 74 73 20 74 6f 20 43 68 65  g Tickets to Che
c030: 63 6b 69 6e 27 73 3c 2f 61 3e 3c 2f 68 32 3e 0d  ckin's</a></h2>.
c040: 0a 0d 0a 49 74 27 73 20 65 61 73 79 20 74 6f 20  ...It's easy to 
c050: 6c 69 6e 6b 20 61 20 63 68 65 63 6b 69 6e 20 74  link a checkin t
c060: 6f 20 61 20 74 69 63 6b 65 74 2e 2e 2e 20 73 69  o a ticket... si
c070: 6d 70 6c 79 20 69 6e 63 6c 75 64 65 20 3c 6e 6f  mply include <no
c080: 77 69 6b 69 3e 5b 74 69 63 6b 65 74 2d 75 75 69  wiki>[ticket-uui
c090: 64 5d 3c 2f 6e 6f 77 69 6b 69 3e 20 69 6e 20 79  d]</nowiki> in y
c0a0: 6f 75 72 20 63 6f 6d 6d 69 74 20 63 6f 6d 6d 65  our commit comme
c0b0: 6e 74 2e 20 4e 6f 77 2c 20 77 68 65 6e 20 79 6f  nt. Now, when yo
c0c0: 75 20 64 6f 20 74 68 61 74 2c 20 79 6f 75 20 61  u do that, you a
c0d0: 6c 73 6f 20 68 61 76 65 20 74 68 65 20 61 62 69  lso have the abi
c0e0: 6c 69 74 79 20 74 6f 20 6c 69 6e 6b 20 61 20 74  lity to link a t
c0f0: 69 63 6b 65 74 20 74 6f 20 74 68 65 20 61 73 73  icket to the ass
c100: 6f 63 69 61 74 65 64 20 63 68 65 63 6b 69 6e 28  ociated checkin(
c110: 73 29 2e 0d 0a 0d 0a 54 68 69 73 20 69 73 20 6a  s).....This is j
c120: 75 73 74 20 6f 6e 65 20 77 61 79 20 6f 66 20 64  ust one way of d
c130: 6f 69 6e 67 20 74 68 69 73 2c 20 61 6e 64 20 77  oing this, and w
c140: 68 61 74 20 49 20 64 65 63 69 64 65 64 20 74 6f  hat I decided to
c150: 20 64 6f 2e 20 59 6f 75 20 63 61 6e 20 6f 66 20   do. You can of 
c160: 63 6f 75 72 73 65 20 61 6c 74 65 72 20 69 74 20  course alter it 
c170: 66 6f 72 20 79 6f 75 72 20 6f 77 6e 20 73 74 79  for your own sty
c180: 6c 65 2f 6c 61 79 6f 75 74 2e 0d 0a 0d 0a 46 69  le/layout.....Fi
c190: 72 73 74 3a 20 41 64 64 20 61 20 22 53 68 6f 72  rst: Add a "Shor
c1a0: 74 20 55 55 49 44 22 20 74 6f 20 79 6f 75 72 20  t UUID" to your 
c1b0: 56 69 65 77 20 54 69 63 6b 65 74 20 70 61 67 65  View Ticket page
c1c0: 2e 20 59 6f 75 20 63 61 6e 20 64 6f 20 74 68 69  . You can do thi
c1d0: 73 20 62 79 3a 20 0d 0a 0d 0a 3c 76 65 72 62 61  s by: ....<verba
c1e0: 74 69 6d 3e 0d 0a 3c 74 68 31 3e 0d 0a 73 65 74  tim>..<th1>..set
c1f0: 20 73 68 6f 72 74 55 75 69 64 20 5b 73 74 72 69   shortUuid [stri
c200: 6e 67 20 72 61 6e 67 65 20 24 74 6b 74 5f 75 75  ng range $tkt_uu
c210: 69 64 20 30 20 39 5d 0d 0a 3c 2f 74 68 31 3e 0d  id 0 9]..</th1>.
c220: 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 0d 0a  .</verbatim>....
c230: 54 68 65 6e 2c 20 64 69 73 70 6c 61 79 20 74 68  Then, display th
c240: 61 74 20 74 6f 20 74 68 65 20 75 73 65 72 20 73  at to the user s
c250: 6f 6d 65 77 68 65 72 65 3a 20 0d 0a 0d 0a 3c 76  omewhere: ....<v
c260: 65 72 62 61 74 69 6d 3e 0d 0a 55 75 69 64 3a 20  erbatim>..Uuid: 
c270: 24 3c 73 68 6f 72 74 55 75 69 64 3e 0d 0a 3c 2f  $<shortUuid>..</
c280: 76 65 72 62 61 74 69 6d 3e 0d 0a 0d 0a 41 6c 6c  verbatim>....All
c290: 20 74 68 61 74 20 64 6f 65 73 20 69 73 20 6d 61   that does is ma
c2a0: 6b 65 20 69 74 20 65 61 73 79 20 66 6f 72 20 74  ke it easy for t
c2b0: 68 65 20 64 65 76 65 6c 6f 70 65 72 20 74 6f 20  he developer to 
c2c0: 63 6f 70 79 2f 70 61 73 74 65 20 61 20 73 65 6e  copy/paste a sen
c2d0: 73 69 62 6c 65 20 55 55 49 44 20 69 6e 74 6f 20  sible UUID into 
c2e0: 74 68 65 69 72 20 63 6f 6d 6d 69 74 20 6c 6f 67  their commit log
c2f0: 2e 20 0d 0a 0d 0a 4e 6f 77 2c 20 63 6f 6e 74 69  . ....Now, conti
c300: 6e 75 69 6e 67 2c 20 6f 6e 20 74 68 65 20 73 61  nuing, on the sa
c310: 6d 65 20 56 69 65 77 20 50 61 67 65 20 61 64 64  me View Page add
c320: 20 61 20 6c 69 6e 6b 20 74 6f 20 76 69 65 77 20   a link to view 
c330: 61 73 73 6f 63 69 61 74 65 64 20 74 69 63 6b 65  associated ticke
c340: 74 73 3a 20 0d 0a 0d 0a 3c 76 65 72 62 61 74 69  ts: ....<verbati
c350: 6d 3e 0d 0a 3c 61 20 68 72 65 66 3d 22 24 3c 62  m>..<a href="$<b
c360: 61 73 65 75 72 6c 3e 2f 74 69 6d 65 6c 69 6e 65  aseurl>/timeline
c370: 3f 79 3d 63 69 26 73 3d 24 3c 73 68 6f 72 74 55  ?y=ci&s=$<shortU
c380: 75 69 64 3e 22 3e 61 73 73 6f 63 69 61 74 65 64  uid>">associated
c390: 20 74 69 63 6b 65 74 73 3c 2f 61 3e 0d 0a 3c 2f   tickets</a>..</
c3a0: 76 65 72 62 61 74 69 6d 3e 0d 0a 0d 0a 57 68 61  verbatim>....Wha
c3b0: 74 20 74 68 69 73 20 64 6f 65 73 20 69 73 20 73  t this does is s
c3c0: 65 61 72 63 68 65 73 20 61 6c 6c 20 63 68 65 63  earches all chec
c3d0: 6b 69 6e 27 73 20 66 6f 72 20 74 68 65 20 74 69  kin's for the ti
c3e0: 63 6b 65 74 73 20 75 75 69 64 2c 20 74 68 75 73  ckets uuid, thus
c3f0: 2c 20 79 6f 75 20 63 61 6e 20 6e 6f 77 20 73 65  , you can now se
c400: 65 20 61 6c 6c 20 63 68 65 63 6b 69 6e 27 73 20  e all checkin's 
c410: 74 68 61 74 20 61 72 65 20 6c 69 6e 6b 65 64 20  that are linked 
c420: 77 69 74 68 20 74 68 65 20 67 69 76 65 6e 20 74  with the given t
c430: 69 63 6b 65 74 2e 0d 0a 0d 0a 3c 64 69 76 3e 0d  icket.....<div>.
c440: 0a 20 20 3c 68 32 3e 3c 61 20 6e 61 6d 65 3d 22  .  <h2><a name="
c450: 74 68 31 2d 75 73 61 67 65 22 3e 46 6f 73 73 69  th1-usage">Fossi
c460: 6c 20 54 68 31 3c 2f 61 3e 3c 2f 68 32 3e 0d 0a  l Th1</a></h2>..
c470: 0d 0a 20 20 3c 68 33 3e 50 75 72 70 6f 73 65 20  ..  <h3>Purpose 
c480: 6f 66 20 54 68 31 3c 2f 68 33 3e 0d 0a 0d 0a 20  of Th1</h3>.... 
c490: 20 3c 70 3e 54 68 31 20 69 73 20 75 73 65 64 20   <p>Th1 is used 
c4a0: 61 73 20 61 20 3c 73 74 72 6f 6e 67 3e 74 65 6d  as a <strong>tem
c4b0: 70 6c 61 74 65 20 73 79 73 74 65 6d 3c 2f 73 74  plate system</st
c4c0: 72 6f 6e 67 3e 20 66 6f 72 0d 0a 20 20 67 65 6e  rong> for..  gen
c4d0: 65 72 61 74 69 6e 67 20 48 54 4d 4c 20 68 65 61  erating HTML hea
c4e0: 64 65 72 20 61 6e 64 20 66 6f 6f 74 65 72 2e 20  der and footer. 
c4f0: 49 74 20 69 73 20 61 20 54 43 4c 20 6c 69 6b 65  It is a TCL like
c500: 0d 0a 20 20 6c 61 6e 67 75 61 67 65 2e 20 49 66  ..  language. If
c510: 20 79 6f 75 20 6b 6e 6f 77 20 54 43 4c 20 79 6f   you know TCL yo
c520: 75 20 6b 6e 6f 77 20 54 48 31 2e 3c 2f 70 3e 0d  u know TH1.</p>.
c530: 0a 0d 0a 20 20 3c 70 3e 49 74 20 69 73 20 69 6e  ...  <p>It is in
c540: 76 6f 6b 65 64 20 62 79 20 6f 70 65 6e 69 6e 67  voked by opening
c550: 20 61 20 26 6c 74 3b 74 68 31 26 67 74 3b 20 74   a &lt;th1&gt; t
c560: 61 67 2e 20 54 68 65 20 66 69 72 73 74 20 74 69  ag. The first ti
c570: 6d 65 20 69 74 0d 0a 20 20 73 74 61 72 74 73 20  me it..  starts 
c580: 61 6e 20 69 6e 74 65 72 70 72 65 74 65 72 2e 20  an interpreter. 
c590: 54 68 65 20 73 74 61 74 65 20 6f 66 20 74 68 69  The state of thi
c5a0: 73 20 69 6e 74 65 72 70 72 65 74 65 72 20 69 73  s interpreter is
c5b0: 20 76 61 6c 69 64 0d 0a 20 20 64 75 72 69 6e 67   valid..  during
c5c0: 20 74 68 65 20 70 61 67 65 20 67 65 6e 65 72 61   the page genera
c5d0: 74 69 6f 6e 2e 3c 2f 70 3e 0d 0a 0d 0a 20 20 3c  tion.</p>....  <
c5e0: 70 3e 46 6f 72 20 65 78 61 6d 70 6c 65 20 77 68  p>For example wh
c5f0: 65 6e 20 79 6f 75 3c 2f 70 3e 0d 0a 0d 0a 20 20  en you</p>....  
c600: 3c 75 6c 20 63 6f 6d 70 61 63 74 3d 27 63 6f 6d  <ul compact='com
c610: 70 61 63 74 27 3e 0d 0a 20 20 20 20 3c 6c 69 3e  pact'>..    <li>
c620: 0d 0a 20 20 20 20 20 20 64 6f 20 69 6e 20 74 68  ..      do in th
c630: 65 20 68 65 61 64 65 72 20 26 6c 74 3b 74 68 31  e header &lt;th1
c640: 26 67 74 3b 20 73 65 74 20 76 65 72 73 69 6f 6e  &gt; set version
c650: 20 62 65 74 61 20 26 6c 74 3b 2f 74 68 31 26 67   beta &lt;/th1&g
c660: 74 3b 0d 0a 20 20 20 20 3c 2f 6c 69 3e 0d 0a 20  t;..    </li>.. 
c670: 20 20 20 3c 6c 69 3e 0d 0a 20 20 20 20 20 20 74     <li>..      t
c680: 68 65 6e 20 69 6e 20 74 68 65 20 66 6f 6f 74 65  hen in the foote
c690: 72 20 26 6c 74 3b 74 68 31 26 67 74 3b 70 75 74  r &lt;th1&gt;put
c6a0: 73 20 22 56 65 72 73 69 6f 6e 20 73 65 74 20 69  s "Version set i
c6b0: 6e 20 68 65 61 64 65 72 0d 0a 20 20 20 20 20 20  n header..      
c6c0: 69 73 20 24 76 65 72 73 69 6f 6e 22 26 6c 74 3b  is $version"&lt;
c6d0: 2f 74 68 31 26 67 74 3b 20 72 65 73 75 6c 74 73  /th1&gt; results
c6e0: 20 69 6e 20 27 56 65 72 73 69 6f 6e 20 73 65 74   in 'Version set
c6f0: 20 69 6e 20 68 65 61 64 65 72 20 69 73 0d 0a 20   in header is.. 
c700: 20 20 20 20 20 62 65 74 61 27 0d 0a 20 20 20 20       beta'..    
c710: 3c 2f 6c 69 3e 0d 0a 20 20 3c 2f 75 6c 3e 0d 0a  </li>..  </ul>..
c720: 0d 0a 20 20 3c 70 3e 42 65 63 61 75 73 65 20 69  ..  <p>Because i
c730: 74 20 69 73 20 75 73 65 64 20 61 73 20 61 20 74  t is used as a t
c740: 65 6d 70 6c 61 74 65 20 73 79 73 74 65 6d 20 69  emplate system i
c750: 74 20 65 78 70 6f 72 74 73 20 73 6f 6d 65 0d 0a  t exports some..
c760: 20 20 64 65 74 61 69 6c 73 20 6f 66 20 66 6f 73    details of fos
c770: 73 69 6c 20 74 68 72 6f 75 67 68 3c 2f 70 3e 0d  sil through</p>.
c780: 0a 0d 0a 20 20 3c 6f 6c 3e 0d 0a 20 20 20 20 3c  ...  <ol>..    <
c790: 6c 69 3e 76 61 72 69 61 62 6c 65 73 3c 2f 6c 69  li>variables</li
c7a0: 3e 0d 0a 20 20 20 20 3c 6c 69 3e 66 75 6e 63 74  >..    <li>funct
c7b0: 69 6f 6e 73 3c 2f 6c 69 3e 0d 0a 20 20 3c 2f 6f  ions</li>..  </o
c7c0: 6c 3e 0d 0a 0d 0a 20 20 3c 70 3e 54 68 65 73 65  l>....  <p>These
c7d0: 20 61 72 65 20 64 65 66 69 6e 65 64 20 69 6e 0d   are defined in.
c7e0: 0a 20 5b 35 39 30 65 30 37 33 37 34 36 31 32 31  . [590e073746121
c7f0: 62 65 66 65 36 35 35 36 35 65 65 36 64 37 33 30  befe65565ee6d730
c800: 30 37 63 33 37 61 64 65 31 32 63 7c 73 72 63 2f  07c37ade12c|src/
c810: 74 68 5f 6d 61 69 6e 2e 63 5d 29 3c 2f 70 3e 0d  th_main.c])</p>.
c820: 0a 0d 0a 20 20 3c 68 33 3e 56 61 72 69 61 62 6c  ...  <h3>Variabl
c830: 65 73 3c 2f 68 33 3e 0d 0a 0d 0a 20 20 3c 70 3e  es</h3>....  <p>
c840: 54 68 65 73 65 20 76 61 72 69 61 62 6c 65 20 61  These variable a
c850: 72 65 20 67 6c 6f 62 61 6c 20 61 6e 64 20 61 76  re global and av
c860: 61 69 6c 61 62 6c 65 20 6f 75 74 73 69 64 65 20  ailable outside 
c870: 26 6c 74 3b 74 68 31 26 67 74 3b 0d 0a 20 20 74  &lt;th1&gt;..  t
c880: 61 67 73 2e 20 54 68 65 79 20 63 61 6e 20 62 65  ags. They can be
c890: 20 72 65 66 65 72 65 6e 63 65 64 20 65 69 74 68   referenced eith
c8a0: 65 72 20 61 73 3c 2f 70 3e 0d 0a 0d 0a 20 20 3c  er as</p>....  <
c8b0: 75 6c 20 63 6f 6d 70 61 63 74 3d 27 63 6f 6d 70  ul compact='comp
c8c0: 61 63 74 27 3e 0d 0a 20 20 20 20 3c 6c 69 3e 24  act'>..    <li>$
c8d0: 76 61 72 2e 20 65 2e 67 2e 20 24 74 69 74 6c 65  var. e.g. $title
c8e0: 2e 3c 2f 6c 69 3e 0d 0a 20 20 20 20 3c 6c 69 3e  .</li>..    <li>
c8f0: 24 26 6c 74 3b 76 61 72 26 67 74 3b 20 65 2e 67  $&lt;var&gt; e.g
c900: 2e 20 24 26 6c 74 3b 74 69 74 6c 65 26 67 74 3b  . $&lt;title&gt;
c910: 3c 2f 6c 69 3e 0d 0a 20 20 3c 2f 75 6c 3e 0d 0a  </li>..  </ul>..
c920: 0d 0a 20 20 3c 70 3e 54 68 65 20 66 6f 6c 6c 6f  ..  <p>The follo
c930: 77 69 6e 67 20 61 72 65 20 64 65 66 69 6e 65 64  wing are defined
c940: 3a 3c 2f 70 3e 0d 0a 0d 0a 20 20 3c 75 6c 20 63  :</p>....  <ul c
c950: 6f 6d 70 61 63 74 3d 27 63 6f 6d 70 61 63 74 27  ompact='compact'
c960: 3e 0d 0a 20 20 20 20 3c 6c 69 3e 24 62 61 73 65  >..    <li>$base
c970: 75 72 6c 2e 20 54 68 65 20 66 69 72 73 74 20 70  url. The first p
c980: 61 72 74 20 6f 66 20 74 68 65 20 75 72 6c 2e 20  art of the url. 
c990: 46 6f 72 20 65 78 61 6d 70 6c 65 0d 0a 20 20 20  For example..   
c9a0: 20 3c 73 74 72 6f 6e 67 3e 68 74 74 70 3a 2f 2f   <strong>http://
c9b0: 6c 6f 63 61 6c 68 6f 73 74 3a 38 30 38 30 3c 2f  localhost:8080</
c9c0: 73 74 72 6f 6e 67 3e 3c 2f 6c 69 3e 0d 0a 20 20  strong></li>..  
c9d0: 20 20 3c 6c 69 3e 24 63 75 72 72 65 6e 74 5f 70    <li>$current_p
c9e0: 61 67 65 2e 20 54 68 65 20 70 61 67 65 20 72 65  age. The page re
c9f0: 71 75 65 73 74 65 64 2e 20 46 6f 72 20 65 78 61  quested. For exa
ca00: 6d 70 6c 65 20 65 64 69 74 69 6e 67 20 61 0d 0a  mple editing a..
ca10: 20 20 20 20 77 69 6b 69 70 61 67 65 20 69 73 20      wikipage is 
ca20: 64 6f 6e 65 20 62 79 20 24 62 61 73 65 75 72 6c  done by $baseurl
ca30: 2f 77 69 6b 69 65 64 69 74 20 24 63 75 72 72 65  /wikiedit $curre
ca40: 6e 74 5f 70 61 67 65 20 69 73 0d 0a 20 20 20 20  nt_page is..    
ca50: 3c 73 74 72 6f 6e 67 3e 77 69 6b 69 65 64 69 74  <strong>wikiedit
ca60: 3c 2f 73 74 72 6f 6e 67 3e 3c 2f 6c 69 3e 0d 0a  </strong></li>..
ca70: 20 20 20 20 3c 6c 69 3e 24 69 6e 64 65 78 5f 70      <li>$index_p
ca80: 61 67 65 3c 73 74 72 6f 6e 67 3e 2e 3c 2f 73 74  age<strong>.</st
ca90: 72 6f 6e 67 3e 20 4d 6f 73 74 6c 79 20 74 68 65  rong> Mostly the
caa0: 20 76 61 6c 75 65 20 69 73 0d 0a 20 20 20 20 3c   value is..    <
cab0: 73 74 72 6f 6e 67 3e 2f 68 6f 6d 65 3c 2f 73 74  strong>/home</st
cac0: 72 6f 6e 67 3e 20 73 65 74 61 62 6c 65 20 69 6e  rong> setable in
cad0: 20 41 64 6d 69 6e 2f 43 6f 6e 66 69 67 75 72 61   Admin/Configura
cae0: 74 69 6f 6e 3c 2f 6c 69 3e 0d 0a 20 20 20 20 3c  tion</li>..    <
caf0: 6c 69 3e 24 74 69 74 6c 65 2e 20 54 68 65 20 74  li>$title. The t
cb00: 69 74 6c 65 20 6f 66 20 74 68 65 20 24 63 75 72  itle of the $cur
cb10: 72 65 6e 74 5f 70 61 67 65 3c 2f 6c 69 3e 0d 0a  rent_page</li>..
cb20: 20 20 20 20 3c 6c 69 3e 24 6c 6f 67 69 6e 2e 20      <li>$login. 
cb30: 54 68 65 20 6e 61 6d 65 20 6f 66 20 75 73 65 72  The name of user
cb40: 20 69 66 20 61 20 6c 6f 67 69 6e 20 68 61 73 20   if a login has 
cb50: 6f 63 63 75 72 72 65 64 2e 20 69 66 20 79 6f 75  occurred. if you
cb60: 0d 0a 20 20 20 20 75 73 65 20 74 68 69 73 20 76  ..    use this v
cb70: 61 72 69 61 62 6c 65 20 61 6c 77 61 79 73 20 63  ariable always c
cb80: 68 65 63 6b 20 69 66 20 69 74 20 65 78 69 73 74  heck if it exist
cb90: 73 20 76 69 61 0d 0a 20 20 20 20 3c 73 74 72 6f  s via..    <stro
cba0: 6e 67 3e 3c 63 6f 64 65 3e 69 6e 66 6f 20 65 78  ng><code>info ex
cbb0: 69 73 74 73 20 6c 6f 67 69 6e 3c 2f 63 6f 64 65  ists login</code
cbc0: 3e 3c 2f 73 74 72 6f 6e 67 3e 3c 2f 6c 69 3e 0d  ></strong></li>.
cbd0: 0a 20 20 20 20 3c 6c 69 3e 24 6d 61 6e 69 66 65  .    <li>$manife
cbe0: 73 74 5f 76 65 72 73 69 6f 6e 2e 20 54 68 65 20  st_version. The 
cbf0: 66 6f 73 73 69 6c 20 76 65 72 73 69 6f 6e 3c 2f  fossil version</
cc00: 6c 69 3e 0d 0a 20 20 20 20 3c 6c 69 3e 24 6d 61  li>..    <li>$ma
cc10: 6e 69 66 65 73 74 5f 64 61 74 65 2e 20 54 68 65  nifest_date. The
cc20: 20 64 61 74 65 20 74 68 61 74 20 66 6f 73 73 69   date that fossi
cc30: 6c 20 76 65 72 73 69 6f 6e 20 77 61 73 0d 0a 20  l version was.. 
cc40: 20 20 20 63 6f 6d 70 69 6c 65 64 3c 2f 6c 69 3e     compiled</li>
cc50: 0d 0a 20 20 3c 2f 75 6c 3e 0d 0a 0d 0a 20 20 3c  ..  </ul>....  <
cc60: 68 33 3e 46 75 6e 63 74 69 6f 6e 73 3c 2f 68 33  h3>Functions</h3
cc70: 3e 0d 0a 20 20 3c 70 3e 0d 0a 20 20 20 20 20 54  >..  <p>..     T
cc80: 68 65 73 65 20 61 72 65 20 6f 6e 6c 79 20 61 76  hese are only av
cc90: 61 69 62 6c 65 20 62 65 74 77 65 65 6e 20 0d 0a  aible between ..
cca0: 20 20 26 6c 74 3b 74 68 31 26 67 74 3b 20 61 6e    &lt;th1&gt; an
ccb0: 64 20 26 6c 74 3b 2f 74 68 31 26 67 74 3b 0d 0a  d &lt;/th1&gt;..
ccc0: 20 20 3c 2f 70 3e 0d 0a 20 20 3c 75 6c 20 63 6f    </p>..  <ul co
ccd0: 6d 70 61 63 74 3d 27 63 6f 6d 70 61 63 74 27 3e  mpact='compact'>
cce0: 0d 0a 20 20 20 20 3c 6c 69 3e 63 6f 6d 62 6f 62  ..    <li>combob
ccf0: 6f 78 20 6e 61 6d 65 20 74 65 78 74 2d 6c 69 73  ox name text-lis
cd00: 74 20 6e 75 6d 6c 69 6e 65 73 2e 20 47 65 6e 65  t numlines. Gene
cd10: 72 61 74 65 73 20 61 20 73 65 6c 65 63 74 20 62  rates a select b
cd20: 6f 78 0d 0a 20 20 20 20 77 69 74 68 20 6e 61 6d  ox..    with nam
cd30: 65 3d 22 6e 61 6d 65 22 20 61 6e 64 20 61 20 63  e="name" and a c
cd40: 67 69 2d 70 61 72 61 6d 65 74 65 72 20 6f 66 20  gi-parameter of 
cd50: 22 6e 61 6d 65 22 3c 2f 6c 69 3e 0d 0a 20 20 20  "name"</li>..   
cd60: 20 3c 6c 69 3e 65 6e 61 62 6c 65 5f 6f 75 74 70   <li>enable_outp
cd70: 75 74 20 62 6f 6f 6c 65 61 6e 3c 2f 6c 69 3e 0d  ut boolean</li>.
cd80: 0a 20 20 20 20 3c 6c 69 3e 6c 69 6e 65 63 6f 75  .    <li>linecou
cd90: 6e 74 20 73 74 72 69 6e 67 20 6d 61 78 20 6d 69  nt string max mi
cda0: 6e 2e 20 43 6f 75 6e 74 73 20 74 68 65 20 6e 75  n. Counts the nu
cdb0: 6d 65 72 20 6f 66 20 6e 65 77 6c 69 6e 65 73 20  mer of newlines 
cdc0: 69 6e 0d 0a 20 20 20 20 73 74 72 69 6e 67 20 62  in..    string b
cdd0: 75 74 20 6e 6f 74 20 6d 6f 72 65 20 74 68 65 6e  ut not more then
cde0: 20 6d 61 78 20 61 6e 64 20 6e 6f 74 20 6c 65 73   max and not les
cdf0: 73 20 74 68 65 6e 20 6d 69 6e 3c 2f 6c 69 3e 0d  s then min</li>.
ce00: 0a 20 20 20 20 3c 6c 69 3e 68 61 73 63 61 70 20  .    <li>hascap 
ce10: 73 74 72 69 6e 67 2e 20 72 65 74 75 72 6e 20 74  string. return t
ce20: 72 75 65 20 69 66 20 75 73 65 72 20 68 61 73 20  rue if user has 
ce30: 61 6c 6c 0d 0a 20 20 20 20 63 61 70 61 62 69 6c  all..    capabil
ce40: 69 74 69 65 73 20 69 6e 20 73 74 72 69 6e 67 3c  ities in string<
ce50: 2f 6c 69 3e 0d 0a 20 20 20 20 3c 6c 69 3e 68 74  /li>..    <li>ht
ce60: 6d 6c 69 7a 65 20 73 74 72 69 6e 67 2e 20 65 78  mlize string. ex
ce70: 63 61 70 65 73 20 61 6c 6c 20 63 68 61 72 73 20  capes all chars 
ce80: 69 6e 20 73 74 72 69 6e 67 20 77 68 69 63 68 20  in string which 
ce90: 68 61 76 65 0d 0a 20 20 20 20 73 70 65 63 69 61  have..    specia
cea0: 6c 20 6d 65 61 6e 69 6e 67 20 69 6e 20 48 54 4d  l meaning in HTM
ceb0: 4c 3c 2f 6c 69 3e 0d 0a 20 20 20 20 3c 6c 69 3e  L</li>..    <li>
cec0: 64 61 74 65 20 72 65 74 75 72 6e 73 20 74 68 65  date returns the
ced0: 20 73 71 6c 69 74 65 20 76 61 6c 75 65 20 6f 66   sqlite value of
cee0: 20 64 61 74 65 74 69 6d 65 28 27 6e 6f 77 27 29   datetime('now')
cef0: 3c 2f 6c 69 3e 0d 0a 20 20 20 20 3c 6c 69 3e 68  </li>..    <li>h
cf00: 74 6d 6c 20 73 74 72 69 6e 67 20 6f 75 74 70 75  tml string outpu
cf10: 74 20 68 74 6d 6c 3c 2f 6c 69 3e 0d 0a 20 20 20  t html</li>..   
cf20: 20 3c 6c 69 3e 70 75 74 73 20 73 74 72 69 6e 67   <li>puts string
cf30: 20 70 72 69 6e 74 73 20 74 68 65 20 73 74 72 69   prints the stri
cf40: 6e 67 3c 2f 6c 69 3e 0d 0a 20 20 20 20 3c 6c 69  ng</li>..    <li
cf50: 3e 77 69 6b 69 20 73 74 72 69 6e 67 2e 20 54 68  >wiki string. Th
cf60: 65 20 73 74 72 69 6e 67 20 69 73 20 69 6e 20 77  e string is in w
cf70: 69 6b 69 20 66 6f 72 6d 61 74 2e 20 74 72 61 6e  iki format. tran
cf80: 73 6c 61 74 65 20 69 74 20 74 6f 0d 0a 20 20 20  slate it to..   
cf90: 20 48 54 4d 4c 3c 2f 6c 69 3e 0d 0a 20 20 3c 2f   HTML</li>..  </
cfa0: 75 6c 3e 0d 0a 3c 6e 6f 77 69 6b 69 3e 0d 0a 20  ul>..<nowiki>.. 
cfb0: 20 3c 68 33 3e 45 78 61 6d 70 6c 65 20 66 72 6f   <h3>Example fro
cfc0: 6d 20 61 64 6d 69 6e 2f 68 65 61 64 65 72 3c 2f  m admin/header</
cfd0: 68 33 3e 0d 0a 20 20 3c 70 72 65 3e 0d 0a 26 6c  h3>..  <pre>..&l
cfe0: 74 3b 68 74 6d 6c 26 67 74 3b 0d 0a 26 6c 74 3b  t;html&gt;..&lt;
cff0: 68 65 61 64 26 67 74 3b 0d 0a 26 6c 74 3b 74 69  head&gt;..&lt;ti
d000: 74 6c 65 26 67 74 3b 3c 73 74 72 6f 6e 67 3e 24  tle&gt;<strong>$
d010: 26 6c 74 3b 70 72 6f 6a 65 63 74 5f 6e 61 6d 65  &lt;project_name
d020: 26 67 74 3b 3c 2f 73 74 72 6f 6e 67 3e 3a 20 3c  &gt;</strong>: <
d030: 73 74 72 6f 6e 67 3e 24 26 6c 74 3b 74 69 74 6c  strong>$&lt;titl
d040: 65 26 67 74 3b 3c 2f 73 74 72 6f 6e 67 3e 26 6c  e&gt;</strong>&l
d050: 74 3b 2f 74 69 74 6c 65 26 67 74 3b 0d 0a 26 6c  t;/title&gt;..&l
d060: 74 3b 6c 69 6e 6b 20 72 65 6c 3d 22 61 6c 74 65  t;link rel="alte
d070: 72 6e 61 74 65 22 20 74 79 70 65 3d 22 61 70 70  rnate" type="app
d080: 6c 69 63 61 74 69 6f 6e 2f 72 73 73 2b 78 6d 6c  lication/rss+xml
d090: 22 20 74 69 74 6c 65 3d 22 52 53 53 20 46 65 65  " title="RSS Fee
d0a0: 64 22 0d 0a 20 20 20 20 20 20 68 72 65 66 3d 22  d"..      href="
d0b0: 3c 73 74 72 6f 6e 67 3e 24 62 61 73 65 75 72 6c  <strong>$baseurl
d0c0: 3c 2f 73 74 72 6f 6e 67 3e 2f 74 69 6d 65 6c 69  </strong>/timeli
d0d0: 6e 65 2e 72 73 73 22 26 67 74 3b 0d 0a 26 6c 74  ne.rss"&gt;..&lt
d0e0: 3b 6c 69 6e 6b 20 72 65 6c 3d 22 73 74 79 6c 65  ;link rel="style
d0f0: 73 68 65 65 74 22 20 68 72 65 66 3d 22 24 62 61  sheet" href="$ba
d100: 73 65 75 72 6c 2f 73 74 79 6c 65 2e 63 73 73 22  seurl/style.css"
d110: 20 74 79 70 65 3d 22 74 65 78 74 2f 63 73 73 22   type="text/css"
d120: 0d 0a 20 20 20 20 20 20 6d 65 64 69 61 3d 22 73  ..      media="s
d130: 63 72 65 65 6e 22 26 67 74 3b 0d 0a 26 6c 74 3b  creen"&gt;..&lt;
d140: 2f 68 65 61 64 26 67 74 3b 0d 0a 26 6c 74 3b 62  /head&gt;..&lt;b
d150: 6f 64 79 26 67 74 3b 0d 0a 26 6c 74 3b 64 69 76  ody&gt;..&lt;div
d160: 20 63 6c 61 73 73 3d 22 68 65 61 64 65 72 22 26   class="header"&
d170: 67 74 3b 0d 0a 20 20 26 6c 74 3b 64 69 76 20 63  gt;..  &lt;div c
d180: 6c 61 73 73 3d 22 6c 6f 67 6f 22 26 67 74 3b 0d  lass="logo"&gt;.
d190: 0a 20 20 20 20 26 6c 74 3b 69 6d 67 20 73 72 63  .    &lt;img src
d1a0: 3d 22 3c 73 74 72 6f 6e 67 3e 24 62 61 73 65 75  ="<strong>$baseu
d1b0: 72 6c 3c 2f 73 74 72 6f 6e 67 3e 2f 6c 6f 67 6f  rl</strong>/logo
d1c0: 22 20 61 6c 74 3d 22 6c 6f 67 6f 22 26 67 74 3b  " alt="logo"&gt;
d1d0: 0d 0a 20 20 20 20 26 6c 74 3b 62 72 26 67 74 3b  ..    &lt;br&gt;
d1e0: 26 6c 74 3b 6e 6f 62 72 26 67 74 3b 3c 73 74 72  &lt;nobr&gt;<str
d1f0: 6f 6e 67 3e 24 26 6c 74 3b 70 72 6f 6a 65 63 74  ong>$&lt;project
d200: 5f 6e 61 6d 65 26 67 74 3b 3c 2f 73 74 72 6f 6e  _name&gt;</stron
d210: 67 3e 26 6c 74 3b 2f 6e 6f 62 72 26 67 74 3b 0d  g>&lt;/nobr&gt;.
d220: 0a 20 20 26 6c 74 3b 2f 64 69 76 26 67 74 3b 0d  .  &lt;/div&gt;.
d230: 0a 20 20 26 6c 74 3b 64 69 76 20 63 6c 61 73 73  .  &lt;div class
d240: 3d 22 74 69 74 6c 65 22 26 67 74 3b 3c 73 74 72  ="title"&gt;<str
d250: 6f 6e 67 3e 24 26 6c 74 3b 74 69 74 6c 65 26 67  ong>$&lt;title&g
d260: 74 3b 3c 2f 73 74 72 6f 6e 67 3e 26 6c 74 3b 2f  t;</strong>&lt;/
d270: 64 69 76 26 67 74 3b 0d 0a 20 20 26 6c 74 3b 64  div&gt;..  &lt;d
d280: 69 76 20 63 6c 61 73 73 3d 22 73 74 61 74 75 73  iv class="status
d290: 22 26 67 74 3b 26 6c 74 3b 6e 6f 62 72 26 67 74  "&gt;&lt;nobr&gt
d2a0: 3b 3c 73 74 72 6f 6e 67 3e 26 6c 74 3b 74 68 31  ;<strong>&lt;th1
d2b0: 26 67 74 3b 3c 2f 73 74 72 6f 6e 67 3e 0d 0a 20  &gt;</strong>.. 
d2c0: 20 20 20 20 69 66 20 7b 3c 73 74 72 6f 6e 67 3e      if {<strong>
d2d0: 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 6c 6f 67  [info exists log
d2e0: 69 6e 5d 3c 2f 73 74 72 6f 6e 67 3e 7d 20 7b 0d  in]</strong>} {.
d2f0: 0a 20 20 20 20 20 20 20 70 75 74 73 20 22 4c 6f  .       puts "Lo
d300: 67 67 65 64 20 69 6e 20 61 73 20 3c 73 74 72 6f  gged in as <stro
d310: 6e 67 3e 24 6c 6f 67 69 6e 3c 2f 73 74 72 6f 6e  ng>$login</stron
d320: 67 3e 22 0d 0a 20 20 20 20 20 7d 20 65 6c 73 65  g>"..     } else
d330: 20 7b 0d 0a 20 20 20 20 20 20 20 70 75 74 73 20   {..       puts 
d340: 22 4e 6f 74 20 6c 6f 67 67 65 64 20 69 6e 22 0d  "Not logged in".
d350: 0a 20 20 20 20 20 7d 0d 0a 20 20 26 6c 74 3b 2f  .     }..  &lt;/
d360: 74 68 31 26 67 74 3b 26 6c 74 3b 2f 6e 6f 62 72  th1&gt;&lt;/nobr
d370: 26 67 74 3b 26 6c 74 3b 2f 64 69 76 26 67 74 3b  &gt;&lt;/div&gt;
d380: 0d 0a 26 6c 74 3b 2f 64 69 76 26 67 74 3b 0d 0a  ..&lt;/div&gt;..
d390: 26 6c 74 3b 64 69 76 20 63 6c 61 73 73 3d 22 6d  &lt;div class="m
d3a0: 61 69 6e 6d 65 6e 75 22 26 67 74 3b 26 6c 74 3b  ainmenu"&gt;&lt;
d3b0: 74 68 31 26 67 74 3b 0d 0a 68 74 6d 6c 20 22 26  th1&gt;..html "&
d3c0: 6c 74 3b 61 20 68 72 65 66 3d 27 3c 73 74 72 6f  lt;a href='<stro
d3d0: 6e 67 3e 24 62 61 73 65 75 72 6c 24 69 6e 64 65  ng>$baseurl$inde
d3e0: 78 5f 70 61 67 65 3c 2f 73 74 72 6f 6e 67 3e 27  x_page</strong>'
d3f0: 26 67 74 3b 48 6f 6d 65 26 6c 74 3b 2f 61 26 67  &gt;Home&lt;/a&g
d400: 74 3b 20 22 0d 0a 69 66 20 7b 3c 73 74 72 6f 6e  t; "..if {<stron
d410: 67 3e 5b 68 61 73 63 61 70 20 68 5d 3c 2f 73 74  g>[hascap h]</st
d420: 72 6f 6e 67 3e 5d 7d 20 7b 0d 0a 20 20 68 74 6d  rong>]} {..  htm
d430: 6c 20 22 26 6c 74 3b 61 20 68 72 65 66 3d 27 24  l "&lt;a href='$
d440: 62 61 73 65 75 72 6c 2f 64 69 72 27 26 67 74 3b  baseurl/dir'&gt;
d450: 46 69 6c 65 73 26 6c 74 3b 2f 61 26 67 74 3b 20  Files&lt;/a&gt; 
d460: 22 0d 0a 7d 0d 0a 3c 2f 70 72 65 3e 0d 0a 0d 0a  "..}..</pre>....
d470: 20 20 3c 68 33 3e 43 61 76 65 61 74 73 3c 2f 68    <h3>Caveats</h
d480: 33 3e 0d 0a 0d 0a 20 20 3c 75 6c 20 63 6f 6d 70  3>....  <ul comp
d490: 61 63 74 3d 27 63 6f 6d 70 61 63 74 27 3e 0d 0a  act='compact'>..
d4a0: 20 20 20 20 3c 6c 69 3e 70 75 74 73 20 22 5b 68      <li>puts "[h
d4b0: 65 6c 6c 6f 20 68 65 6c 6c 6f 5d 22 20 64 6f 65  ello hello]" doe
d4c0: 73 6e 27 74 20 77 6f 72 6b 20 62 65 63 61 75 73  sn't work becaus
d4d0: 65 20 5b 20 74 72 69 67 67 65 72 73 20 74 68 65  e [ triggers the
d4e0: 0d 0a 20 20 20 20 69 6e 74 65 72 70 65 74 65 72  ..    interpeter
d4f0: 2c 20 75 73 65 20 70 75 74 73 20 22 26 61 6d 70  , use puts "&amp
d500: 3b 23 39 31 68 65 6c 6c 6f 20 68 65 6c 6c 6f 5d  ;#91hello hello]
d510: 27 3c 2f 6c 69 3e 0d 0a 20 20 3c 2f 75 6c 3e 0d  '</li>..  </ul>.
d520: 0a 3c 2f 6e 6f 77 69 6b 69 3e 0d 0a 3c 2f 64 69  .</nowiki>..</di
d530: 76 3e 0d 0a 3c 64 69 76 3e 0d 0a 20 20 3c 68 32  v>..<div>..  <h2
d540: 3e 3c 61 20 6e 61 6d 65 3d 22 76 65 72 73 69 6f  ><a name="versio
d550: 6e 43 6f 6d 70 72 65 73 73 65 64 22 3e 56 65 72  nCompressed">Ver
d560: 73 69 6f 6e 69 6e 67 20 63 6f 6d 70 72 65 73 73  sioning compress
d570: 65 64 20 66 69 6c 65 73 3c 2f 61 3e 3c 2f 68 32  ed files</a></h2
d580: 3e 0d 0a 20 20 3c 68 33 3e 47 6f 61 6c 3c 2f 68  >..  <h3>Goal</h
d590: 33 3e 0d 0a 20 20 3c 70 3e 53 6f 6d 65 20 66 69  3>..  <p>Some fi
d5a0: 6c 65 20 66 6f 72 6d 61 74 73 20 61 72 65 20 61  le formats are a
d5b0: 63 74 75 61 6c 6c 79 20 7a 69 70 20 61 72 63 68  ctually zip arch
d5c0: 69 76 65 73 20 63 6f 6e 74 61 69 6e 69 6e 67 20  ives containing 
d5d0: 74 65 78 74 20 66 69 6c 65 73 2e 20 46 6f 72 0d  text files. For.
d5e0: 0a 20 20 65 78 61 6d 70 6c 65 20 4d 69 63 72 6f  .  example Micro
d5f0: 73 6f 66 74 20 4f 66 66 69 63 65 20 32 30 30 37  soft Office 2007
d600: 20 61 6e 64 20 6e 65 77 65 72 20 75 73 65 20 64   and newer use d
d610: 6f 63 78 2c 20 78 6c 73 78 20 61 6e 64 20 70 70  ocx, xlsx and pp
d620: 74 78 20 65 78 74 65 6e 73 69 6f 6e 73 20 74 6f  tx extensions to
d630: 0d 0a 20 20 73 74 6f 72 65 20 77 68 61 74 20 69  ..  store what i
d640: 73 20 6d 65 72 65 6c 79 20 78 6d 6c 20 66 69 6c  s merely xml fil
d650: 65 73 20 7a 69 70 70 65 64 20 69 6e 74 6f 20 61  es zipped into a
d660: 20 66 69 6c 65 2e 3c 2f 70 3e 0d 0a 20 20 3c 70   file.</p>..  <p
d670: 3e 57 68 65 6e 20 65 64 69 74 73 20 61 72 65 20  >When edits are 
d680: 6d 61 64 65 20 74 6f 20 73 75 63 68 20 66 69 6c  made to such fil
d690: 65 73 20 61 20 76 65 72 73 69 6f 6e 69 6e 67 20  es a versioning 
d6a0: 73 79 73 74 65 6d 20 69 73 20 6e 6f 74 20 65 66  system is not ef
d6b0: 66 69 63 69 65 6e 74 0d 0a 20 20 62 65 63 61 75  ficient..  becau
d6c0: 73 65 20 64 69 66 66 69 6e 67 20 69 73 20 6e 6f  se diffing is no
d6d0: 20 6d 6f 72 65 20 61 70 70 72 6f 70 72 69 61 74   more appropriat
d6e0: 65 3c 2f 70 3e 0d 0a 20 20 3c 70 3e 54 68 65 20  e</p>..  <p>The 
d6f0: 69 64 65 61 20 69 73 20 74 6f 20 76 65 72 73 69  idea is to versi
d700: 6f 6e 20 74 68 65 20 64 65 63 6f 6d 70 72 65 73  on the decompres
d710: 73 65 64 20 66 6f 6c 64 65 72 2e 20 41 20 73 63  sed folder. A sc
d720: 72 69 70 74 20 77 69 6c 6c 20 74 6f 67 67 6c 65  ript will toggle
d730: 0d 0a 20 20 43 6f 6d 70 72 65 73 73 65 64 2f 55  ..  Compressed/U
d740: 6e 63 6f 6d 70 72 65 73 73 65 64 20 73 74 61 74  ncompressed stat
d750: 65 3c 2f 70 3e 0d 0a 20 20 3c 68 33 3e 53 61 6d  e</p>..  <h3>Sam
d760: 70 6c 65 20 62 61 74 63 68 20 73 63 72 69 70 74  ple batch script
d770: 20 66 6f 72 20 75 73 65 20 77 69 74 68 20 64 6f   for use with do
d780: 63 78 2c 20 78 6c 73 78 20 61 6e 64 20 70 70 74  cx, xlsx and ppt
d790: 78 20 64 6f 63 75 6d 65 6e 74 73 3c 2f 68 33 3e  x documents</h3>
d7a0: 0d 0a 20 20 3c 70 3e 54 68 69 73 20 73 63 72 69  ..  <p>This scri
d7b0: 70 74 20 69 73 20 69 6e 74 65 6e 64 65 64 20 74  pt is intended t
d7c0: 6f 20 77 6f 72 6b 20 75 6e 64 65 72 20 4d 53 20  o work under MS 
d7d0: 57 69 6e 64 6f 77 73 2e 20 49 74 20 72 65 71 75  Windows. It requ
d7e0: 69 72 65 73 0d 0a 20 20 7a 69 70 2e 65 78 65 20  ires..  zip.exe 
d7f0: 61 6e 64 20 75 6e 7a 69 70 2e 65 78 65 0d 0a 20  and unzip.exe.. 
d800: 20 74 68 61 74 20 79 6f 75 20 63 61 6e 20 66 69   that you can fi
d810: 6e 64 20 66 6f 72 20 65 78 61 6d 70 6c 65 20 69  nd for example i
d820: 6e 20 67 6e 75 77 69 6e 33 32 20 28 5b 68 74 74  n gnuwin32 ([htt
d830: 70 3a 2f 2f 67 65 74 67 6e 75 77 69 6e 33 32 2e  p://getgnuwin32.
d840: 73 66 2e 6e 65 74 5d 29 2e 3c 2f 70 3e 0d 0a 20  sf.net]).</p>.. 
d850: 20 3c 70 3e 59 6f 75 20 68 61 76 65 20 74 68 72   <p>You have thr
d860: 65 65 20 76 61 72 69 61 62 6c 65 73 20 74 6f 20  ee variables to 
d870: 73 65 74 2e 20 52 75 6e 6e 69 6e 67 20 74 68 69  set. Running thi
d880: 73 20 73 63 72 69 70 74 20 77 69 6c 6c 3c 2f 70  s script will</p
d890: 3e 0d 0a 20 20 3c 75 6c 20 63 6f 6d 70 61 63 74  >..  <ul compact
d8a0: 3d 27 63 6f 6d 70 61 63 74 27 3e 0d 0a 20 20 20  ='compact'>..   
d8b0: 20 3c 6c 69 3e 41 75 74 6f 64 65 74 65 63 74 20   <li>Autodetect 
d8c0: 77 68 65 74 68 65 72 20 74 68 65 20 64 6f 63 75  whether the docu
d8d0: 6d 65 6e 74 20 69 73 20 69 6e 20 63 6f 6d 70 72  ment is in compr
d8e0: 65 73 73 65 64 20 6f 72 20 75 6e 63 6f 6d 70 72  essed or uncompr
d8f0: 65 73 73 65 64 0d 0a 20 20 20 20 73 74 61 74 65  essed..    state
d900: 3c 2f 6c 69 3e 0d 0a 20 20 20 20 3c 6c 69 3e 43  </li>..    <li>C
d910: 6f 6e 76 65 72 74 20 66 69 6c 65 20 4d 79 5f 64  onvert file My_d
d920: 6f 63 75 6d 65 6e 74 2e 64 6f 63 78 20 69 6e 74  ocument.docx int
d930: 6f 20 61 20 64 69 72 65 63 74 6f 72 79 20 6f 66  o a directory of
d940: 20 74 68 65 20 73 61 6d 65 20 6e 61 6d 65 3c 2f   the same name</
d950: 6c 69 3e 0d 0a 20 20 20 20 3c 6c 69 3e 52 65 6e  li>..    <li>Ren
d960: 61 6d 65 20 66 69 6c 65 20 3c 6e 6f 77 69 6b 69  ame file <nowiki
d970: 3e 5b 43 6f 6e 74 65 6e 74 5f 54 79 70 65 73 5d  >[Content_Types]
d980: 3c 2f 6e 6f 77 69 6b 69 3e 2e 78 6d 6c 20 74 6f  </nowiki>.xml to
d990: 20 61 20 6e 61 6d 65 20 77 69 74 68 6f 75 74 0d   a name without.
d9a0: 0a 20 20 20 20 62 72 61 63 6b 65 74 73 20 28 62  .    brackets (b
d9b0: 72 61 63 6b 65 74 73 20 69 6e 20 66 69 6c 65 20  rackets in file 
d9c0: 6e 61 6d 65 73 20 61 72 65 20 6e 6f 74 20 73 75  names are not su
d9d0: 70 70 6f 72 74 65 64 20 62 79 20 46 6f 73 73 69  pported by Fossi
d9e0: 6c 29 3c 2f 6c 69 3e 0d 0a 20 20 20 20 3c 6c 69  l)</li>..    <li
d9f0: 3e 70 65 72 66 6f 72 6d 20 72 65 76 65 72 73 65  >perform reverse
da00: 20 6f 70 65 72 61 74 69 6f 6e 73 20 74 6f 20 63   operations to c
da10: 6f 6e 76 65 72 74 20 64 69 72 65 63 74 6f 72 79  onvert directory
da20: 20 74 6f 20 63 6f 6d 70 72 65 73 73 65 64 0d 0a   to compressed..
da30: 20 20 20 20 64 6f 63 78 2f 78 6c 73 78 2f 70 70      docx/xlsx/pp
da40: 74 78 20 66 69 6c 65 2e 3c 2f 6c 69 3e 0d 0a 20  tx file.</li>.. 
da50: 20 3c 2f 75 6c 3e 0d 0a 20 20 3c 70 3e 49 6e 20   </ul>..  <p>In 
da60: 74 68 69 73 20 77 61 79 20 79 6f 75 20 63 61 6e  this way you can
da70: 20 77 6f 72 6b 20 6f 6e 20 61 20 64 6f 63 78 20   work on a docx 
da80: 64 6f 63 75 6d 65 6e 74 2c 20 72 75 6e 20 74 68  document, run th
da90: 65 20 73 63 72 69 70 74 2c 20 69 6e 73 65 72 74  e script, insert
daa0: 20 74 68 65 0d 0a 20 20 75 6e 63 6f 6d 70 72 65   the..  uncompre
dab0: 73 73 65 64 20 66 6f 6c 64 65 72 20 69 6e 74 6f  ssed folder into
dac0: 20 66 6f 73 73 69 6c 20 61 6e 64 20 72 75 6e 20   fossil and run 
dad0: 74 68 65 20 73 63 72 69 70 74 20 61 67 61 69 6e  the script again
dae0: 20 74 6f 20 67 65 74 20 79 6f 75 72 20 64 6f 63   to get your doc
daf0: 75 6d 65 6e 74 0d 0a 20 20 62 61 63 6b 20 69 6e  ument..  back in
db00: 20 65 64 69 74 61 62 6c 65 20 73 74 61 74 65 2e   editable state.
db10: 3c 2f 70 3e 0d 0a 20 20 3c 70 3e 3c 73 74 72 6f  </p>..  <p><stro
db20: 6e 67 3e 49 6d 70 6f 72 74 61 6e 74 3a 3c 2f 73  ng>Important:</s
db30: 74 72 6f 6e 67 3e 20 55 73 65 20 74 68 65 20 3c  trong> Use the <
db40: 74 74 3e 2d 2d 64 6f 74 66 69 6c 65 73 3c 2f 74  tt>--dotfiles</t
db50: 74 3e 20 6f 70 74 69 6f 6e 20 74 6f 20 74 68 65  t> option to the
db60: 20 61 64 64 20 63 6f 6d 6d 61 6e 64 20 74 6f 20   add command to 
db70: 69 6e 63 6c 75 64 65 20 3c 74 74 3e 72 65 6c 73  include <tt>rels
db80: 2f 2e 72 65 6c 73 3c 2f 74 74 3e 20 66 69 6c 65  /.rels</tt> file
db90: 2e 3c 2f 70 3e 0d 0a 20 20 3c 66 6f 6e 74 20 66  .</p>..  <font f
dba0: 61 63 65 3d 22 6d 6f 6e 6f 73 70 61 63 65 22 3e  ace="monospace">
dbb0: 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  ..<font color="#
dbc0: 38 30 38 30 38 30 22 3e 26 6e 62 73 70 3b 31 20  808080">&nbsp;1 
dbd0: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
dbe0: 6f 72 3d 22 23 33 61 35 66 63 64 22 3e 3c 69 3e  or="#3a5fcd"><i>
dbf0: 3a 3a 20 74 6f 67 67 6c 65 20 64 6f 63 78 20 73  :: toggle docx s
dc00: 74 61 74 65 20 28 63 6f 6d 70 72 65 73 73 65 64  tate (compressed
dc10: 20 2f 20 75 6e 63 6f 6d 70 72 65 73 73 65 64 29   / uncompressed)
dc20: 3c 2f 69 3e 3c 2f 66 6f 6e 74 3e 3c 62 72 20 2f  </i></font><br /
dc30: 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  >..<font color="
dc40: 23 38 30 38 30 38 30 22 3e 26 6e 62 73 70 3b 32  #808080">&nbsp;2
dc50: 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f   </font><font co
dc60: 6c 6f 72 3d 22 23 33 61 35 66 63 64 22 3e 3c 69  lor="#3a5fcd"><i
dc70: 3e 3a 3a 20 40 65 63 68 6f 20 6f 66 66 3c 2f 69  >:: @echo off</i
dc80: 3e 3c 2f 66 6f 6e 74 3e 3c 62 72 20 2f 3e 0d 0a  ></font><br />..
dc90: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 30  <font color="#80
dca0: 38 30 38 30 22 3e 26 6e 62 73 70 3b 33 20 3c 2f  8080">&nbsp;3 </
dcb0: 66 6f 6e 74 3e 3c 62 72 20 2f 3e 0d 0a 3c 66 6f  font><br />..<fo
dcc0: 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 30 38 30 38  nt color="#80808
dcd0: 30 22 3e 26 6e 62 73 70 3b 34 20 3c 2f 66 6f 6e  0">&nbsp;4 </fon
dce0: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
dcf0: 38 62 34 37 32 36 22 3e 53 45 54 3c 2f 66 6f 6e  8b4726">SET</fon
dd00: 74 3e 3c 66 6f 6e 74 0d 0a 63 6f 6c 6f 72 3d 22  t><font..color="
dd10: 23 38 62 34 37 32 36 22 3e 26 6e 62 73 70 3b 44  #8b4726">&nbsp;D
dd20: 4f 43 58 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 0d  OCX</font><font.
dd30: 0a 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36 22  .color="#8b4726"
dd40: 3e 3c 62 3e 3d 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e  ><b>=</b></font>
dd50: 4d 79 5f 64 6f 63 75 6d 65 6e 74 2e 64 6f 63 78  My_document.docx
dd60: 3c 62 72 20 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f  <br />..<font co
dd70: 6c 6f 72 3d 22 23 38 30 38 30 38 30 22 3e 26 6e  lor="#808080">&n
dd80: 62 73 70 3b 35 20 3c 2f 66 6f 6e 74 3e 3c 66 6f  bsp;5 </font><fo
dd90: 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32  nt color="#8b472
dda0: 36 22 3e 53 45 54 3c 2f 66 6f 6e 74 3e 3c 66 6f  6">SET</font><fo
ddb0: 6e 74 0d 0a 63 6f 6c 6f 72 3d 22 23 38 62 34 37  nt..color="#8b47
ddc0: 32 36 22 3e 26 6e 62 73 70 3b 54 4d 50 46 49 4c  26">&nbsp;TMPFIL
ddd0: 45 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 0d 0a 63  E</font><font..c
dde0: 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36 22 3e 3c  olor="#8b4726"><
ddf0: 62 3e 3d 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 74 6d  b>=</b></font>tm
de00: 70 5f 76 65 72 73 69 6f 6e 5f 63 6f 6d 70 72 65  p_version_compre
de10: 73 73 65 64 5f 61 72 63 68 69 76 65 2e 7a 69 70  ssed_archive.zip
de20: 3c 62 72 20 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f  <br />..<font co
de30: 6c 6f 72 3d 22 23 38 30 38 30 38 30 22 3e 26 6e  lor="#808080">&n
de40: 62 73 70 3b 36 20 3c 2f 66 6f 6e 74 3e 3c 66 6f  bsp;6 </font><fo
de50: 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32  nt color="#8b472
de60: 36 22 3e 53 45 54 3c 2f 66 6f 6e 74 3e 3c 66 6f  6">SET</font><fo
de70: 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32  nt color="#8b472
de80: 36 22 3e 26 6e 62 73 70 3b 43 4d 44 5a 49 50 3c  6">&nbsp;CMDZIP<
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 38 62 34 37 32 36 22 3e 3c 62 3e 3d  r="#8b4726"><b>=
deb0: 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74  </b></font><font
dec0: 20 63 6f 6c 6f 72 3d 22 23 32 32 38 62 32 32 22   color="#228b22"
ded0: 3e 26 71 75 6f 74 3b 50 3a 5c 62 69 6e 5c 7a 69  >&quot;P:\bin\zi
dee0: 70 2e 65 78 65 26 71 75 6f 74 3b 3c 2f 66 6f 6e  p.exe&quot;</fon
def0: 74 3e 3c 62 72 20 2f 3e 0d 0a 3c 66 6f 6e 74 20  t><br />..<font 
df00: 63 6f 6c 6f 72 3d 22 23 38 30 38 30 38 30 22 3e  color="#808080">
df10: 26 6e 62 73 70 3b 37 20 3c 2f 66 6f 6e 74 3e 3c  &nbsp;7 </font><
df20: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34  font color="#8b4
df30: 37 32 36 22 3e 53 45 54 3c 2f 66 6f 6e 74 3e 3c  726">SET</font><
df40: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34  font color="#8b4
df50: 37 32 36 22 3e 26 6e 62 73 70 3b 43 4d 44 55 4e  726">&nbsp;CMDUN
df60: 5a 49 50 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  ZIP</font><font 
df70: 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36 22 3e  color="#8b4726">
df80: 3c 62 3e 3d 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c  <b>=</b></font><
df90: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 32 32 38  font color="#228
dfa0: 62 32 32 22 3e 26 71 75 6f 74 3b 50 3a 5c 62 69  b22">&quot;P:\bi
dfb0: 6e 5c 75 6e 7a 69 70 2e 65 78 65 26 71 75 6f 74  n\unzip.exe&quot
dfc0: 3b 3c 2f 66 6f 6e 74 3e 3c 62 72 20 2f 3e 0d 0a  ;</font><br />..
dfd0: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 30  <font color="#80
dfe0: 38 30 38 30 22 3e 26 6e 62 73 70 3b 38 20 3c 2f  8080">&nbsp;8 </
dff0: 66 6f 6e 74 3e 3c 62 72 20 2f 3e 0d 0a 3c 66 6f  font><br />..<fo
e000: 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 30 38 30 38  nt color="#80808
e010: 30 22 3e 26 6e 62 73 70 3b 39 20 3c 2f 66 6f 6e  0">&nbsp;9 </fon
e020: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
e030: 33 61 35 66 63 64 22 3e 3c 69 3e 3a 3a 20 63 68  3a5fcd"><i>:: ch
e040: 65 63 6b 20 77 68 65 74 68 65 72 20 69 74 20 69  eck whether it i
e050: 73 20 69 6e 20 61 20 64 69 72 65 63 74 6f 72 79  s in a directory
e060: 20 6f 72 20 66 69 6c 65 20 73 74 61 74 65 3c 2f   or file state</
e070: 69 3e 3c 2f 66 6f 6e 74 3e 3c 62 72 20 2f 3e 0d  i></font><br />.
e080: 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38  .<font color="#8
e090: 30 38 30 38 30 22 3e 31 30 20 3c 2f 66 6f 6e 74  08080">10 </font
e0a0: 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38  ><font color="#8
e0b0: 62 34 37 32 36 22 3e 3c 62 3e 69 66 3c 2f 62 3e  b4726"><b>if</b>
e0c0: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
e0d0: 6f 72 3d 22 23 38 62 34 37 32 36 22 3e 3c 62 3e  or="#8b4726"><b>
e0e0: 26 6e 62 73 70 3b 65 78 69 73 74 3c 2f 62 3e 3c  &nbsp;exist</b><
e0f0: 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e  /font>&nbsp;<fon
e100: 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36  t color="#8b4726
e110: 22 3e 25 54 45 4d 50 25 3c 2f 66 6f 6e 74 3e 5c  ">%TEMP%</font>\
e120: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62  <font color="#8b
e130: 34 37 32 36 22 3e 25 54 4d 50 46 49 4c 45 25 3c  4726">%TMPFILE%<
e140: 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e  /font>&nbsp;<fon
e150: 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36  t color="#8b4726
e160: 22 3e 64 65 6c 3c 2f 66 6f 6e 74 3e 26 6e 62 73  ">del</font>&nbs
e170: 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  p;<font color="#
e180: 32 37 34 30 38 62 22 3e 2f 71 3c 2f 66 6f 6e 74  27408b">/q</font
e190: 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c  >&nbsp;<font col
e1a0: 6f 72 3d 22 23 32 32 38 62 32 32 22 3e 26 71 75  or="#228b22">&qu
e1b0: 6f 74 3b 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  ot;</font><font 
e1c0: 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36 22 3e  color="#8b4726">
e1d0: 25 54 45 4d 50 25 3c 2f 66 6f 6e 74 3e 3c 66 6f  %TEMP%</font><fo
e1e0: 6e 74 20 63 6f 6c 6f 72 3d 22 23 32 32 38 62 32  nt color="#228b2
e1f0: 32 22 3e 5c 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74  2">\</font><font
e200: 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36 22   color="#8b4726"
e210: 3e 25 54 4d 50 46 49 4c 45 25 3c 2f 66 6f 6e 74  >%TMPFILE%</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 26 71 75 6f 74 3b 3c 2f 66  28b22">&quot;</f
e240: 6f 6e 74 3e 3c 62 72 20 2f 3e 0d 0a 3c 66 6f 6e  ont><br />..<fon
e250: 74 20 63 6f 6c 6f 72 3d 22 23 38 30 38 30 38 30  t color="#808080
e260: 22 3e 31 31 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  ">11 </font><fon
e270: 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36  t color="#8b4726
e280: 22 3e 3c 62 3e 69 66 3c 2f 62 3e 3c 2f 66 6f 6e  "><b>if</b></fon
e290: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
e2a0: 38 62 34 37 32 36 22 3e 3c 62 3e 26 6e 62 73 70  8b4726"><b>&nbsp
e2b0: 3b 65 78 69 73 74 3c 2f 62 3e 3c 2f 66 6f 6e 74  ;exist</b></font
e2c0: 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c  >&nbsp;<font col
e2d0: 6f 72 3d 22 23 38 62 34 37 32 36 22 3e 25 44 4f  or="#8b4726">%DO
e2e0: 43 58 25 3c 2f 66 6f 6e 74 3e 5c 4e 55 4c 20 28  CX%</font>\NUL (
e2f0: 3c 62 72 20 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f  <br />..<font co
e300: 6c 6f 72 3d 22 23 38 30 38 30 38 30 22 3e 31 32  lor="#808080">12
e310: 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e   </font>&nbsp;&n
e320: 62 73 70 3b 26 6e 62 73 70 3b 26 6e 62 73 70 3b  bsp;&nbsp;&nbsp;
e330: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62  <font color="#8b
e340: 34 37 32 36 22 3e 3c 62 3e 63 61 6c 6c 3c 2f 62  4726"><b>call</b
e350: 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f  ></font><font co
e360: 6c 6f 72 3d 22 23 38 62 34 37 32 36 22 3e 3c 62  lor="#8b4726"><b
e370: 3e 3c 75 3e 26 6e 62 73 70 3b 3a 7a 69 70 5f 64  ><u>&nbsp;:zip_d
e380: 69 72 65 63 74 6f 72 79 3c 2f 75 3e 3c 2f 62 3e  irectory</u></b>
e390: 3c 2f 66 6f 6e 74 3e 3c 62 72 20 2f 3e 0d 0a 3c  </font><br />..<
e3a0: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 30 38  font color="#808
e3b0: 30 38 30 22 3e 31 33 20 3c 2f 66 6f 6e 74 3e 26  080">13 </font>&
e3c0: 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e 62 73 70  nbsp;&nbsp;&nbsp
e3d0: 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c  ;&nbsp;<font col
e3e0: 6f 72 3d 22 23 38 62 34 37 32 36 22 3e 3c 62 3e  or="#8b4726"><b>
e3f0: 67 6f 74 6f 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c  goto</b></font><
e400: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34  font color="#8b4
e410: 37 32 36 22 3e 3c 62 3e 3c 75 3e 26 6e 62 73 70  726"><b><u>&nbsp
e420: 3b 3a 65 6e 64 3c 2f 75 3e 3c 2f 62 3e 3c 2f 66  ;:end</u></b></f
e430: 6f 6e 74 3e 3c 62 72 20 2f 3e 0d 0a 3c 66 6f 6e  ont><br />..<fon
e440: 74 20 63 6f 6c 6f 72 3d 22 23 38 30 38 30 38 30  t color="#808080
e450: 22 3e 31 34 20 3c 2f 66 6f 6e 74 3e 29 3c 62 72  ">14 </font>)<br
e460: 20 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72   />..<font color
e470: 3d 22 23 38 30 38 30 38 30 22 3e 31 35 20 3c 2f  ="#808080">15 </
e480: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
e490: 3d 22 23 38 62 34 37 32 36 22 3e 3c 62 3e 69 66  ="#8b4726"><b>if
e4a0: 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74  </b></font><font
e4b0: 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36 22   color="#8b4726"
e4c0: 3e 3c 62 3e 26 6e 62 73 70 3b 65 78 69 73 74 3c  ><b>&nbsp;exist<
e4d0: 2f 62 3e 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b  /b></font>&nbsp;
e4e0: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62  <font color="#8b
e4f0: 34 37 32 36 22 3e 25 44 4f 43 58 25 3c 2f 66 6f  4726">%DOCX%</fo
e500: 6e 74 3e 26 6e 62 73 70 3b 28 3c 62 72 20 2f 3e  nt>&nbsp;(<br />
e510: 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  ..<font color="#
e520: 38 30 38 30 38 30 22 3e 31 36 20 3c 2f 66 6f 6e  808080">16 </fon
e530: 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e  t>&nbsp;&nbsp;&n
e540: 62 73 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74 20  bsp;&nbsp;<font 
e550: 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36 22 3e  color="#8b4726">
e560: 3c 62 3e 63 61 6c 6c 3c 2f 62 3e 3c 2f 66 6f 6e  <b>call</b></fon
e570: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
e580: 38 62 34 37 32 36 22 3e 3c 62 3e 3c 75 3e 26 6e  8b4726"><b><u>&n
e590: 62 73 70 3b 3a 75 6e 7a 69 70 5f 66 69 6c 65 3c  bsp;:unzip_file<
e5a0: 2f 75 3e 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 62  /u></b></font><b
e5b0: 72 20 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f  r />..<font colo
e5c0: 72 3d 22 23 38 30 38 30 38 30 22 3e 31 37 20 3c  r="#808080">17 <
e5d0: 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73  /font>&nbsp;&nbs
e5e0: 70 3b 26 6e 62 73 70 3b 26 6e 62 73 70 3b 3c 66  p;&nbsp;&nbsp;<f
e5f0: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37  ont color="#8b47
e600: 32 36 22 3e 3c 62 3e 67 6f 74 6f 3c 2f 62 3e 3c  26"><b>goto</b><
e610: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
e620: 72 3d 22 23 38 62 34 37 32 36 22 3e 3c 62 3e 3c  r="#8b4726"><b><
e630: 75 3e 26 6e 62 73 70 3b 3a 65 6e 64 3c 2f 75 3e  u>&nbsp;:end</u>
e640: 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 62 72 20 2f  </b></font><br /
e650: 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  >..<font color="
e660: 23 38 30 38 30 38 30 22 3e 31 38 20 3c 2f 66 6f  #808080">18 </fo
e670: 6e 74 3e 29 3c 62 72 20 2f 3e 0d 0a 3c 66 6f 6e  nt>)<br />..<fon
e680: 74 20 63 6f 6c 6f 72 3d 22 23 38 30 38 30 38 30  t color="#808080
e690: 22 3e 31 39 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  ">19 </font><fon
e6a0: 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36  t color="#8b4726
e6b0: 22 3e 65 63 68 6f 3c 2f 66 6f 6e 74 3e 3c 66 6f  ">echo</font><fo
e6c0: 6e 74 20 63 6f 6c 6f 72 3d 22 23 32 32 38 62 32  nt color="#228b2
e6d0: 32 22 3e 26 6e 62 73 70 3b 3c 2f 66 6f 6e 74 3e  2">&nbsp;</font>
e6e0: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62  <font color="#8b
e6f0: 34 37 32 36 22 3e 25 44 4f 43 58 25 3c 2f 66 6f  4726">%DOCX%</fo
e700: 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  nt><font color="
e710: 23 32 32 38 62 32 32 22 3e 26 6e 62 73 70 3b 6e  #228b22">&nbsp;n
e720: 6f 74 20 66 6f 75 6e 64 3c 2f 66 6f 6e 74 3e 3c  ot found</font><
e730: 62 72 20 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c  br />..<font col
e740: 6f 72 3d 22 23 38 30 38 30 38 30 22 3e 32 30 20  or="#808080">20 
e750: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
e760: 6f 72 3d 22 23 38 62 34 37 32 36 22 3e 3c 62 3e  or="#8b4726"><b>
e770: 67 6f 74 6f 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c  goto</b></font><
e780: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34  font color="#8b4
e790: 37 32 36 22 3e 3c 62 3e 3c 75 3e 26 6e 62 73 70  726"><b><u>&nbsp
e7a0: 3b 3a 65 6e 64 3c 2f 75 3e 3c 2f 62 3e 3c 2f 66  ;:end</u></b></f
e7b0: 6f 6e 74 3e 3c 62 72 20 2f 3e 0d 0a 3c 66 6f 6e  ont><br />..<fon
e7c0: 74 20 63 6f 6c 6f 72 3d 22 23 38 30 38 30 38 30  t color="#808080
e7d0: 22 3e 32 31 20 3c 2f 66 6f 6e 74 3e 3c 62 72 20  ">21 </font><br 
e7e0: 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  />..<font color=
e7f0: 22 23 38 30 38 30 38 30 22 3e 32 32 20 3c 2f 66  "#808080">22 </f
e800: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
e810: 22 23 38 62 34 37 32 36 22 3e 3c 62 3e 3c 75 3e  "#8b4726"><b><u>
e820: 3a 7a 69 70 5f 64 69 72 65 63 74 6f 72 79 3c 2f  :zip_directory</
e830: 75 3e 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 62 72  u></b></font><br
e840: 20 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72   />..<font color
e850: 3d 22 23 38 30 38 30 38 30 22 3e 32 33 20 3c 2f  ="#808080">23 </
e860: 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70  font>&nbsp;&nbsp
e870: 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38  ;<font color="#8
e880: 62 34 37 32 36 22 3e 65 63 68 6f 3c 2f 66 6f 6e  b4726">echo</fon
e890: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
e8a0: 32 32 38 62 32 32 22 3e 26 6e 62 73 70 3b 5a 69  228b22">&nbsp;Zi
e8b0: 70 70 69 6e 67 20 3c 2f 66 6f 6e 74 3e 3c 66 6f  pping </font><fo
e8c0: 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32  nt color="#8b472
e8d0: 36 22 3e 25 44 4f 43 58 25 3c 2f 66 6f 6e 74 3e  6">%DOCX%</font>
e8e0: 3c 62 72 20 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f  <br />..<font co
e8f0: 6c 6f 72 3d 22 23 38 30 38 30 38 30 22 3e 32 34  lor="#808080">24
e900: 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e   </font>&nbsp;&n
e910: 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  bsp;<font color=
e920: 22 23 38 62 34 37 32 36 22 3e 70 75 73 68 64 3c  "#8b4726">pushd<
e930: 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e  /font>&nbsp;<fon
e940: 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36  t color="#8b4726
e950: 22 3e 25 44 4f 43 58 25 3c 2f 66 6f 6e 74 3e 3c  ">%DOCX%</font><
e960: 62 72 20 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c  br />..<font col
e970: 6f 72 3d 22 23 38 30 38 30 38 30 22 3e 32 35 20  or="#808080">25 
e980: 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62  </font>&nbsp;&nb
e990: 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  sp;<font color="
e9a0: 23 38 62 34 37 32 36 22 3e 72 65 6e 3c 2f 66 6f  #8b4726">ren</fo
e9b0: 6e 74 3e 26 6e 62 73 70 3b 43 6f 6e 74 65 6e 74  nt>&nbsp;Content
e9c0: 5f 54 79 70 65 73 2e 78 6d 6c 20 3c 6e 6f 77 69  _Types.xml <nowi
e9d0: 6b 69 3e 5b 43 6f 6e 74 65 6e 74 5f 54 79 70 65  ki>[Content_Type
e9e0: 73 5d 2e 78 6d 6c 3c 2f 6e 6f 77 69 6b 69 3e 3c  s].xml</nowiki><
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 32 36 20  or="#808080">26 
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 25 43 4d 44 5a 49 50  #8b4726">%CMDZIP
ea40: 25 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 2d 39  %</font>&nbsp;-9
ea50: 20 2d 72 20 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d   -r <font color=
ea60: 22 23 32 32 38 62 32 32 22 3e 26 71 75 6f 74 3b  "#228b22">&quot;
ea70: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
ea80: 6f 72 3d 22 23 38 62 34 37 32 36 22 3e 25 54 45  or="#8b4726">%TE
ea90: 4d 50 25 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  MP%</font><font 
eaa0: 63 6f 6c 6f 72 3d 22 23 32 32 38 62 32 32 22 3e  color="#228b22">
eab0: 5c 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f  \</font><font co
eac0: 6c 6f 72 3d 22 23 38 62 34 37 32 36 22 3e 25 54  lor="#8b4726">%T
ead0: 4d 50 46 49 4c 45 25 3c 2f 66 6f 6e 74 3e 3c 66  MPFILE%</font><f
eae0: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 32 32 38 62  ont color="#228b
eaf0: 32 32 22 3e 26 71 75 6f 74 3b 3c 2f 66 6f 6e 74  22">&quot;</font
eb00: 3e 26 6e 62 73 70 3b 2e 5c 2a 3c 62 72 20 2f 3e  >&nbsp;.\*<br />
eb10: 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  ..<font color="#
eb20: 38 30 38 30 38 30 22 3e 32 37 20 3c 2f 66 6f 6e  808080">27 </fon
eb30: 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b 3c 66  t>&nbsp;&nbsp;<f
eb40: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37  ont color="#8b47
eb50: 32 36 22 3e 3c 62 3e 69 66 3c 2f 62 3e 3c 2f 66  26"><b>if</b></f
eb60: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
eb70: 22 23 38 62 34 37 32 36 22 3e 3c 62 3e 26 6e 62  "#8b4726"><b>&nb
eb80: 73 70 3b 6e 6f 74 20 65 78 69 73 74 3c 2f 62 3e  sp;not exist</b>
eb90: 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f  </font>&nbsp;<fo
eba0: 6e 74 20 63 6f 6c 6f 72 3d 22 23 32 32 38 62 32  nt color="#228b2
ebb0: 32 22 3e 26 71 75 6f 74 3b 3c 2f 66 6f 6e 74 3e  2">&quot;</font>
ebc0: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62  <font color="#8b
ebd0: 34 37 32 36 22 3e 25 54 45 4d 50 25 3c 2f 66 6f  4726">%TEMP%</fo
ebe0: 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  nt><font color="
ebf0: 23 32 32 38 62 32 32 22 3e 5c 3c 2f 66 6f 6e 74  #228b22">\</font
ec00: 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38  ><font color="#8
ec10: 62 34 37 32 36 22 3e 25 54 4d 50 46 49 4c 45 25  b4726">%TMPFILE%
ec20: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
ec30: 6f 72 3d 22 23 32 32 38 62 32 32 22 3e 26 71 75  or="#228b22">&qu
ec40: 6f 74 3b 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b  ot;</font>&nbsp;
ec50: 28 3c 62 72 20 2f 3e 0d 0a 3c 66 6f 6e 74 20 63  (<br />..<font c
ec60: 6f 6c 6f 72 3d 22 23 38 30 38 30 38 30 22 3e 32  olor="#808080">2
ec70: 38 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63  8 </font><font c
ec80: 6f 6c 6f 72 3d 22 23 33 61 35 66 63 64 22 3e 3c  olor="#3a5fcd"><
ec90: 69 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e  i>&nbsp;&nbsp;&n
eca0: 62 73 70 3b 26 6e 62 73 70 3b 3a 3a 20 63 61 6e  bsp;&nbsp;:: can
ecb0: 63 65 6c 3c 2f 69 3e 3c 2f 66 6f 6e 74 3e 3c 62  cel</i></font><b
ecc0: 72 20 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f  r />..<font colo
ecd0: 72 3d 22 23 38 30 38 30 38 30 22 3e 32 39 20 3c  r="#808080">29 <
ece0: 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73  /font>&nbsp;&nbs
ecf0: 70 3b 26 6e 62 73 70 3b 26 6e 62 73 70 3b 3c 66  p;&nbsp;&nbsp;<f
ed00: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37  ont color="#8b47
ed10: 32 36 22 3e 72 65 6e 3c 2f 66 6f 6e 74 3e 26 6e  26">ren</font>&n
ed20: 62 73 70 3b 3c 6e 6f 77 69 6b 69 3e 5b 43 6f 6e  bsp;<nowiki>[Con
ed30: 74 65 6e 74 5f 54 79 70 65 73 5d 3c 2f 6e 6f 77  tent_Types]</now
ed40: 69 6b 69 3e 2e 78 6d 6c 20 43 6f 6e 74 65 6e 74  iki>.xml Content
ed50: 5f 54 79 70 65 73 2e 78 6d 6c 3c 62 72 20 2f 3e  _Types.xml<br />
ed60: 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  ..<font color="#
ed70: 38 30 38 30 38 30 22 3e 33 30 20 3c 2f 66 6f 6e  808080">30 </fon
ed80: 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e  t>&nbsp;&nbsp;&n
ed90: 62 73 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74 20  bsp;&nbsp;<font 
eda0: 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36 22 3e  color="#8b4726">
edb0: 70 6f 70 64 3c 2f 66 6f 6e 74 3e 3c 62 72 20 2f  popd</font><br /
edc0: 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  >..<font color="
edd0: 23 38 30 38 30 38 30 22 3e 33 31 20 3c 2f 66 6f  #808080">31 </fo
ede0: 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26  nt>&nbsp;&nbsp;&
edf0: 6e 62 73 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74  nbsp;&nbsp;<font
ee00: 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36 22   color="#8b4726"
ee10: 3e 3c 62 3e 67 6f 74 6f 3c 2f 62 3e 3c 2f 66 6f  ><b>goto</b></fo
ee20: 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  nt><font color="
ee30: 23 38 62 34 37 32 36 22 3e 3c 62 3e 3c 75 3e 26  #8b4726"><b><u>&
ee40: 6e 62 73 70 3b 3a 65 6e 64 3c 2f 75 3e 3c 2f 62  nbsp;:end</u></b
ee50: 3e 3c 2f 66 6f 6e 74 3e 3c 62 72 20 2f 3e 0d 0a  ></font><br />..
ee60: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 30  <font color="#80
ee70: 38 30 38 30 22 3e 33 32 20 3c 2f 66 6f 6e 74 3e  8080">32 </font>
ee80: 26 6e 62 73 70 3b 26 6e 62 73 70 3b 29 3c 62 72  &nbsp;&nbsp;)<br
ee90: 20 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72   />..<font color
eea0: 3d 22 23 38 30 38 30 38 30 22 3e 33 33 20 3c 2f  ="#808080">33 </
eeb0: 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70  font>&nbsp;&nbsp
eec0: 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38  ;<font color="#8
eed0: 62 34 37 32 36 22 3e 70 6f 70 64 3c 2f 66 6f 6e  b4726">popd</fon
eee0: 74 3e 3c 62 72 20 2f 3e 0d 0a 3c 66 6f 6e 74 20  t><br />..<font 
eef0: 63 6f 6c 6f 72 3d 22 23 38 30 38 30 38 30 22 3e  color="#808080">
ef00: 33 34 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b  34 </font>&nbsp;
ef10: 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f  &nbsp;<font colo
ef20: 72 3d 22 23 38 62 34 37 32 36 22 3e 72 6d 64 69  r="#8b4726">rmdi
ef30: 72 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66  r</font>&nbsp;<f
ef40: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 32 32 38 62  ont color="#228b
ef50: 32 32 22 3e 26 71 75 6f 74 3b 3c 2f 66 6f 6e 74  22">&quot;</font
ef60: 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38  ><font color="#8
ef70: 62 34 37 32 36 22 3e 25 44 4f 43 58 25 3c 2f 66  b4726">%DOCX%</f
ef80: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
ef90: 22 23 32 32 38 62 32 32 22 3e 26 71 75 6f 74 3b  "#228b22">&quot;
efa0: 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f  </font>&nbsp;<fo
efb0: 6e 74 20 63 6f 6c 6f 72 3d 22 23 32 37 34 30 38  nt color="#27408
efc0: 62 22 3e 2f 73 3c 2f 66 6f 6e 74 3e 26 6e 62 73  b">/s</font>&nbs
efd0: 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  p;<font color="#
efe0: 32 37 34 30 38 62 22 3e 2f 71 3c 2f 66 6f 6e 74  27408b">/q</font
eff0: 3e 3c 62 72 20 2f 3e 0d 0a 3c 66 6f 6e 74 20 63  ><br />..<font c
f000: 6f 6c 6f 72 3d 22 23 38 30 38 30 38 30 22 3e 33  olor="#808080">3
f010: 35 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26  5 </font>&nbsp;&
f020: 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72  nbsp;<font color
f030: 3d 22 23 38 62 34 37 32 36 22 3e 6d 6f 76 65 3c  ="#8b4726">move<
f040: 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e  /font>&nbsp;<fon
f050: 74 20 63 6f 6c 6f 72 3d 22 23 32 32 38 62 32 32  t color="#228b22
f060: 22 3e 26 71 75 6f 74 3b 3c 2f 66 6f 6e 74 3e 3c  ">&quot;</font><
f070: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34  font color="#8b4
f080: 37 32 36 22 3e 25 54 45 4d 50 25 3c 2f 66 6f 6e  726">%TEMP%</fon
f090: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
f0a0: 32 32 38 62 32 32 22 3e 5c 3c 2f 66 6f 6e 74 3e  228b22">\</font>
f0b0: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62  <font color="#8b
f0c0: 34 37 32 36 22 3e 25 54 4d 50 46 49 4c 45 25 3c  4726">%TMPFILE%<
f0d0: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
f0e0: 72 3d 22 23 32 32 38 62 32 32 22 3e 26 71 75 6f  r="#228b22">&quo
f0f0: 74 3b 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 2e  t;</font>&nbsp;.
f100: 3c 62 72 20 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f  <br />..<font co
f110: 6c 6f 72 3d 22 23 38 30 38 30 38 30 22 3e 33 36  lor="#808080">36
f120: 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e   </font>&nbsp;&n
f130: 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  bsp;<font color=
f140: 22 23 38 62 34 37 32 36 22 3e 72 65 6e 3c 2f 66  "#8b4726">ren</f
f150: 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20  ont>&nbsp;<font 
f160: 63 6f 6c 6f 72 3d 22 23 32 32 38 62 32 32 22 3e  color="#228b22">
f170: 26 71 75 6f 74 3b 3c 2f 66 6f 6e 74 3e 3c 66 6f  &quot;</font><fo
f180: 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32  nt color="#8b472
f190: 36 22 3e 25 54 4d 50 46 49 4c 45 25 3c 2f 66 6f  6">%TMPFILE%</fo
f1a0: 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  nt><font color="
f1b0: 23 32 32 38 62 32 32 22 3e 26 71 75 6f 74 3b 3c  #228b22">&quot;<
f1c0: 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e  /font>&nbsp;<fon
f1d0: 74 20 63 6f 6c 6f 72 3d 22 23 32 32 38 62 32 32  t color="#228b22
f1e0: 22 3e 26 71 75 6f 74 3b 3c 2f 66 6f 6e 74 3e 3c  ">&quot;</font><
f1f0: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34  font color="#8b4
f200: 37 32 36 22 3e 25 44 4f 43 58 25 3c 2f 66 6f 6e  726">%DOCX%</fon
f210: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
f220: 32 32 38 62 32 32 22 3e 26 71 75 6f 74 3b 3c 2f  228b22">&quot;</
f230: 66 6f 6e 74 3e 3c 62 72 20 2f 3e 0d 0a 3c 66 6f  font><br />..<fo
f240: 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 30 38 30 38  nt color="#80808
f250: 30 22 3e 33 37 20 3c 2f 66 6f 6e 74 3e 26 6e 62  0">37 </font>&nb
f260: 73 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63  sp;&nbsp;<font c
f270: 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36 22 3e 3c  olor="#8b4726"><
f280: 62 3e 67 6f 74 6f 3c 2f 62 3e 3c 2f 66 6f 6e 74  b>goto</b></font
f290: 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38  ><font color="#8
f2a0: 62 34 37 32 36 22 3e 3c 62 3e 3c 75 3e 26 6e 62  b4726"><b><u>&nb
f2b0: 73 70 3b 3a 65 6e 64 3c 2f 75 3e 3c 2f 62 3e 3c  sp;:end</u></b><
f2c0: 2f 66 6f 6e 74 3e 3c 62 72 20 2f 3e 0d 0a 3c 66  /font><br />..<f
f2d0: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 30 38 30  ont color="#8080
f2e0: 38 30 22 3e 33 38 20 3c 2f 66 6f 6e 74 3e 3c 62  80">38 </font><b
f2f0: 72 20 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f  r />..<font colo
f300: 72 3d 22 23 38 30 38 30 38 30 22 3e 33 39 20 3c  r="#808080">39 <
f310: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
f320: 72 3d 22 23 38 62 34 37 32 36 22 3e 3c 62 3e 3c  r="#8b4726"><b><
f330: 75 3e 3a 75 6e 7a 69 70 5f 66 69 6c 65 3c 2f 75  u>:unzip_file</u
f340: 3e 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 62 72 20  ></b></font><br 
f350: 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  />..<font color=
f360: 22 23 38 30 38 30 38 30 22 3e 34 30 20 3c 2f 66  "#808080">40 </f
f370: 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b  ont>&nbsp;&nbsp;
f380: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62  <font color="#8b
f390: 34 37 32 36 22 3e 72 65 6e 3c 2f 66 6f 6e 74 3e  4726">ren</font>
f3a0: 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f  &nbsp;<font colo
f3b0: 72 3d 22 23 32 32 38 62 32 32 22 3e 26 71 75 6f  r="#228b22">&quo
f3c0: 74 3b 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63  t;</font><font c
f3d0: 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36 22 3e 25  olor="#8b4726">%
f3e0: 44 4f 43 58 25 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  DOCX%</font><fon
f3f0: 74 20 63 6f 6c 6f 72 3d 22 23 32 32 38 62 32 32  t color="#228b22
f400: 22 3e 26 71 75 6f 74 3b 3c 2f 66 6f 6e 74 3e 26  ">&quot;</font>&
f410: 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72  nbsp;<font color
f420: 3d 22 23 32 32 38 62 32 32 22 3e 26 71 75 6f 74  ="#228b22">&quot
f430: 3b 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f  ;</font><font co
f440: 6c 6f 72 3d 22 23 38 62 34 37 32 36 22 3e 25 54  lor="#8b4726">%T
f450: 4d 50 46 49 4c 45 25 3c 2f 66 6f 6e 74 3e 3c 66  MPFILE%</font><f
f460: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 32 32 38 62  ont color="#228b
f470: 32 32 22 3e 26 71 75 6f 74 3b 3c 2f 66 6f 6e 74  22">&quot;</font
f480: 3e 3c 62 72 20 2f 3e 0d 0a 3c 66 6f 6e 74 20 63  ><br />..<font c
f490: 6f 6c 6f 72 3d 22 23 38 30 38 30 38 30 22 3e 34  olor="#808080">4
f4a0: 31 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26  1 </font>&nbsp;&
f4b0: 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72  nbsp;<font color
f4c0: 3d 22 23 38 62 34 37 32 36 22 3e 6d 6f 76 65 3c  ="#8b4726">move<
f4d0: 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e  /font>&nbsp;<fon
f4e0: 74 20 63 6f 6c 6f 72 3d 22 23 32 32 38 62 32 32  t color="#228b22
f4f0: 22 3e 26 71 75 6f 74 3b 3c 2f 66 6f 6e 74 3e 3c  ">&quot;</font><
f500: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34  font color="#8b4
f510: 37 32 36 22 3e 25 54 4d 50 46 49 4c 45 25 3c 2f  726">%TMPFILE%</
f520: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
f530: 3d 22 23 32 32 38 62 32 32 22 3e 26 71 75 6f 74  ="#228b22">&quot
f540: 3b 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66  ;</font>&nbsp;<f
f550: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 32 32 38 62  ont color="#228b
f560: 32 32 22 3e 26 71 75 6f 74 3b 3c 2f 66 6f 6e 74  22">&quot;</font
f570: 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38  ><font color="#8
f580: 62 34 37 32 36 22 3e 25 54 45 4d 50 25 3c 2f 66  b4726">%TEMP%</f
f590: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
f5a0: 22 23 32 32 38 62 32 32 22 3e 26 71 75 6f 74 3b  "#228b22">&quot;
f5b0: 3c 2f 66 6f 6e 74 3e 5c 3c 62 72 20 2f 3e 0d 0a  </font>\<br />..
f5c0: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 30  <font color="#80
f5d0: 38 30 38 30 22 3e 34 32 20 3c 2f 66 6f 6e 74 3e  8080">42 </font>
f5e0: 26 6e 62 73 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e  &nbsp;&nbsp;<fon
f5f0: 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36  t color="#8b4726
f600: 22 3e 6d 6b 64 69 72 3c 2f 66 6f 6e 74 3e 26 6e  ">mkdir</font>&n
f610: 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  bsp;<font color=
f620: 22 23 32 32 38 62 32 32 22 3e 26 71 75 6f 74 3b  "#228b22">&quot;
f630: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
f640: 6f 72 3d 22 23 38 62 34 37 32 36 22 3e 25 44 4f  or="#8b4726">%DO
f650: 43 58 25 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  CX%</font><font 
f660: 63 6f 6c 6f 72 3d 22 23 32 32 38 62 32 32 22 3e  color="#228b22">
f670: 26 71 75 6f 74 3b 3c 2f 66 6f 6e 74 3e 3c 62 72  &quot;</font><br
f680: 20 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72   />..<font color
f690: 3d 22 23 38 30 38 30 38 30 22 3e 34 33 20 3c 2f  ="#808080">43 </
f6a0: 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70  font>&nbsp;&nbsp
f6b0: 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38  ;<font color="#8
f6c0: 62 34 37 32 36 22 3e 70 75 73 68 64 3c 2f 66 6f  b4726">pushd</fo
f6d0: 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63  nt>&nbsp;<font c
f6e0: 6f 6c 6f 72 3d 22 23 32 32 38 62 32 32 22 3e 26  olor="#228b22">&
f6f0: 71 75 6f 74 3b 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  quot;</font><fon
f700: 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36  t color="#8b4726
f710: 22 3e 25 44 4f 43 58 25 3c 2f 66 6f 6e 74 3e 3c  ">%DOCX%</font><
f720: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 32 32 38  font color="#228
f730: 62 32 32 22 3e 26 71 75 6f 74 3b 3c 2f 66 6f 6e  b22">&quot;</fon
f740: 74 3e 3c 62 72 20 2f 3e 0d 0a 3c 66 6f 6e 74 20  t><br />..<font 
f750: 63 6f 6c 6f 72 3d 22 23 38 30 38 30 38 30 22 3e  color="#808080">
f760: 34 34 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b  44 </font>&nbsp;
f770: 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f  &nbsp;<font colo
f780: 72 3d 22 23 38 62 34 37 32 36 22 3e 25 43 4d 44  r="#8b4726">%CMD
f790: 55 4e 5a 49 50 25 3c 2f 66 6f 6e 74 3e 26 6e 62  UNZIP%</font>&nb
f7a0: 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  sp;<font color="
f7b0: 23 32 32 38 62 32 32 22 3e 26 71 75 6f 74 3b 3c  #228b22">&quot;<
f7c0: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
f7d0: 72 3d 22 23 38 62 34 37 32 36 22 3e 25 54 45 4d  r="#8b4726">%TEM
f7e0: 50 25 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63  P%</font><font c
f7f0: 6f 6c 6f 72 3d 22 23 32 32 38 62 32 32 22 3e 5c  olor="#228b22">\
f800: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
f810: 6f 72 3d 22 23 38 62 34 37 32 36 22 3e 25 54 4d  or="#8b4726">%TM
f820: 50 46 49 4c 45 25 3c 2f 66 6f 6e 74 3e 3c 66 6f  PFILE%</font><fo
f830: 6e 74 20 63 6f 6c 6f 72 3d 22 23 32 32 38 62 32  nt color="#228b2
f840: 32 22 3e 26 71 75 6f 74 3b 3c 2f 66 6f 6e 74 3e  2">&quot;</font>
f850: 3c 62 72 20 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f  <br />..<font co
f860: 6c 6f 72 3d 22 23 38 30 38 30 38 30 22 3e 34 35  lor="#808080">45
f870: 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e   </font>&nbsp;&n
f880: 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  bsp;<font color=
f890: 22 23 38 62 34 37 32 36 22 3e 3c 62 3e 69 66 3c  "#8b4726"><b>if<
f8a0: 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  /b></font><font 
f8b0: 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36 22 3e  color="#8b4726">
f8c0: 3c 62 3e 26 6e 62 73 70 3b 6e 6f 74 20 65 78 69  <b>&nbsp;not exi
f8d0: 73 74 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 26 6e 62  st</b></font>&nb
f8e0: 73 70 3b 3c 6e 6f 77 69 6b 69 3e 5b 43 6f 6e 74  sp;<nowiki>[Cont
f8f0: 65 6e 74 5f 54 79 70 65 73 5d 2e 78 6d 6c 3c 2f  ent_Types].xml</
f900: 6e 6f 77 69 6b 69 3e 20 28 3c 62 72 20 2f 3e 0d  nowiki> (<br />.
f910: 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38  .<font color="#8
f920: 30 38 30 38 30 22 3e 34 36 20 3c 2f 66 6f 6e 74  08080">46 </font
f930: 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 33  ><font color="#3
f940: 61 35 66 63 64 22 3e 3c 69 3e 26 6e 62 73 70 3b  a5fcd"><i>&nbsp;
f950: 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e 62 73  &nbsp;&nbsp;&nbs
f960: 70 3b 3a 3a 20 63 61 6e 63 65 6c 3c 2f 69 3e 3c  p;:: cancel</i><
f970: 2f 66 6f 6e 74 3e 3c 62 72 20 2f 3e 0d 0a 3c 66  /font><br />..<f
f980: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 30 38 30  ont color="#8080
f990: 38 30 22 3e 34 37 20 3c 2f 66 6f 6e 74 3e 26 6e  80">47 </font>&n
f9a0: 62 73 70 3b 26 6e 62 73 70 3b 26 6e 62 73 70 3b  bsp;&nbsp;&nbsp;
f9b0: 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f  &nbsp;<font colo
f9c0: 72 3d 22 23 38 62 34 37 32 36 22 3e 70 6f 70 64  r="#8b4726">popd
f9d0: 3c 2f 66 6f 6e 74 3e 3c 62 72 20 2f 3e 0d 0a 3c  </font><br />..<
f9e0: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 30 38  font color="#808
f9f0: 30 38 30 22 3e 34 38 20 3c 2f 66 6f 6e 74 3e 26  080">48 </font>&
fa00: 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e 62 73 70  nbsp;&nbsp;&nbsp
fa10: 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c  ;&nbsp;<font col
fa20: 6f 72 3d 22 23 38 62 34 37 32 36 22 3e 72 6d 64  or="#8b4726">rmd
fa30: 69 72 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c  ir</font>&nbsp;<
fa40: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 32 32 38  font color="#228
fa50: 62 32 32 22 3e 26 71 75 6f 74 3b 3c 2f 66 6f 6e  b22">&quot;</fon
fa60: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
fa70: 38 62 34 37 32 36 22 3e 25 44 4f 43 58 25 3c 2f  8b4726">%DOCX%</
fa80: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
fa90: 3d 22 23 32 32 38 62 32 32 22 3e 26 71 75 6f 74  ="#228b22">&quot
faa0: 3b 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66  ;</font>&nbsp;<f
fab0: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 32 37 34 30  ont color="#2740
fac0: 38 62 22 3e 2f 73 3c 2f 66 6f 6e 74 3e 26 6e 62  8b">/s</font>&nb
fad0: 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  sp;<font color="
fae0: 23 32 37 34 30 38 62 22 3e 2f 71 3c 2f 66 6f 6e  #27408b">/q</fon
faf0: 74 3e 3c 62 72 20 2f 3e 0d 0a 3c 66 6f 6e 74 20  t><br />..<font 
fb00: 63 6f 6c 6f 72 3d 22 23 38 30 38 30 38 30 22 3e  color="#808080">
fb10: 34 39 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b  49 </font>&nbsp;
fb20: 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e 62 73  &nbsp;&nbsp;&nbs
fb30: 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  p;<font color="#
fb40: 38 62 34 37 32 36 22 3e 6d 6f 76 65 3c 2f 66 6f  8b4726">move</fo
fb50: 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63  nt>&nbsp;<font c
fb60: 6f 6c 6f 72 3d 22 23 32 32 38 62 32 32 22 3e 26  olor="#228b22">&
fb70: 71 75 6f 74 3b 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  quot;</font><fon
fb80: 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36  t color="#8b4726
fb90: 22 3e 25 54 45 4d 50 25 3c 2f 66 6f 6e 74 3e 3c  ">%TEMP%</font><
fba0: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 32 32 38  font color="#228
fbb0: 62 32 32 22 3e 5c 3c 2f 66 6f 6e 74 3e 3c 66 6f  b22">\</font><fo
fbc0: 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32  nt color="#8b472
fbd0: 36 22 3e 25 54 4d 50 46 49 4c 45 25 3c 2f 66 6f  6">%TMPFILE%</fo
fbe0: 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  nt><font color="
fbf0: 23 32 32 38 62 32 32 22 3e 26 71 75 6f 74 3b 3c  #228b22">&quot;<
fc00: 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 2e 3c 62 72  /font>&nbsp;.<br
fc10: 20 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72   />..<font color
fc20: 3d 22 23 38 30 38 30 38 30 22 3e 35 30 20 3c 2f  ="#808080">50 </
fc30: 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70  font>&nbsp;&nbsp
fc40: 3b 26 6e 62 73 70 3b 26 6e 62 73 70 3b 3c 66 6f  ;&nbsp;&nbsp;<fo
fc50: 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32  nt color="#8b472
fc60: 36 22 3e 72 65 6e 3c 2f 66 6f 6e 74 3e 26 6e 62  6">ren</font>&nb
fc70: 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  sp;<font color="
fc80: 23 32 32 38 62 32 32 22 3e 26 71 75 6f 74 3b 3c  #228b22">&quot;<
fc90: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
fca0: 72 3d 22 23 38 62 34 37 32 36 22 3e 25 54 4d 50  r="#8b4726">%TMP
fcb0: 46 49 4c 45 25 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  FILE%</font><fon
fcc0: 74 20 63 6f 6c 6f 72 3d 22 23 32 32 38 62 32 32  t color="#228b22
fcd0: 22 3e 26 71 75 6f 74 3b 3c 2f 66 6f 6e 74 3e 26  ">&quot;</font>&
fce0: 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72  nbsp;<font color
fcf0: 3d 22 23 32 32 38 62 32 32 22 3e 26 71 75 6f 74  ="#228b22">&quot
fd00: 3b 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f  ;</font><font co
fd10: 6c 6f 72 3d 22 23 38 62 34 37 32 36 22 3e 25 44  lor="#8b4726">%D
fd20: 4f 43 58 25 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74  OCX%</font><font
fd30: 20 63 6f 6c 6f 72 3d 22 23 32 32 38 62 32 32 22   color="#228b22"
fd40: 3e 26 71 75 6f 74 3b 3c 2f 66 6f 6e 74 3e 3c 62  >&quot;</font><b
fd50: 72 20 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f  r />..<font colo
fd60: 72 3d 22 23 38 30 38 30 38 30 22 3e 35 31 20 3c  r="#808080">51 <
fd70: 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73  /font>&nbsp;&nbs
fd80: 70 3b 26 6e 62 73 70 3b 26 6e 62 73 70 3b 3c 66  p;&nbsp;&nbsp;<f
fd90: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37  ont color="#8b47
fda0: 32 36 22 3e 3c 62 3e 67 6f 74 6f 3c 2f 62 3e 3c  26"><b>goto</b><
fdb0: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
fdc0: 72 3d 22 23 38 62 34 37 32 36 22 3e 3c 62 3e 3c  r="#8b4726"><b><
fdd0: 75 3e 26 6e 62 73 70 3b 3a 65 6e 64 3c 2f 75 3e  u>&nbsp;:end</u>
fde0: 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 62 72 20 2f  </b></font><br /
fdf0: 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  >..<font color="
fe00: 23 38 30 38 30 38 30 22 3e 35 32 20 3c 2f 66 6f  #808080">52 </fo
fe10: 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b 29  nt>&nbsp;&nbsp;)
fe20: 3c 62 72 20 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f  <br />..<font co
fe30: 6c 6f 72 3d 22 23 38 30 38 30 38 30 22 3e 35 33  lor="#808080">53
fe40: 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e   </font>&nbsp;&n
fe50: 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  bsp;<font color=
fe60: 22 23 38 62 34 37 32 36 22 3e 72 65 6e 3c 2f 66  "#8b4726">ren</f
fe70: 6f 6e 74 3e 26 6e 62 73 70 3b 3c 6e 6f 77 69 6b  ont>&nbsp;<nowik
fe80: 69 3e 5b 43 6f 6e 74 65 6e 74 5f 54 79 70 65 73  i>[Content_Types
fe90: 5d 2e 78 6d 6c 3c 2f 6e 6f 77 69 6b 69 3e 20 43  ].xml</nowiki> C
fea0: 6f 6e 74 65 6e 74 5f 54 79 70 65 73 2e 78 6d 6c  ontent_Types.xml
feb0: 3c 62 72 20 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f  <br />..<font co
fec0: 6c 6f 72 3d 22 23 38 30 38 30 38 30 22 3e 35 34  lor="#808080">54
fed0: 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e   </font>&nbsp;&n
fee0: 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  bsp;<font color=
fef0: 22 23 38 62 34 37 32 36 22 3e 64 65 6c 3c 2f 66  "#8b4726">del</f
ff00: 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20  ont>&nbsp;<font 
ff10: 63 6f 6c 6f 72 3d 22 23 32 32 38 62 32 32 22 3e  color="#228b22">
ff20: 26 71 75 6f 74 3b 3c 2f 66 6f 6e 74 3e 3c 66 6f  &quot;</font><fo
ff30: 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32  nt color="#8b472
ff40: 36 22 3e 25 54 45 4d 50 25 3c 2f 66 6f 6e 74 3e  6">%TEMP%</font>
ff50: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 32 32  <font color="#22
ff60: 38 62 32 32 22 3e 5c 3c 2f 66 6f 6e 74 3e 3c 66  8b22">\</font><f
ff70: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37  ont color="#8b47
ff80: 32 36 22 3e 25 54 4d 50 46 49 4c 45 25 3c 2f 66  26">%TMPFILE%</f
ff90: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
ffa0: 22 23 32 32 38 62 32 32 22 3e 26 71 75 6f 74 3b  "#228b22">&quot;
ffb0: 3c 2f 66 6f 6e 74 3e 3c 62 72 20 2f 3e 0d 0a 3c  </font><br />..<
ffc0: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 30 38  font color="#808
ffd0: 30 38 30 22 3e 35 35 20 3c 2f 66 6f 6e 74 3e 26  080">55 </font>&
ffe0: 6e 62 73 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74  nbsp;&nbsp;<font
fff0: 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32 36 22   color="#8b4726"
10000 3e 70 6f 70 64 3c 2f 66 6f 6e 74 3e 3c 62 72 20  >popd</font><br 
10010 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  />..<font color=
10020 22 23 38 30 38 30 38 30 22 3e 35 36 20 3c 2f 66  "#808080">56 </f
10030 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b  ont>&nbsp;&nbsp;
10040 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62  <font color="#8b
10050 34 37 32 36 22 3e 3c 62 3e 67 6f 74 6f 3c 2f 62  4726"><b>goto</b
10060 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f  ></font><font co
10070 6c 6f 72 3d 22 23 38 62 34 37 32 36 22 3e 3c 62  lor="#8b4726"><b
10080 3e 3c 75 3e 26 6e 62 73 70 3b 3a 65 6e 64 3c 2f  ><u>&nbsp;:end</
10090 75 3e 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 62 72  u></b></font><br
100a0 20 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72   />..<font color
100b0 3d 22 23 38 30 38 30 38 30 22 3e 35 37 20 3c 2f  ="#808080">57 </
100c0 66 6f 6e 74 3e 3c 62 72 20 2f 3e 0d 0a 3c 66 6f  font><br />..<fo
100d0 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 30 38 30 38  nt color="#80808
100e0 30 22 3e 35 38 20 3c 2f 66 6f 6e 74 3e 3c 66 6f  0">58 </font><fo
100f0 6e 74 20 63 6f 6c 6f 72 3d 22 23 38 62 34 37 32  nt color="#8b472
10100 36 22 3e 3c 62 3e 3c 75 3e 3a 65 6e 64 3c 2f 75  6"><b><u>:end</u
10110 3e 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 62 72 20  ></b></font><br 
10120 2f 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  />..<font color=
10130 22 23 38 30 38 30 38 30 22 3e 35 39 20 3c 2f 66  "#808080">59 </f
10140 6f 6e 74 3e 3c 62 72 20 2f 3e 0d 0a 3c 66 6f 6e  ont><br />..<fon
10150 74 20 63 6f 6c 6f 72 3d 22 23 38 30 38 30 38 30  t color="#808080
10160 22 3e 36 30 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  ">60 </font><fon
10170 74 20 63 6f 6c 6f 72 3d 22 23 33 61 35 66 63 64  t color="#3a5fcd
10180 22 3e 3c 69 3e 3a 3a 20 76 69 6d 3a 20 66 65 6e  "><i>:: vim: fen
10190 63 3d 63 70 34 33 37 3c 2f 69 3e 3c 2f 66 6f 6e  c=cp437</i></fon
101a0 74 3e 0d 0a 20 20 3c 2f 66 6f 6e 74 3e 0d 0a 0d  t>..  </font>...
101b0 0a 3c 2f 64 69 76 3e 0d 0a 0d 0a 3c 68 32 3e 3c  .</div>....<h2><
101c0 61 20 6e 61 6d 65 3d 22 43 6f 6c 6f 72 50 69 63  a name="ColorPic
101d0 6b 65 72 22 3e 43 6f 6c 6f 72 20 73 65 6c 65 63  ker">Color selec
101e0 74 6f 72 20 69 6e 20 63 68 65 63 6b 2d 69 6e 20  tor in check-in 
101f0 70 72 6f 70 65 72 74 69 65 73 3c 2f 61 3e 3c 2f  properties</a></
10200 68 32 3e 0d 0a 49 66 20 79 6f 75 20 77 61 6e 74  h2>..If you want
10210 20 61 20 6e 69 63 65 20 4a 53 20 63 6f 6c 6f 72   a nice JS color
10220 20 73 65 6c 65 63 74 6f 72 20 69 6e 20 79 6f 75   selector in you
10230 72 20 63 68 65 63 6b 2d 69 6e 20 70 72 6f 70 65  r check-in prope
10240 72 74 69 65 73 2c 20 70 75 74 20 74 68 65 20 66  rties, put the f
10250 6f 6c 6c 6f 77 69 6e 67 20 69 6e 74 6f 20 79 6f  ollowing into yo
10260 75 72 20 66 6f 6f 74 65 72 3a 0d 0a 0d 0a 3c 76  ur footer:....<v
10270 65 72 62 61 74 69 6d 3e 0d 0a 3c 74 68 31 3e 0d  erbatim>..<th1>.
10280 0a 20 20 69 66 20 7b 20 22 24 63 75 72 72 65 6e  .  if { "$curren
10290 74 5f 70 61 67 65 22 20 65 71 20 22 63 69 5f 65  t_page" eq "ci_e
102a0 64 69 74 22 20 7d 20 7b 0d 0a 20 20 20 20 68 74  dit" } {..    ht
102b0 6d 6c 20 22 3c 73 63 72 69 70 74 20 73 72 63 3d  ml "<script src=
102c0 5c 22 68 74 74 70 3a 2f 2f 6a 73 63 6f 6c 6f 72  \"http://jscolor
102d0 2e 63 6f 6d 2f 6a 73 63 6f 6c 6f 72 2f 6a 73 63  .com/jscolor/jsc
102e0 6f 6c 6f 72 2e 6a 73 5c 22 20 74 79 70 65 3d 5c  olor.js\" type=\
102f0 22 74 65 78 74 2f 6a 61 76 61 73 63 72 69 70 74  "text/javascript
10300 5c 22 3e 3c 2f 73 63 72 69 70 74 3e 22 0d 0a 20  \"></script>".. 
10310 20 20 20 68 74 6d 6c 20 22 3c 73 63 72 69 70 74     html "<script
10320 20 74 79 70 65 3d 5c 22 74 65 78 74 2f 6a 61 76   type=\"text/jav
10330 61 73 63 72 69 70 74 5c 22 3e 22 0d 0a 20 20 20  ascript\">"..   
10340 20 68 74 6d 6c 20 22 76 61 72 20 6d 79 50 69 63   html "var myPic
10350 6b 65 72 20 3d 20 6e 65 77 20 6a 73 63 6f 6c 6f  ker = new jscolo
10360 72 2e 63 6f 6c 6f 72 28 64 6f 63 75 6d 65 6e 74  r.color(document
10370 2e 67 65 74 45 6c 65 6d 65 6e 74 42 79 49 64 28  .getElementById(
10380 27 63 6c 72 63 75 73 74 27 29 2c 20 7b 68 61 73  'clrcust'), {has
10390 68 3a 74 72 75 65 7d 29 22 0d 0a 20 20 20 20 68  h:true})"..    h
103a0 74 6d 6c 20 22 3c 2f 73 63 72 69 70 74 3e 22 0d  tml "</script>".
103b0 0a 20 20 7d 0d 0a 3c 2f 74 68 31 3e 0d 0a 3c 2f  .  }..</th1>..</
103c0 76 65 72 62 61 74 69 6d 3e 0d 0a 0d 0a 54 68 69  verbatim>....Thi
103d0 73 20 77 69 6c 6c 20 6f 6e 6c 79 20 77 6f 72 6b  s will only work
103e0 20 77 69 74 68 20 61 20 76 65 72 73 69 6f 6e 20   with a version 
103f0 61 66 74 65 72 20 32 30 31 30 20 53 65 70 20 32  after 2010 Sep 2
10400 39 2c 20 31 30 3a 33 30 0d 0a 0d 0a 3c 68 32 3e  9, 10:30....<h2>
10410 3c 61 20 6e 61 6d 65 3d 22 53 65 61 72 63 68 57  <a name="SearchW
10420 69 6b 69 22 3e 53 65 61 72 63 68 69 6e 67 20 77  iki">Searching w
10430 69 6b 69 20 74 65 78 74 3c 2f 61 3e 3c 2f 68 32  iki text</a></h2
10440 3e 0d 0a 41 74 20 70 72 65 73 65 6e 74 2c 20 46  >..At present, F
10450 6f 73 73 69 6c 20 64 6f 65 73 20 6e 6f 74 20 68  ossil does not h
10460 61 76 65 20 61 20 6d 65 74 68 6f 64 20 66 6f 72  ave a method for
10470 20 73 65 61 72 63 68 69 6e 67 20 74 68 65 20 77   searching the w
10480 69 6b 69 20 70 61 67 65 73 20 66 6f 72 20 70 61  iki pages for pa
10490 72 74 69 63 75 6c 61 72 20 74 65 78 74 2e 20 20  rticular text.  
104a0 53 6f 6d 65 74 69 6d 65 73 20 74 68 61 74 20 69  Sometimes that i
104b0 73 20 61 6e 6e 6f 79 69 6e 67 3b 20 62 75 74 20  s annoying; but 
104c0 69 74 20 69 73 20 70 6f 73 73 69 62 6c 65 20 74  it is possible t
104d0 6f 20 67 65 74 20 61 72 6f 75 6e 64 20 74 68 69  o get around thi
104e0 73 20 77 69 74 68 20 61 20 6c 69 74 74 6c 65 20  s with a little 
104f0 62 61 73 68 2d 73 63 72 69 70 74 20 28 6f 72 20  bash-script (or 
10500 70 65 72 6c 20 6f 72 20 2e 2e 2e 29 3a 0d 0a 3c  perl or ...):..<
10510 76 65 72 62 61 74 69 6d 3e 0d 0a 23 21 2f 62 69  verbatim>..#!/bi
10520 6e 2f 62 61 73 68 0d 0a 73 65 61 72 63 68 66 6f  n/bash..searchfo
10530 72 3d 24 31 0d 0a 0d 0a 23 20 67 65 74 20 77 69  r=$1....# get wi
10540 6b 69 20 70 61 67 65 20 6e 61 6d 65 73 2c 20 73  ki page names, s
10550 75 62 73 74 69 74 75 74 65 20 73 70 61 63 65 73  ubstitute spaces
10560 20 66 6f 72 20 73 6f 6d 65 74 68 69 6e 67 20 65   for something e
10570 6c 73 65 3a 0d 0a 70 61 67 65 73 72 61 77 3d 60  lse:..pagesraw=`
10580 66 6f 73 73 69 6c 20 77 69 6b 69 20 6c 69 73 74  fossil wiki list
10590 60 0d 0a 70 61 67 65 73 3d 24 7b 70 61 67 65 73  `..pages=${pages
105a0 72 61 77 2f 2f 20 2f 2a 7d 0d 0a 0d 0a 23 20 66  raw// /*}....# f
105b0 6f 72 20 65 61 63 68 20 70 61 67 65 2c 20 73 65  or each page, se
105c0 65 20 69 66 20 6f 75 72 20 73 65 61 72 63 68 20  e if our search 
105d0 74 65 72 6d 20 69 73 20 69 6e 20 69 74 3a 0d 0a  term is in it:..
105e0 66 6f 72 20 70 61 67 65 20 69 6e 20 24 70 61 67  for page in $pag
105f0 65 73 0d 0a 64 6f 0d 0a 09 70 3d 24 7b 70 61 67  es..do...p=${pag
10600 65 2f 2f 5c 2a 2f 20 7d 0d 0a 09 66 6f 75 6e 64  e//\*/ }...found
10610 74 65 78 74 3d 60 66 6f 73 73 69 6c 20 77 69 6b  text=`fossil wik
10620 69 20 65 78 70 6f 72 74 20 22 24 70 22 20 7c 20  i export "$p" | 
10630 67 72 65 70 20 2d 6e 20 22 24 73 65 61 72 63 68  grep -n "$search
10640 66 6f 72 22 60 0d 0a 0d 0a 09 69 66 20 5b 20 21  for"`.....if [ !
10650 20 2d 7a 20 22 24 66 6f 75 6e 64 74 65 78 74 22   -z "$foundtext"
10660 20 5d 0d 0a 09 74 68 65 6e 0d 0a 09 09 23 20 66   ]...then....# f
10670 6f 75 6e 64 20 74 68 65 20 73 65 61 72 63 68 2d  ound the search-
10680 74 65 72 6d 2c 20 73 6f 20 70 72 69 6e 74 20 77  term, so print w
10690 68 65 72 65 20 61 6e 64 20 77 68 61 74 20 77 61  here and what wa
106a0 73 20 66 6f 75 6e 64 3a 0d 0a 09 09 65 63 68 6f  s found:....echo
106b0 20 22 24 70 22 0d 0a 09 09 65 63 68 6f 20 22 24   "$p"....echo "$
106c0 66 6f 75 6e 64 74 65 78 74 22 0d 0a 09 09 65 63  foundtext"....ec
106d0 68 6f 20 22 2d 2d 2d 2d 22 0d 0a 09 66 69 0d 0a  ho "----"...fi..
106e0 64 6f 6e 65 0d 0a 3c 2f 76 65 72 62 61 74 69 6d  done..</verbatim
106f0 3e 0d 0a 0d 0a 0d 0a 3c 68 32 3e 3c 61 20 6e 61  >......<h2><a na
10700 6d 65 3d 22 48 69 67 68 6c 69 67 68 74 44 69 66  me="HighlightDif
10710 66 22 3e 48 69 67 68 6c 69 67 68 74 20 64 69 66  f">Highlight dif
10720 66 27 73 3c 2f 61 3e 3c 2f 68 32 3e 0d 0a 3c 68  f's</a></h2>..<h
10730 33 3e 50 72 6f 62 6c 65 6d 3c 2f 68 33 3e 0d 0a  3>Problem</h3>..
10740 46 6f 73 73 69 6c 20 73 68 6f 77 73 20 61 20 64  Fossil shows a d
10750 69 66 66 20 6f 66 20 61 20 63 68 65 63 6b 69 6e  iff of a checkin
10760 2e 20 49 74 20 75 73 65 73 20 74 68 65 20 74 65  . It uses the te
10770 78 74 75 61 6c 20 72 65 70 72 65 73 65 6e 74 61  xtual representa
10780 74 69 6f 6e 20 28 27 2b 27 20 73 69 67 6e 20 66  tion ('+' sign f
10790 6f 72 20 61 64 64 65 64 20 6c 69 6e 65 2c 20 27  or added line, '
107a0 2d 27 20 66 6f 72 20 61 20 63 68 61 6e 67 65 64  -' for a changed
107b0 2f 64 65 6c 65 74 65 64 20 6c 69 6e 65 29 2e 20  /deleted line). 
107c0 48 61 76 69 6e 67 20 61 20 63 6f 6c 6f 72 20 66  Having a color f
107d0 6f 72 20 61 64 64 65 64 20 6c 69 6e 65 73 2c 20  or added lines, 
107e0 65 2e 67 2e 20 67 72 65 65 6e 2c 20 61 6e 64 20  e.g. green, and 
107f0 66 6f 72 20 63 68 61 6e 67 65 64 20 6c 69 6e 65  for changed line
10800 73 2c 20 65 2e 67 2e 20 72 65 64 2c 20 77 6f 75  s, e.g. red, wou
10810 6c 64 20 6d 61 6b 65 20 74 68 65 20 63 68 61 6e  ld make the chan
10820 67 65 73 20 6d 6f 72 65 20 76 69 73 69 62 6c 65  ges more visible
10830 2e 0d 0a 0d 0a 3c 68 33 3e 53 6f 6c 75 74 69 6f  .....<h3>Solutio
10840 6e 3c 2f 68 33 3e 0d 0a 54 68 65 20 73 6f 6c 75  n</h3>..The solu
10850 74 69 6f 6e 20 77 61 73 20 70 72 65 73 65 6e 74  tion was present
10860 65 64 20 6f 6e 20 74 68 65 20 6d 61 69 6c 69 6e  ed on the mailin
10870 67 20 6c 69 73 74 20 28 32 30 2d 4a 61 6e 2d 32  g list (20-Jan-2
10880 30 31 31 29 2e 0d 0a 0d 0a 3c 76 65 72 62 61 74  011).....<verbat
10890 69 6d 3e 0d 0a 4a 75 73 74 20 70 75 74 20 74 68  im>..Just put th
108a0 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 73 6f 6d 65  e following some
108b0 77 68 65 72 65 20 69 6e 74 6f 20 46 6f 6f 74 65  where into Foote
108c0 72 20 28 6e 6f 74 20 68 65 61 64 65 72 21 29 20  r (not header!) 
108d0 61 62 6f 76 65 20 3c 2f 62 6f 64 79 3e 3a 0d 0a  above </body>:..
108e0 0d 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ..==============
108f0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
10900 3d 3d 0d 0a 0d 0a 3c 73 63 72 69 70 74 3e 0d 0a  ==....<script>..
10910 2f 2a 20 20 53 69 6d 70 6c 65 20 64 69 66 66 20  /*  Simple diff 
10920 68 69 67 68 6c 69 67 68 74 69 6e 67 20 2a 2f 0d  highlighting */.
10930 0a 76 61 72 20 44 69 66 66 48 69 67 68 6c 69 67  .var DiffHighlig
10940 68 74 65 72 20 3d 20 7b 0d 0a 0d 0a 20 69 73 44  hter = {.... isD
10950 69 66 66 20 3a 20 66 75 6e 63 74 69 6f 6e 28 73  iff : function(s
10960 29 7b 0d 0a 20 20 20 72 65 74 75 72 6e 20 28 73  ){..   return (s
10970 2e 6d 61 74 63 68 28 2f 5e 40 40 2e 2a 40 40 2f  .match(/^@@.*@@/
10980 6d 29 20 26 26 20 73 2e 6d 61 74 63 68 28 2f 5e  m) && s.match(/^
10990 5b 2b 2d 5d 2f 6d 29 29 3b 0d 0a 20 7d 2c 0d 0a  [+-]/m));.. },..
109a0 0d 0a 20 68 69 67 68 6c 69 67 68 74 45 6c 65 6d  .. highlightElem
109b0 65 6e 74 20 3a 20 66 75 6e 63 74 69 6f 6e 28 65  ent : function(e
109c0 6c 29 7b 0d 0a 20 20 20 76 61 72 20 73 20 3d 20  l){..   var s = 
109d0 65 6c 2e 69 6e 6e 65 72 48 54 4d 4c 3b 0d 0a 20  el.innerHTML;.. 
109e0 20 20 69 66 20 28 21 74 68 69 73 2e 69 73 44 69    if (!this.isDi
109f0 66 66 28 73 29 29 7b 0d 0a 20 20 20 20 20 72 65  ff(s)){..     re
10a00 74 75 72 6e 3b 0d 0a 20 20 20 7d 0d 0a 20 20 20  turn;..   }..   
10a10 73 20 3d 20 73 2e 72 65 70 6c 61 63 65 28 22 3c  s = s.replace("<
10a20 22 2c 20 22 26 6c 74 3b 22 29 3b 0d 0a 20 20 20  ", "&lt;");..   
10a30 73 20 3d 20 73 2e 72 65 70 6c 61 63 65 28 2f 5e  s = s.replace(/^
10a40 5c 2b 2e 2a 24 2f 6d 67 2c 20 27 3c 73 70 61 6e  \+.*$/mg, '<span
10a50 20 63 6c 61 73 73 3d 22 64 69 66 66 2d 61 64 64   class="diff-add
10a60 65 64 22 3e 24 26 3c 2f 73 70 61 6e 3e 27 29 3b  ed">$&</span>');
10a70 0d 0a 20 20 20 73 20 3d 20 73 2e 72 65 70 6c 61  ..   s = s.repla
10a80 63 65 28 2f 5e 5c 2d 2e 2a 24 2f 6d 67 2c 20 27  ce(/^\-.*$/mg, '
10a90 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 64 69 66  <span class="dif
10aa0 66 2d 72 65 6d 6f 76 65 64 22 3e 24 26 3c 2f 73  f-removed">$&</s
10ab0 70 61 6e 3e 27 29 3b 0d 0a 20 20 20 73 20 3d 20  pan>');..   s = 
10ac0 73 2e 72 65 70 6c 61 63 65 28 2f 5e 40 40 2e 2a  s.replace(/^@@.*
10ad0 24 2f 6d 67 2c 20 27 3c 73 70 61 6e 20 63 6c 61  $/mg, '<span cla
10ae0 73 73 3d 22 64 69 66 66 2d 70 6f 73 69 74 69 6f  ss="diff-positio
10af0 6e 22 3e 24 26 3c 2f 73 70 61 6e 3e 27 29 3b 0d  n">$&</span>');.
10b00 0a 20 20 20 73 20 3d 20 22 3c 70 72 65 20 63 6c  .   s = "<pre cl
10b10 61 73 73 3d 27 64 69 66 66 27 3e 22 20 2b 20 73  ass='diff'>" + s
10b20 20 2b 20 22 3c 2f 70 72 65 3e 22 3b 20 2f 2f 20   + "</pre>"; // 
10b30 77 6f 72 6b 61 72 6f 75 6e 64 20 66 6f 72 20 49  workaround for I
10b40 45 0d 0a 20 20 20 65 6c 2e 69 6e 6e 65 72 48 54  E..   el.innerHT
10b50 4d 4c 20 3d 20 73 3b 0d 0a 20 7d 2c 0d 0a 0d 0a  ML = s;.. },....
10b60 20 68 69 67 68 6c 69 67 68 74 45 6c 65 6d 65 6e   highlightElemen
10b70 74 73 57 69 74 68 54 61 67 4e 61 6d 65 20 3a 20  tsWithTagName : 
10b80 66 75 6e 63 74 69 6f 6e 28 74 61 67 4e 61 6d 65  function(tagName
10b90 29 7b 0d 0a 20 20 20 76 61 72 20 65 6c 73 20 3d  ){..   var els =
10ba0 20 64 6f 63 75 6d 65 6e 74 2e 67 65 74 45 6c 65   document.getEle
10bb0 6d 65 6e 74 73 42 79 54 61 67 4e 61 6d 65 28 74  mentsByTagName(t
10bc0 61 67 4e 61 6d 65 29 3b 0d 0a 20 20 20 66 6f 72  agName);..   for
10bd0 20 28 76 61 72 20 69 3d 30 3b 20 69 20 3c 20 65   (var i=0; i < e
10be0 6c 73 2e 6c 65 6e 67 74 68 3b 20 69 2b 2b 29 7b  ls.length; i++){
10bf0 0d 0a 20 20 20 20 20 74 68 69 73 2e 68 69 67 68  ..     this.high
10c00 6c 69 67 68 74 45 6c 65 6d 65 6e 74 28 65 6c 73  lightElement(els
10c10 5b 69 5d 29 3b 0d 0a 20 20 20 7d 0d 0a 20 7d 0d  [i]);..   }.. }.
10c20 0a 7d 3b 0d 0a 0d 0a 44 69 66 66 48 69 67 68 6c  .};....DiffHighl
10c30 69 67 68 74 65 72 2e 68 69 67 68 6c 69 67 68 74  ighter.highlight
10c40 45 6c 65 6d 65 6e 74 73 57 69 74 68 54 61 67 4e  ElementsWithTagN
10c50 61 6d 65 28 27 70 72 65 27 29 3b 0d 0a 3c 2f 73  ame('pre');..</s
10c60 63 72 69 70 74 3e 0d 0a 0d 0a 3d 3d 3d 3d 3d 3d  cript>....======
10c70 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
10c80 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0d 0a 0d 0a 41 6e  ==========....An
10c90 64 20 61 64 64 20 74 68 69 73 20 28 6f 72 20 73  d add this (or s
10ca0 6f 6d 65 74 68 69 6e 67 20 74 6f 20 79 6f 75 72  omething to your
10cb0 20 74 61 73 74 65 29 20 74 6f 20 79 6f 75 72 20   taste) to your 
10cc0 43 53 53 3a 0d 0a 0d 0a 3d 3d 3d 3d 3d 3d 3d 3d  CSS:....========
10cd0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
10ce0 3d 3d 3d 3d 3d 3d 3d 3d 0d 0a 0d 0a 70 72 65 2e  ========....pre.
10cf0 64 69 66 66 20 7b 0d 0a 20 63 6f 6c 6f 72 3a 20  diff {.. color: 
10d00 23 30 30 30 3b 0d 0a 7d 0d 0a 0d 0a 70 72 65 20  #000;..}....pre 
10d10 2e 64 69 66 66 2d 70 6f 73 69 74 69 6f 6e 20 7b  .diff-position {
10d20 0d 0a 20 64 69 73 70 6c 61 79 3a 2d 6d 6f 7a 2d  .. display:-moz-
10d30 69 6e 6c 69 6e 65 2d 73 74 61 63 6b 3b 0d 0a 20  inline-stack;.. 
10d40 64 69 73 70 6c 61 79 3a 69 6e 6c 69 6e 65 2d 62  display:inline-b
10d50 6c 6f 63 6b 3b 0d 0a 20 7a 6f 6f 6d 3a 31 3b 0d  lock;.. zoom:1;.
10d60 0a 20 2a 64 69 73 70 6c 61 79 3a 62 6c 6f 63 6b  . *display:block
10d70 3b 0d 0a 20 77 69 64 74 68 3a 20 31 30 30 25 3b  ;.. width: 100%;
10d80 0d 0a 20 66 6f 6e 74 2d 73 74 79 6c 65 3a 20 69  .. font-style: i
10d90 74 61 6c 69 63 3b 0d 0a 20 70 61 64 64 69 6e 67  talic;.. padding
10da0 3a 20 30 2e 35 65 6d 20 30 3b 0d 0a 20 6d 61 72  : 0.5em 0;.. mar
10db0 67 69 6e 3a 20 30 2e 35 65 6d 20 30 3b 0d 0a 20  gin: 0.5em 0;.. 
10dc0 62 6f 72 64 65 72 2d 74 6f 70 3a 20 31 70 78 20  border-top: 1px 
10dd0 64 6f 74 74 65 64 20 23 41 32 42 35 43 44 3b 0d  dotted #A2B5CD;.
10de0 0a 20 62 6f 72 64 65 72 2d 62 6f 74 74 6f 6d 3a  . border-bottom:
10df0 20 31 70 78 20 64 6f 74 74 65 64 20 23 41 32 42   1px dotted #A2B
10e00 35 43 44 3b 0d 0a 20 63 6f 6c 6f 72 3a 20 23 41  5CD;.. color: #A
10e10 32 42 35 43 44 3b 0d 0a 7d 0d 0a 0d 0a 70 72 65  2B5CD;..}....pre
10e20 20 2e 64 69 66 66 2d 61 64 64 65 64 20 7b 0d 0a   .diff-added {..
10e30 20 62 61 63 6b 67 72 6f 75 6e 64 2d 63 6f 6c 6f   background-colo
10e40 72 3a 20 23 43 45 46 42 43 33 20 21 69 6d 70 6f  r: #CEFBC3 !impo
10e50 72 74 61 6e 74 3b 0d 0a 7d 0d 0a 0d 0a 70 72 65  rtant;..}....pre
10e60 20 2e 64 69 66 66 2d 72 65 6d 6f 76 65 64 20 7b   .diff-removed {
10e70 0d 0a 20 62 61 63 6b 67 72 6f 75 6e 64 2d 63 6f  .. background-co
10e80 6c 6f 72 3a 20 23 46 35 43 32 43 31 20 21 69 6d  lor: #F5C2C1 !im
10e90 70 6f 72 74 61 6e 74 3b 0d 0a 7d 0d 0a 0d 0a 3d  portant;..}....=
10ea0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
10eb0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0d  ===============.
10ec0 0a 0d 0a 54 68 61 74 27 73 20 69 74 3a 20 74 68  ...That's it: th
10ed0 65 20 73 63 72 69 70 74 20 77 69 6c 6c 20 61 75  e script will au
10ee0 74 6f 6d 61 74 69 63 61 6c 6c 79 20 64 65 74 65  tomatically dete
10ef0 63 74 20 64 69 66 66 73 20 61 6e 64 20 63 6f 6c  ct diffs and col
10f00 6f 72 20 74 68 65 6d 2e 0d 0a 3c 2f 76 65 72 62  or them...</verb
10f10 61 74 69 6d 3e 0d 0a 0d 0a 0d 0a 3c 68 32 3e 3c  atim>......<h2><
10f20 61 20 6e 61 6d 65 3d 22 4d 65 72 63 75 72 69 61  a name="Mercuria
10f30 6c 22 3e 49 6d 70 6f 72 74 69 6e 67 20 66 72 6f  l">Importing fro
10f40 6d 20 4d 65 72 63 75 72 69 61 6c 3c 2f 61 3e 3c  m Mercurial</a><
10f50 2f 68 32 3e 0d 0a 0d 0a 3c 68 33 3e 50 72 6f 62  /h2>....<h3>Prob
10f60 6c 65 6d 3c 2f 68 33 3e 0d 0a 0d 0a 46 6f 73 73  lem</h3>....Foss
10f70 69 6c 20 73 75 70 70 6f 72 74 73 20 5b 2f 64 6f  il supports [/do
10f80 63 2f 74 72 75 6e 6b 2f 77 77 77 2f 69 6e 6f 75  c/trunk/www/inou
10f90 74 2e 77 69 6b 69 7c 69 6d 70 6f 72 74 69 6e 67  t.wiki|importing
10fa0 20 66 72 6f 6d 20 47 69 74 5d 2c 20 62 75 74 20   from Git], but 
10fb0 6e 6f 74 20 66 72 6f 6d 20 4d 65 72 63 75 72 69  not from Mercuri
10fc0 61 6c 2e 0d 0a 0d 0a 3c 68 33 3e 53 6f 6c 75 74  al.....<h3>Solut
10fd0 69 6f 6e 31 3c 2f 68 33 3e 0d 0a 0d 0a 57 65 27  ion1</h3>....We'
10fe0 6c 6c 20 75 73 65 20 47 69 74 20 61 73 20 61 6e  ll use Git as an
10ff0 20 69 6e 74 65 72 6d 65 64 69 61 72 79 3a 20 66   intermediary: f
11000 69 72 73 74 20 62 79 20 63 6f 6e 76 65 72 74 69  irst by converti
11010 6e 67 20 4d 65 72 63 75 72 69 61 6c 20 72 65 70  ng Mercurial rep
11020 6f 73 69 74 6f 72 79 20 74 6f 20 47 69 74 2c 20  ository to Git, 
11030 61 6e 64 20 74 68 65 6e 20 62 79 20 63 6f 6e 76  and then by conv
11040 65 72 74 69 6e 67 20 47 69 74 20 72 65 70 6f 73  erting Git repos
11050 69 74 6f 72 79 0d 0a 74 6f 20 46 6f 73 73 69 6c  itory..to Fossil
11060 2e 20 59 6f 75 27 6c 6c 20 6e 65 65 64 20 62 6f  . You'll need bo
11070 74 68 20 47 69 74 20 61 6e 64 20 4d 65 72 63 75  th Git and Mercu
11080 72 69 61 6c 20 69 6e 73 74 61 6c 6c 65 64 20 66  rial installed f
11090 6f 72 20 74 68 69 73 20 74 6f 20 77 6f 72 6b 2e  or this to work.
110a0 0d 0a 0d 0a 47 65 74 20 3c 69 3e 68 67 32 67 69  ....Get <i>hg2gi
110b0 74 2e 70 79 3c 2f 69 3e 2c 20 3c 69 3e 68 67 2d  t.py</i>, <i>hg-
110c0 66 61 73 74 2d 65 78 70 6f 72 74 2e 70 79 3c 2f  fast-export.py</
110d0 69 3e 2c 20 61 6e 64 20 3c 69 3e 68 67 2d 66 61  i>, and <i>hg-fa
110e0 73 74 2d 65 78 70 6f 72 74 2e 73 68 3c 2f 69 3e  st-export.sh</i>
110f0 20 66 72 6f 6d 20 5b 68 74 74 70 3a 2f 2f 72 65   from [http://re
11100 70 6f 2e 6f 72 2e 63 7a 2f 77 2f 66 61 73 74 2d  po.or.cz/w/fast-
11110 65 78 70 6f 72 74 2e 67 69 74 2f 74 72 65 65 5d  export.git/tree]
11120 2c 0d 0a 61 6e 64 20 70 75 74 20 74 68 65 6d 20  ,..and put them 
11130 69 6e 74 6f 20 61 20 73 69 6e 67 6c 65 20 64 69  into a single di
11140 72 65 63 74 6f 72 79 20 28 77 65 27 6c 6c 20 75  rectory (we'll u
11150 73 65 20 7e 2f 44 6f 77 6e 6c 6f 61 64 73 2f 29  se ~/Downloads/)
11160 2e 0d 0a 0d 0a 43 68 61 6e 67 65 20 64 69 72 65  .....Change dire
11170 63 74 6f 72 79 20 74 6f 20 79 6f 75 72 20 4d 65  ctory to your Me
11180 72 63 75 72 69 61 6c 20 77 6f 72 6b 69 6e 67 20  rcurial working 
11190 63 6f 70 79 20 28 66 6f 72 20 74 68 65 20 65 78  copy (for the ex
111a0 61 6d 70 6c 65 20 77 65 27 6c 6c 20 75 73 65 20  ample we'll use 
111b0 22 70 72 6f 6a 65 63 74 22 29 2c 20 61 6e 64 20  "project"), and 
111c0 63 72 65 61 74 65 20 61 20 6e 65 77 20 47 69 74  create a new Git
111d0 20 72 65 70 6f 73 69 74 6f 72 79 0d 0a 74 68 65   repository..the
111e0 72 65 3a 0d 0a 0d 0a 3c 76 65 72 62 61 74 69 6d  re:....<verbatim
111f0 3e 0d 0a 20 20 63 64 20 70 72 6f 6a 65 63 74 0d  >..  cd project.
11200 0a 20 20 67 69 74 20 69 6e 69 74 0d 0a 3c 2f 76  .  git init..</v
11210 65 72 62 61 74 69 6d 3e 0d 0a 0d 0a 52 75 6e 20  erbatim>....Run 
11220 65 78 70 6f 72 74 3a 0d 0a 0d 0a 3c 76 65 72 62  export:....<verb
11230 61 74 69 6d 3e 0d 0a 20 20 73 68 20 7e 2f 44 6f  atim>..  sh ~/Do
11240 77 6e 6c 6f 61 64 73 2f 68 67 2d 66 61 73 74 2d  wnloads/hg-fast-
11250 65 78 70 6f 72 74 2e 73 68 0d 0a 3c 2f 76 65 72  export.sh..</ver
11260 62 61 74 69 6d 3e 0d 0a 0d 0a 4f 6e 63 65 20 69  batim>....Once i
11270 74 20 66 69 6e 69 73 68 65 73 2c 20 63 68 65 63  t finishes, chec
11280 6b 20 69 66 20 69 74 20 63 6f 72 72 65 63 74 6c  k if it correctl
11290 79 20 69 6d 70 6f 72 74 65 64 20 65 76 65 72 79  y imported every
112a0 74 68 69 6e 67 20 62 79 20 72 75 6e 6e 69 6e 67  thing by running
112b0 20 22 67 69 74 20 6c 6f 67 22 2e 20 0d 0a 0d 0a   "git log". ....
112c0 49 66 20 79 6f 75 20 67 6f 74 20 22 49 6d 70 6f  If you got "Impo
112d0 72 74 45 72 72 6f 72 3a 20 4e 6f 20 6d 6f 64 75  rtError: No modu
112e0 6c 65 20 6e 61 6d 65 64 20 6d 65 72 63 75 72 69  le named mercuri
112f0 61 6c 22 20 6d 61 6b 65 20 73 75 72 65 20 79 6f  al" make sure yo
11300 75 72 20 50 59 54 48 4f 4e 50 41 54 48 20 76 61  ur PYTHONPATH va
11310 72 69 61 62 6c 65 20 69 73 20 73 65 74 20 74 6f  riable is set to
11320 20 70 6f 69 6e 74 20 74 6f 20 74 68 65 20 6c 6f   point to the lo
11330 63 61 74 69 6f 6e 0d 0a 77 68 65 72 65 20 6d 65  cation..where me
11340 72 63 75 72 69 61 6c 20 6d 6f 64 75 6c 65 73 20  rcurial modules 
11350 61 72 65 20 69 6e 73 74 61 6c 6c 65 64 20 28 6f  are installed (o
11360 6e 20 4d 61 63 20 4f 53 20 58 20 77 68 65 6e 20  n Mac OS X when 
11370 4d 65 72 63 75 72 69 61 6c 20 77 61 73 20 69 6e  Mercurial was in
11380 73 74 61 6c 6c 65 64 20 76 69 61 20 22 73 75 64  stalled via "sud
11390 6f 20 65 61 73 79 5f 69 6e 73 74 61 6c 6c 20 6d  o easy_install m
113a0 65 72 63 75 72 69 61 6c 22 2c 20 65 6e 74 65 72  ercurial", enter
113b0 20 74 68 65 0d 0a 66 6f 6c 6c 6f 77 69 6e 67 20   the..following 
113c0 69 6e 74 6f 20 62 61 73 68 3a 20 22 65 78 70 6f  into bash: "expo
113d0 72 74 20 50 59 54 48 4f 4e 50 41 54 48 3d 2f 4c  rt PYTHONPATH=/L
113e0 69 62 72 61 72 79 2f 50 79 74 68 6f 6e 2f 32 2e  ibrary/Python/2.
113f0 36 2f 73 69 74 65 2d 70 61 63 6b 61 67 65 73 22  6/site-packages"
11400 29 2e 0d 0a 0d 0a 4e 6f 77 20 77 65 20 63 61 6e  ).....Now we can
11410 20 69 6d 70 6f 72 74 20 47 69 74 20 72 65 70 6f   import Git repo
11420 73 69 74 6f 72 79 20 69 6e 74 6f 20 46 6f 73 73  sitory into Foss
11430 69 6c 20 28 77 65 27 6c 6c 20 70 75 74 20 69 74  il (we'll put it
11440 20 69 6e 74 6f 0d 0a 70 61 72 65 6e 74 20 64 69   into..parent di
11450 72 65 63 74 6f 72 79 20 75 6e 64 65 72 20 74 68  rectory under th
11460 65 20 22 6f 75 72 2d 72 65 70 6f 73 69 74 6f 72  e "our-repositor
11470 79 2e 66 6f 73 73 69 6c 22 20 6e 61 6d 65 29 3a  y.fossil" name):
11480 0d 0a 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a  ....<verbatim>..
11490 20 20 67 69 74 20 66 61 73 74 2d 65 78 70 6f 72    git fast-expor
114a0 74 20 2d 2d 61 6c 6c 20 7c 20 66 6f 73 73 69 6c  t --all | fossil
114b0 20 69 6d 70 6f 72 74 20 2d 2d 67 69 74 20 2e 2e   import --git ..
114c0 2f 6f 75 72 2d 72 65 70 6f 73 69 74 6f 72 79 2e  /our-repository.
114d0 66 6f 73 73 69 6c 0d 0a 3c 2f 76 65 72 62 61 74  fossil..</verbat
114e0 69 6d 3e 0d 0a 20 20 0d 0a 3c 68 33 3e 53 6f 6c  im>..  ..<h3>Sol
114f0 75 74 69 6f 6e 32 3c 2f 68 33 3e 0d 0a 0d 0a 54  ution2</h3>....T
11500 68 69 73 20 73 6f 6c 75 74 69 6f 6e 20 75 73 65  his solution use
11510 73 20 48 67 47 69 74 20 66 72 6f 6d 20 5b 68 74  s HgGit from [ht
11520 74 70 3a 2f 2f 68 67 2d 67 69 74 2e 67 69 74 68  tp://hg-git.gith
11530 75 62 2e 63 6f 6d 2f 5d 2c 20 68 67 2c 20 67 69  ub.com/], hg, gi
11540 74 2c 20 61 6e 64 20 66 6f 73 73 69 6c 20 6e 65  t, and fossil ne
11550 65 64 20 74 6f 20 62 65 20 69 6e 73 74 61 6c 6c  ed to be install
11560 65 64 20 6f 6e 20 79 6f 75 72 20 73 79 73 74 65  ed on your syste
11570 6d 2e 20 20 4d 6f 73 74 20 4f 53 73 20 68 61 76  m.  Most OSs hav
11580 65 20 61 20 70 61 63 6b 61 67 65 20 66 6f 72 20  e a package for 
11590 48 67 47 69 74 2c 20 62 75 74 20 49 20 72 61 6e  HgGit, but I ran
115a0 20 69 6e 74 6f 20 61 20 62 75 67 20 69 6e 20 61   into a bug in a
115b0 6e 20 6f 6c 64 65 72 20 76 65 72 73 69 6f 6e 20  n older version 
115c0 6f 66 20 48 67 47 69 74 20 61 6e 64 20 68 61 76  of HgGit and hav
115d0 65 20 66 6f 75 6e 64 20 74 68 61 74 20 61 20 63  e found that a c
115e0 6c 65 61 6e 20 63 68 65 63 6b 20 6f 75 74 20 77  lean check out w
115f0 6f 72 6b 73 20 6a 75 73 74 20 66 69 6e 65 2e 0d  orks just fine..
11600 0a 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67  ...The following
11610 20 65 78 61 6d 70 6c 65 20 77 6f 72 6b 65 64 20   example worked 
11620 76 65 72 79 20 6e 69 63 65 6c 79 20 66 6f 72 20  very nicely for 
11630 6d 65 20 6f 6e 20 61 20 4d 65 72 63 75 72 69 61  me on a Mercuria
11640 6c 20 72 65 70 6f 73 69 74 6f 72 79 20 63 61 6c  l repository cal
11650 6c 65 64 20 22 77 70 6b 67 22 2e 0d 0a 0d 0a 3c  led "wpkg".....<
11660 68 34 3e 54 68 65 20 62 61 73 69 63 20 73 74 65  h4>The basic ste
11670 70 73 20 61 72 65 3a 3c 2f 68 34 3e 0d 0a 20 20  ps are:</h4>..  
11680 31 2e 20 20 43 6c 6f 6e 65 20 74 68 65 20 4d 65  1.  Clone the Me
11690 72 63 75 72 69 61 6c 20 72 65 70 6f 73 69 74 6f  rcurial reposito
116a0 72 79 2e 0d 0a 20 20 32 2e 20 20 43 6c 6f 6e 65  ry...  2.  Clone
116b0 20 68 67 2d 67 69 74 2e 0d 0a 20 20 33 2e 20 20   hg-git...  3.  
116c0 49 6e 69 74 69 61 6c 69 7a 65 20 61 20 6e 65 77  Initialize a new
116d0 20 67 69 74 20 72 65 70 6f 73 69 74 6f 72 79 2e   git repository.
116e0 0d 0a 20 20 34 2e 20 20 4d 6f 64 69 66 79 20 74  ..  4.  Modify t
116f0 68 65 20 2e 68 67 2f 68 67 72 63 20 66 69 6c 65  he .hg/hgrc file
11700 2e 0d 0a 20 20 35 2e 20 20 50 75 73 68 20 74 68  ...  5.  Push th
11710 65 20 4d 65 72 63 75 72 69 61 6c 20 72 65 70 6f  e Mercurial repo
11720 73 69 74 6f 72 79 20 69 6e 74 6f 20 74 68 65 20  sitory into the 
11730 6e 65 77 20 67 69 74 20 72 65 70 6f 73 69 74 6f  new git reposito
11740 72 79 2e 0d 0a 20 20 36 2e 20 20 45 78 70 6f 72  ry...  6.  Expor
11750 74 20 67 69 74 20 74 6f 20 66 6f 73 73 69 6c 2e  t git to fossil.
11760 0d 0a 20 20 37 2e 20 20 54 61 6b 65 20 61 20 6c  ..  7.  Take a l
11770 6f 6f 6b 20 61 74 20 79 6f 75 72 20 6e 65 77 20  ook at your new 
11780 66 6f 73 73 69 6c 20 72 65 70 6f 73 69 74 6f 72  fossil repositor
11790 79 2e 0d 0a 0d 0a 3c 76 65 72 62 61 74 69 6d 3e  y.....<verbatim>
117a0 0d 0a 6d 6b 64 69 72 20 2f 74 6d 70 2f 6d 6f 72  ..mkdir /tmp/mor
117b0 65 74 6d 70 0d 0a 63 64 20 2f 74 6d 70 2f 6d 6f  etmp..cd /tmp/mo
117c0 72 65 74 6d 70 0d 0a 68 67 20 63 6c 6f 6e 65 20  retmp..hg clone 
117d0 73 73 68 3a 2f 2f 68 67 40 68 67 2f 72 65 70 6f  ssh://hg@hg/repo
117e0 73 2f 77 70 6b 67 0d 0a 67 69 74 20 63 6c 6f 6e  s/wpkg..git clon
117f0 65 20 67 69 74 3a 2f 2f 67 69 74 68 75 62 2e 63  e git://github.c
11800 6f 6d 2f 73 63 68 61 63 6f 6e 2f 68 67 2d 67 69  om/schacon/hg-gi
11810 74 2e 67 69 74 0d 0a 67 69 74 20 69 6e 69 74 20  t.git..git init 
11820 2d 2d 62 61 72 65 20 67 69 74 2d 77 70 6b 67 0d  --bare git-wpkg.
11830 0a 63 64 20 77 70 6b 67 0d 0a 63 61 74 20 3e 3e  .cd wpkg..cat >>
11840 20 2e 68 67 2f 68 67 72 63 20 3c 3c 20 45 4f 46   .hg/hgrc << EOF
11850 0d 0a 0d 0a 5b 65 78 74 65 6e 73 69 6f 6e 73 5d  ....[extensions]
11860 0d 0a 68 67 65 78 74 2e 62 6f 6f 6b 6d 61 72 6b  ..hgext.bookmark
11870 73 20 3d 0d 0a 68 67 67 69 74 20 3d 20 2f 74 6d  s =..hggit = /tm
11880 70 2f 6d 6f 72 65 74 6d 70 2f 68 67 2d 67 69 74  p/moretmp/hg-git
11890 2f 68 67 67 69 74 0d 0a 45 4f 46 0d 0a 0d 0a 68  /hggit..EOF....h
118a0 67 20 70 75 73 68 20 2e 2e 2f 67 69 74 2d 77 70  g push ../git-wp
118b0 6b 67 0d 0a 63 64 20 2e 2e 2f 67 69 74 2d 77 70  kg..cd ../git-wp
118c0 6b 67 0d 0a 67 69 74 20 66 61 73 74 2d 65 78 70  kg..git fast-exp
118d0 6f 72 74 20 2d 2d 61 6c 6c 20 7c 20 66 6f 73 73  ort --all | foss
118e0 69 6c 20 69 6d 70 6f 72 74 20 2d 2d 67 69 74 20  il import --git 
118f0 7e 2f 77 70 6b 67 2e 66 6f 73 73 69 6c 0d 0a 63  ~/wpkg.fossil..c
11900 64 20 7e 0d 0a 72 6d 20 2d 72 66 20 2f 74 6d 70  d ~..rm -rf /tmp
11910 2f 6d 6f 72 65 74 6d 70 0d 0a 66 6f 73 73 69 6c  /moretmp..fossil
11920 20 75 69 20 77 70 6b 67 2e 66 6f 73 73 69 6c 0d   ui wpkg.fossil.
11930 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 0d 0a  .</verbatim>....
11940 3c 68 32 3e 3c 61 20 6e 61 6d 65 3d 22 53 56 4e  <h2><a name="SVN
11950 22 3e 49 6d 70 6f 72 74 69 6e 67 20 66 72 6f 6d  ">Importing from
11960 20 53 56 4e 3c 2f 61 3e 3c 2f 68 32 3e 0d 0a 0d   SVN</a></h2>...
11970 0a 3c 68 33 3e 50 72 6f 62 6c 65 6d 3c 2f 68 33  .<h3>Problem</h3
11980 3e 0d 0a 0d 0a 46 6f 73 73 69 6c 20 73 75 70 70  >....Fossil supp
11990 6f 72 74 73 20 5b 2f 64 6f 63 2f 74 72 75 6e 6b  orts [/doc/trunk
119a0 2f 77 77 77 2f 69 6e 6f 75 74 2e 77 69 6b 69 7c  /www/inout.wiki|
119b0 69 6d 70 6f 72 74 69 6e 67 20 66 72 6f 6d 20 47  importing from G
119c0 69 74 5d 2c 20 62 75 74 20 6e 6f 74 20 66 72 6f  it], but not fro
119d0 6d 20 53 56 4e 2e 0d 0a 0d 0a 3c 68 33 3e 53 6f  m SVN.....<h3>So
119e0 6c 75 74 69 6f 6e 3c 2f 68 33 3e 0d 0a 0d 0a 20  lution</h3>.... 
119f0 20 2a 20 20 45 6e 73 75 72 65 20 79 6f 75 20 68   *  Ensure you h
11a00 61 76 65 20 22 67 69 74 2d 73 76 6e 22 20 61 6e  ave "git-svn" an
11a10 64 20 22 73 65 64 22 2e 0d 0a 20 20 2a 20 20 53  d "sed"...  *  S
11a20 61 76 65 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e  ave the followin
11a30 67 20 62 61 73 68 20 73 63 72 69 70 74 20 73 6f  g bash script so
11a40 6d 65 77 68 65 72 65 2c 20 63 61 6c 6c 20 69 74  mewhere, call it
11a50 20 3c 74 74 3e 73 76 6e 32 66 6f 73 73 69 6c 3c   <tt>svn2fossil<
11a60 2f 74 74 3e 0d 0a 20 20 2a 20 20 43 72 65 61 74  /tt>..  *  Creat
11a70 65 20 61 6e 20 65 6d 70 74 79 20 64 69 72 65 63  e an empty direc
11a80 74 6f 72 79 0d 0a 20 20 2a 20 20 49 6e 20 74 68  tory..  *  In th
11a90 61 74 20 64 69 72 65 63 74 6f 72 79 2c 20 74 79  at directory, ty
11aa0 70 65 20 3c 74 74 3e 73 76 6e 32 66 6f 73 73 69  pe <tt>svn2fossi
11ab0 6c 20 75 73 65 72 6e 61 6d 65 20 73 76 6e 72 65  l username svnre
11ac0 70 6f 20 66 6f 73 73 69 6c 72 65 70 6f 3c 2f 74  po fossilrepo</t
11ad0 74 3e 0d 0a 0d 0a 49 6e 20 74 68 69 73 20 63 61  t>....In this ca
11ae0 73 65 20 27 75 73 65 72 6e 61 6d 65 27 20 69 73  se 'username' is
11af0 20 74 68 65 20 53 56 4e 20 75 73 65 72 20 79 6f   the SVN user yo
11b00 75 20 77 69 73 68 20 74 6f 20 6d 61 6b 65 20 63  u wish to make c
11b10 68 61 6e 67 65 73 20 61 73 2c 20 27 73 76 6e 72  hanges as, 'svnr
11b20 65 70 6f 27 20 69 73 20 74 68 65 20 66 75 6c 6c  epo' is the full
11b30 20 73 76 6e 20 75 72 6c 20 28 65 2e 67 2e 20 22   svn url (e.g. "
11b40 73 76 6e 2b 73 73 68 3a 2f 2f 6a 6f 65 40 73 6f  svn+ssh://joe@so
11b50 6d 65 70 6c 61 63 65 2e 6f 72 67 2f 73 76 6e 2f  meplace.org/svn/
11b60 77 68 61 74 65 76 65 72 22 29 2c 20 61 6e 64 20  whatever"), and 
11b70 22 66 6f 73 73 69 6c 72 65 70 6f 22 20 69 73 20  "fossilrepo" is 
11b80 74 68 65 20 6e 61 6d 65 20 79 6f 75 20 77 69 73  the name you wis
11b90 68 20 74 68 65 20 72 65 73 75 6c 74 61 6e 74 20  h the resultant 
11ba0 66 6f 73 73 69 6c 20 72 65 70 6f 73 69 74 6f 72  fossil repositor
11bb0 79 20 74 6f 20 68 61 76 65 2e 0d 0a 0d 0a 54 68  y to have.....Th
11bc0 65 20 22 73 76 6e 32 66 6f 73 73 69 6c 22 20 73  e "svn2fossil" s
11bd0 63 72 69 70 74 20 77 69 6c 6c 20 66 69 72 73 74  cript will first
11be0 20 69 6d 70 6f 72 74 20 74 68 65 20 53 56 4e 20   import the SVN 
11bf0 72 65 70 6f 73 69 74 6f 72 79 20 69 6e 74 6f 20  repository into 
11c00 27 67 69 74 27 2e 20 20 54 68 65 6e 20 69 74 20  'git'.  Then it 
11c10 77 69 6c 6c 20 65 78 70 6f 72 74 20 66 72 6f 6d  will export from
11c20 20 27 67 69 74 27 20 74 6f 20 66 6f 73 73 69 6c   'git' to fossil
11c30 2e 20 20 54 68 65 6e 20 69 74 20 77 69 6c 6c 20  .  Then it will 
11c40 69 6d 70 6f 72 74 20 61 6c 6c 20 74 68 65 20 53  import all the S
11c50 56 4e 20 75 73 65 72 73 20 77 68 6f 20 61 72 65  VN users who are
11c60 20 6c 69 73 74 65 64 20 69 6e 20 74 68 65 20 53   listed in the S
11c70 56 4e 20 6c 6f 67 2c 20 61 73 20 27 64 65 76 65  VN log, as 'deve
11c80 6c 6f 70 65 72 73 27 20 69 6e 20 74 68 65 20 66  lopers' in the f
11c90 6f 73 73 69 6c 20 72 65 70 6f 73 69 74 6f 72 79  ossil repository
11ca0 2c 20 77 69 74 68 20 61 20 70 61 73 73 77 6f 72  , with a passwor
11cb0 64 20 63 6f 6e 73 69 73 74 69 6e 67 20 6f 66 20  d consisting of 
11cc0 74 68 65 20 75 73 65 72 20 6e 61 6d 65 20 77 69  the user name wi
11cd0 74 68 20 27 31 32 33 34 27 20 61 70 70 65 6e 64  th '1234' append
11ce0 65 64 20 74 6f 20 69 74 2e 20 20 46 69 6e 61 6c  ed to it.  Final
11cf0 6c 79 2c 20 74 68 65 20 73 63 72 69 70 74 20 77  ly, the script w
11d00 69 6c 6c 20 6c 61 75 6e 63 68 20 27 66 6f 73 73  ill launch 'foss
11d10 69 6c 20 75 69 27 20 6f 6e 20 74 68 65 20 6e 65  il ui' on the ne
11d20 77 20 72 65 70 6f 73 69 74 6f 72 79 20 73 6f 20  w repository so 
11d30 79 6f 75 20 63 61 6e 20 6d 61 6b 65 20 61 6e 79  you can make any
11d40 20 61 64 64 69 74 69 6f 6e 61 6c 20 63 68 61 6e   additional chan
11d50 67 65 73 20 79 6f 75 20 77 61 6e 74 2e 0d 0a 0d  ges you want....
11d60 0a 49 20 68 61 76 65 20 73 75 63 63 65 73 73 66  .I have successf
11d70 75 6c 6c 79 20 75 73 65 64 20 74 68 69 73 20 73  ully used this s
11d80 63 72 69 70 74 20 74 6f 20 63 6f 6e 76 65 72 74  cript to convert
11d90 20 70 72 65 74 74 79 20 6c 61 72 67 65 20 53 56   pretty large SV
11da0 4e 20 72 65 70 6f 73 69 74 6f 72 69 65 73 20 74  N repositories t
11db0 6f 20 66 6f 73 73 69 6c 2c 20 69 6e 20 61 20 63  o fossil, in a c
11dc0 6f 72 70 6f 72 61 74 65 20 65 6e 76 69 72 6f 6e  orporate environ
11dd0 6d 65 6e 74 2e 20 20 54 68 65 20 73 63 72 69 70  ment.  The scrip
11de0 74 20 66 6f 6c 6c 6f 77 73 3a 0d 0a 3c 76 65 72  t follows:..<ver
11df0 62 61 74 69 6d 3e 0d 0a 23 21 2f 62 69 6e 2f 62  batim>..#!/bin/b
11e00 61 73 68 0d 0a 0d 0a 64 69 65 28 29 7b 0d 0a 09  ash....die(){...
11e10 65 63 68 6f 20 24 31 0d 0a 09 65 78 69 74 20 31  echo $1...exit 1
11e20 0d 0a 7d 0d 0a 0d 0a 61 75 74 68 6f 72 73 3d 27  ..}....authors='
11e30 61 75 74 68 6f 72 73 2e 74 78 74 27 0d 0a 66 6f  authors.txt'..fo
11e40 73 73 69 6c 75 73 65 72 73 3d 27 75 73 65 72 73  ssilusers='users
11e50 2e 74 78 74 27 0d 0a 0d 0a 23 20 70 61 72 61 6d  .txt'....# param
11e60 65 74 65 72 73 3a 0d 0a 23 20 31 20 2d 20 75 73  eters:..# 1 - us
11e70 65 72 6e 61 6d 65 20 6f 66 20 61 64 6d 69 6e 0d  ername of admin.
11e80 0a 23 20 32 20 2d 20 73 76 6e 20 72 65 70 6f 73  .# 2 - svn repos
11e90 69 74 6f 72 79 20 74 6f 20 63 6f 6e 76 65 72 74  itory to convert
11ea0 0d 0a 23 20 33 20 2d 20 6e 61 6d 65 20 6f 66 20  ..# 3 - name of 
11eb0 66 6f 73 73 69 6c 20 72 65 70 6f 0d 0a 23 20 6e  fossil repo..# n
11ec0 6f 74 65 3a 20 74 68 65 20 72 65 70 6f 73 69 74  ote: the reposit
11ed0 6f 72 79 20 77 69 6c 6c 20 62 65 20 63 72 65 61  ory will be crea
11ee0 74 65 64 20 72 69 67 68 74 20 68 65 72 65 21 0d  ted right here!.
11ef0 0a 0d 0a 69 66 20 5b 20 22 24 33 22 20 3d 3d 20  ...if [ "$3" == 
11f00 22 22 20 5d 0d 0a 74 68 65 6e 0d 0a 09 65 63 68  "" ]..then...ech
11f10 6f 20 22 53 79 6e 74 61 78 3a 22 0d 0a 09 65 63  o "Syntax:"...ec
11f20 68 6f 20 22 20 20 73 76 6e 32 66 6f 73 73 69 6c  ho "  svn2fossil
11f30 20 75 73 65 72 6e 61 6d 65 20 20 73 76 6e 2d 72   username  svn-r
11f40 65 70 6f 2d 75 72 6c 20 20 66 6f 73 73 69 6c 2d  epo-url  fossil-
11f50 72 65 70 6f 2d 6e 61 6d 65 22 0d 0a 09 64 69 65  repo-name"...die
11f60 20 20 22 50 6c 65 61 73 65 20 6d 61 6b 65 20 73    "Please make s
11f70 75 72 65 20 79 6f 75 20 68 61 76 65 20 61 6c 6c  ure you have all
11f80 20 74 68 72 65 65 20 70 61 72 61 6d 65 74 65 72   three parameter
11f90 73 20 73 65 74 21 22 0d 0a 66 69 0d 0a 0d 0a 65  s set!"..fi....e
11fa0 63 68 6f 20 22 47 65 74 74 69 6e 67 20 75 73 65  cho "Getting use
11fb0 72 20 6e 61 6d 65 73 2e 2e 2e 22 0d 0a 0d 0a 73  r names..."....s
11fc0 76 6e 20 6c 6f 67 20 22 24 32 22 20 7c 20 67 72  vn log "$2" | gr
11fd0 65 70 20 27 5e 72 5b 30 2d 39 5d 27 20 7c 20 63  ep '^r[0-9]' | c
11fe0 75 74 20 2d 66 33 20 2d 64 27 20 27 20 7c 20 73  ut -f3 -d' ' | s
11ff0 6f 72 74 20 2d 75 20 3e 20 24 66 6f 73 73 69 6c  ort -u > $fossil
12000 75 73 65 72 73 20 7c 7c 20 64 69 65 20 22 53 6f  users || die "So
12010 6d 65 74 68 69 6e 67 20 77 65 6e 74 20 77 72 6f  mething went wro
12020 6e 67 20 67 65 74 74 69 6e 67 20 75 73 65 72 20  ng getting user 
12030 6e 61 6d 65 73 22 0d 0a 0d 0a 65 63 68 6f 20 22  names"....echo "
12040 43 6f 6e 76 65 72 74 69 6e 67 20 75 73 65 72 20  Converting user 
12050 6e 61 6d 65 73 20 74 6f 20 75 73 61 62 6c 65 20  names to usable 
12060 66 6f 72 6d 61 74 2e 2e 2e 22 0d 0a 73 65 64 20  format..."..sed 
12070 2d 65 20 27 73 2f 2e 2a 2f 26 20 3d 20 26 20 3c  -e 's/.*/& = & <
12080 26 3e 2f 27 20 24 66 6f 73 73 69 6c 75 73 65 72  &>/' $fossiluser
12090 73 20 3e 20 24 61 75 74 68 6f 72 73 20 7c 7c 20  s > $authors || 
120a0 64 69 65 20 22 43 6f 75 6c 64 20 6e 6f 74 20 63  die "Could not c
120b0 6f 6e 76 65 72 74 20 75 73 65 72 20 6e 61 6d 65  onvert user name
120c0 73 22 0d 0a 0d 0a 65 63 68 6f 20 22 49 6d 70 6f  s"....echo "Impo
120d0 72 74 69 6e 67 20 66 72 6f 6d 20 53 56 4e 20 74  rting from SVN t
120e0 6f 20 67 69 74 2e 20 20 54 68 69 73 20 77 69 6c  o git.  This wil
120f0 6c 20 74 61 6b 65 20 73 6f 6d 65 20 74 69 6d 65  l take some time
12100 2c 20 62 65 20 70 61 74 69 65 6e 74 21 22 0d 0a  , be patient!"..
12110 0d 0a 67 69 74 20 73 76 6e 20 63 6c 6f 6e 65 20  ..git svn clone 
12120 2d 2d 61 75 74 68 6f 72 73 2d 66 69 6c 65 3d 24  --authors-file=$
12130 61 75 74 68 6f 72 73 20 2d 2d 75 73 65 72 6e 61  authors --userna
12140 6d 65 3d 22 24 31 22 20 2d 2d 6e 6f 2d 6d 65 74  me="$1" --no-met
12150 61 64 61 74 61 20 22 24 32 22 20 74 6d 70 20 7c  adata "$2" tmp |
12160 7c 20 64 69 65 20 22 55 6e 61 62 6c 65 20 74 6f  | die "Unable to
12170 20 69 6d 70 6f 72 74 20 74 6f 20 67 69 74 22 0d   import to git".
12180 0a 0d 0a 65 63 68 6f 20 22 49 6d 70 6f 72 74 69  ...echo "Importi
12190 6e 67 20 66 72 6f 6d 20 67 69 74 20 74 6f 20 66  ng from git to f
121a0 6f 73 73 69 6c 2e 20 20 54 68 69 73 20 77 69 6c  ossil.  This wil
121b0 6c 20 61 6c 73 6f 20 74 61 6b 65 20 73 6f 6d 65  l also take some
121c0 20 74 69 6d 65 2c 20 73 61 64 6c 79 22 0d 0a 0d   time, sadly"...
121d0 0a 28 0d 0a 63 64 20 74 6d 70 0d 0a 67 69 74 20  .(..cd tmp..git 
121e0 66 61 73 74 2d 65 78 70 6f 72 74 20 2d 2d 66 75  fast-export --fu
121f0 6c 6c 2d 74 72 65 65 20 2d 2d 61 6c 6c 20 7c 20  ll-tree --all | 
12200 66 6f 73 73 69 6c 20 69 6d 70 6f 72 74 20 2d 2d  fossil import --
12210 67 69 74 20 2e 2e 2f 24 33 20 7c 7c 20 64 69 65  git ../$3 || die
12220 20 22 55 6e 61 62 6c 65 20 74 6f 20 69 6d 70 6f   "Unable to impo
12230 72 74 20 69 6e 74 6f 20 66 6f 73 73 69 6c 22 0d  rt into fossil".
12240 0a 29 0d 0a 0d 0a 65 63 68 6f 20 22 41 64 64 69  .)....echo "Addi
12250 6e 67 20 75 73 65 72 73 20 74 6f 20 66 6f 73 73  ng users to foss
12260 69 6c 20 72 65 70 6f 73 69 74 6f 72 79 3a 22 0d  il repository:".
12270 0a 66 6f 72 20 75 73 65 72 20 69 6e 20 60 63 61  .for user in `ca
12280 74 20 24 66 6f 73 73 69 6c 75 73 65 72 73 60 0d  t $fossilusers`.
12290 0a 64 6f 0d 0a 09 66 6f 73 73 69 6c 20 75 73 65  .do...fossil use
122a0 72 20 6e 65 77 20 24 75 73 65 72 20 27 27 20 22  r new $user '' "
122b0 24 7b 75 73 65 72 7d 31 32 33 34 22 20 2d 52 20  ${user}1234" -R 
122c0 24 33 0d 0a 09 66 6f 73 73 69 6c 20 75 73 65 72  $3...fossil user
122d0 20 63 61 70 61 62 69 6c 69 74 69 65 73 20 24 75   capabilities $u
122e0 73 65 72 20 27 76 27 20 2d 52 20 24 33 0d 0a 64  ser 'v' -R $3..d
122f0 6f 6e 65 0d 0a 0d 0a 65 63 68 6f 20 22 44 6f 6e  one....echo "Don
12300 65 21 2e 20 20 4e 6f 77 20 6c 61 75 6e 63 68 69  e!.  Now launchi
12310 6e 67 20 27 66 6f 73 73 69 6c 20 75 69 20 24 33  ng 'fossil ui $3
12320 27 20 74 6f 20 63 68 65 63 6b 20 6f 75 74 20 74  ' to check out t
12330 68 65 20 6e 65 77 20 66 6f 73 73 69 6c 20 72 65  he new fossil re
12340 70 6f 73 69 74 6f 72 79 22 0d 0a 66 6f 73 73 69  pository"..fossi
12350 6c 20 75 69 20 24 33 0d 0a 3c 2f 76 65 72 62 61  l ui $3..</verba
12360 74 69 6d 3e 0a 5a 20 63 33 32 37 30 36 38 61 30  tim>.Z c327068a0
12370 61 39 36 32 37 37 35 63 64 37 62 64 63 31 64 37  a962775cd7bdc1d7
12380 37 33 32 61 61 61 64 0a                          732aaad.