Hex Artifact Content
Not logged in

Artifact acad70114a66c6a66cc594ec6d879e7ff9ef5c30:

Wiki page [Cookbook] by chi 2009-05-22 13:30:49.
0000: 44 20 32 30 30 39 2d 30 35 2d 32 32 54 31 33 3a  D 2009-05-22T13:
0010: 33 30 3a 34 39 0a 4c 20 43 6f 6f 6b 62 6f 6f 6b  30:49.L Cookbook
0020: 0a 50 20 32 62 65 35 61 30 34 34 35 62 37 37 31  .P 2be5a0445b771
0030: 38 62 39 36 63 32 64 64 65 30 33 39 64 34 32 30  8b96c2dde039d420
0040: 65 65 37 34 62 61 65 33 31 62 30 0a 55 20 63 68  ee74bae31b0.U ch
0050: 69 0a 57 20 33 34 32 32 33 0a 3c 68 31 3e 46 6f  i.W 34223.<h1>Fo
0060: 73 73 69 6c 20 43 6f 6f 6b 62 6f 6f 6b 3c 2f 68  ssil Cookbook</h
0070: 31 3e 0d 0a 54 68 65 20 3c 63 69 74 65 3e 46 6f  1>..The <cite>Fo
0080: 73 73 69 6c 3c 2f 63 69 74 65 3e 20 43 6f 6f 6b  ssil</cite> Cook
0090: 62 6f 6f 6b 20 69 73 20 61 20 63 6f 6c 6c 65 63  book is a collec
00a0: 74 69 6f 6e 20 6f 66 20 74 61 73 6b 2d 6f 72 69  tion of task-ori
00b0: 65 6e 74 65 64 20 69 6e 73 74 72 75 63 74 69 6f  ented instructio
00c0: 6e 73 20 66 6f 72 20 69 6e 74 65 72 6d 65 64 69  ns for intermedi
00d0: 61 74 65 20 75 73 65 72 73 20 77 68 6f 20 77 69  ate users who wi
00e0: 73 68 20 74 6f 20 64 6f 20 6d 6f 72 65 20 74 68  sh to do more th
00f0: 61 6e 20 62 61 73 69 63 20 6f 70 65 72 61 74 69  an basic operati
0100: 6f 6e 73 20 77 69 74 68 20 74 68 65 69 72 20 3c  ons with their <
0110: 63 69 74 65 3e 46 6f 73 73 69 6c 3c 2f 63 69 74  cite>Fossil</cit
0120: 65 3e 20 72 65 70 6f 73 69 74 6f 72 69 65 73 2e  e> repositories.
0130: 20 20 54 68 65 20 5b 54 75 74 6f 72 69 61 6c 7c    The [Tutorial|
0140: 74 75 74 6f 72 69 61 6c 5d 20 69 73 20 61 20 6d  tutorial] is a m
0150: 6f 72 65 20 73 75 69 74 61 62 6c 65 20 70 6c 61  ore suitable pla
0160: 63 65 20 66 6f 72 20 6e 65 77 63 6f 6d 65 72 73  ce for newcomers
0170: 20 74 72 79 69 6e 67 20 74 6f 20 6c 65 61 72 6e   trying to learn
0180: 20 74 68 65 20 62 61 73 69 63 20 63 6f 6e 63 65   the basic conce
0190: 70 74 73 20 74 6f 20 67 6f 20 66 69 72 73 74 20  pts to go first 
01a0: 62 65 66 6f 72 65 20 74 61 63 6b 6c 69 6e 67 20  before tackling 
01b0: 74 68 65 73 65 20 72 65 63 69 70 65 73 2e 0d 0a  these recipes...
01c0: 0d 0a 3c 68 32 3e 49 6e 64 65 78 3c 2f 68 32 3e  ..<h2>Index</h2>
01d0: 0d 0a 3c 75 6c 3e 0d 0a 20 20 3c 6c 69 3e 20 53  ..<ul>..  <li> S
01e0: 65 72 76 65 72 20 72 65 63 69 70 65 73 3a 0d 0a  erver recipes:..
01f0: 20 20 20 20 3c 75 6c 3e 0d 0a 20 20 20 20 20 20      <ul>..      
0200: 3c 6c 69 3e 20 20 3c 61 20 68 72 65 66 3d 22 23  <li>  <a href="#
0210: 43 47 49 22 3e 55 73 69 6e 67 20 3c 63 69 74 65  CGI">Using <cite
0220: 3e 46 6f 73 73 69 6c 3c 2f 63 69 74 65 3e 27 73  >Fossil</cite>'s
0230: 20 42 75 69 6c 74 2d 49 6e 20 43 47 49 3c 2f 61   Built-In CGI</a
0240: 3e 0d 0a 20 20 20 20 3c 2f 75 6c 3e 0d 0a 20 20  >..    </ul>..  
0250: 3c 6c 69 3e 20 3c 61 20 68 72 65 66 3d 22 23 65  <li> <a href="#e
0260: 6e 76 22 3e 55 73 69 6e 67 20 45 6e 76 69 72 6f  nv">Using Enviro
0270: 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 73 3c  nment variables<
0280: 2f 61 3e 0d 0a 20 20 3c 6c 69 3e 20 3c 61 20 68  /a>..  <li> <a h
0290: 72 65 66 3d 22 23 63 73 73 22 3e 45 78 61 6d 70  ref="#css">Examp
02a0: 6c 65 20 43 53 53 3c 2f 61 3e 0d 0a 20 20 3c 6c  le CSS</a>..  <l
02b0: 69 3e 20 3c 61 20 68 72 65 66 3d 22 23 73 6f 75  i> <a href="#sou
02c0: 72 63 65 2d 68 69 6c 69 67 68 74 22 3e 53 6f 75  rce-hilight">Sou
02d0: 72 63 65 20 68 69 67 68 6c 69 67 68 74 69 6e 67  rce highlighting
02e0: 3c 2f 61 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 0d 0a 3c  </a>..</ul>....<
02f0: 68 32 3e 3c 61 20 6e 61 6d 65 3d 22 43 47 49 22  h2><a name="CGI"
0300: 3e 55 73 69 6e 67 20 3c 63 69 74 65 3e 46 6f 73  >Using <cite>Fos
0310: 73 69 6c 3c 2f 63 69 74 65 3e 27 73 20 42 75 69  sil</cite>'s Bui
0320: 6c 74 2d 49 6e 20 43 47 49 3c 2f 61 3e 3c 2f 68  lt-In CGI</a></h
0330: 32 3e 0d 0a 3c 68 33 3e 4d 6f 74 69 76 61 74 69  2>..<h3>Motivati
0340: 6f 6e 3c 2f 68 33 3e 0d 0a 20 20 2a 20 20 59 6f  on</h3>..  *  Yo
0350: 75 20 77 61 6e 74 20 74 6f 20 73 68 61 72 65 20  u want to share 
0360: 61 20 72 65 70 6f 73 69 74 6f 72 79 20 74 68 72  a repository thr
0370: 6f 75 67 68 20 79 6f 75 72 20 65 78 69 73 74 69  ough your existi
0380: 6e 67 20 77 65 62 20 69 6e 66 72 61 73 74 72 75  ng web infrastru
0390: 63 74 75 72 65 2e 0d 0a 20 20 2a 20 20 59 6f 75  cture...  *  You
03a0: 20 77 61 6e 74 20 74 6f 20 73 68 61 72 65 20 6d   want to share m
03b0: 6f 72 65 20 74 68 61 6e 20 6f 6e 65 20 72 65 70  ore than one rep
03c0: 6f 73 69 74 6f 72 79 20 61 74 20 74 68 65 20 73  ository at the s
03d0: 61 6d 65 20 74 69 6d 65 2e 0d 0a 0d 0a 3c 68 33  ame time.....<h3
03e0: 3e 50 72 6f 62 6c 65 6d 3c 2f 68 33 3e 0d 0a 55  >Problem</h3>..U
03f0: 6e 6c 69 6b 65 20 73 6f 6d 65 20 6f 74 68 65 72  nlike some other
0400: 20 64 69 73 74 72 69 62 75 74 65 64 20 53 43 4d   distributed SCM
0410: 73 2c 20 3c 63 69 74 65 3e 46 6f 73 73 69 6c 3c  s, <cite>Fossil<
0420: 2f 63 69 74 65 3e 20 63 61 6e 20 6f 6e 6c 79 20  /cite> can only 
0430: 63 6c 6f 6e 65 2c 20 70 75 73 68 2c 20 70 75 6c  clone, push, pul
0440: 6c 20 61 6e 64 20 61 6e 64 20 6f 74 68 65 72 77  l and and otherw
0450: 69 73 65 20 69 6e 74 65 72 61 63 74 20 74 68 72  ise interact thr
0460: 6f 75 67 68 20 72 65 70 6f 73 69 74 6f 72 69 65  ough repositorie
0470: 73 20 6f 76 65 72 20 48 54 54 50 2e 20 20 54 68  s over HTTP.  Th
0480: 69 73 20 63 61 6e 20 62 65 20 73 69 6d 70 6c 79  is can be simply
0490: 20 61 6e 64 20 65 61 73 69 6c 79 20 6d 61 6e 61   and easily mana
04a0: 67 65 64 20 74 68 72 6f 75 67 68 20 75 73 65 20  ged through use 
04b0: 6f 66 20 74 68 65 20 3c 63 6f 64 65 3e 66 6f 73  of the <code>fos
04c0: 73 69 6c 20 73 65 72 76 65 72 3c 2f 63 6f 64 65  sil server</code
04d0: 3e 20 61 6e 64 2f 6f 72 20 3c 63 6f 64 65 3e 66  > and/or <code>f
04e0: 6f 73 73 69 6c 20 75 69 3c 2f 63 6f 64 65 3e 20  ossil ui</code> 
04f0: 63 6f 6d 6d 61 6e 64 73 2c 20 6f 66 20 63 6f 75  commands, of cou
0500: 72 73 65 2c 20 62 75 74 20 74 68 69 73 20 69 73  rse, but this is
0510: 20 72 65 61 6c 6c 79 20 6f 6e 6c 79 20 61 64 65   really only ade
0520: 71 75 61 74 65 20 66 6f 72 20 61 64 2d 68 6f 63  quate for ad-hoc
0530: 20 72 65 70 6f 73 69 74 6f 72 79 20 73 68 61 72   repository shar
0540: 69 6e 67 2e 20 20 43 6f 6e 73 69 64 65 72 2c 20  ing.  Consider, 
0550: 66 6f 72 20 65 78 61 6d 70 6c 65 2c 20 73 68 61  for example, sha
0560: 72 69 6e 67 20 74 65 6e 20 72 65 70 6f 73 69 74  ring ten reposit
0570: 6f 72 69 65 73 2e 20 20 55 73 69 6e 67 20 74 68  ories.  Using th
0580: 65 20 62 75 69 6c 74 2d 69 6e 20 73 65 72 76 65  e built-in serve
0590: 72 20 77 6f 75 6c 64 20 72 65 71 75 69 72 65 20  r would require 
05a0: 79 6f 75 20 74 6f 20 6f 70 65 6e 20 74 65 6e 20  you to open ten 
05b0: 70 6f 72 74 73 20 69 6e 20 79 6f 75 72 20 66 69  ports in your fi
05c0: 72 65 77 61 6c 6c 20 74 6f 20 70 65 72 6d 69 74  rewall to permit
05d0: 20 61 63 63 65 73 73 2e 20 20 41 6e 79 20 73 65   access.  Any se
05e0: 72 69 6f 75 73 20 73 68 61 72 69 6e 67 20 77 69  rious sharing wi
05f0: 6c 6c 20 72 65 71 75 69 72 65 20 73 6f 6d 65 74  ll require somet
0600: 68 69 6e 67 20 6d 6f 72 65 20 72 6f 62 75 73 74  hing more robust
0610: 20 61 6e 64 20 70 65 72 6d 61 6e 65 6e 74 2e 0d   and permanent..
0620: 0a 0d 0a 3c 68 33 3e 53 6f 6c 75 74 69 6f 6e 3c  ...<h3>Solution<
0630: 2f 68 33 3e 0d 0a 3c 63 69 74 65 3e 46 6f 73 73  /h3>..<cite>Foss
0640: 69 6c 3c 2f 63 69 74 65 3e 20 73 75 70 70 6f 72  il</cite> suppor
0650: 74 73 20 74 68 72 65 65 20 64 69 66 66 65 72 65  ts three differe
0660: 6e 74 20 77 61 79 73 20 74 6f 20 73 68 61 72 65  nt ways to share
0670: 20 72 65 70 6f 73 69 74 6f 72 69 65 73 2e 20 20   repositories.  
0680: 46 6f 72 20 61 64 2d 68 6f 63 20 73 68 61 72 69  For ad-hoc shari
0690: 6e 67 20 3c 63 6f 64 65 3e 66 6f 73 73 69 6c 20  ng <code>fossil 
06a0: 73 65 72 76 65 72 2f 75 69 3c 2f 63 6f 64 65 3e  server/ui</code>
06b0: 20 69 73 20 6d 6f 72 65 20 74 68 61 6e 20 61 64   is more than ad
06c0: 65 71 75 61 74 65 2e 20 20 46 6f 72 20 6d 6f 72  equate.  For mor
06d0: 65 20 72 6f 62 75 73 74 20 73 6f 6c 75 74 69 6f  e robust solutio
06e0: 6e 73 2c 20 68 6f 77 65 76 65 72 2c 20 74 68 65  ns, however, the
06f0: 20 75 73 65 20 6f 66 20 3c 63 69 74 65 3e 28 78   use of <cite>(x
0700: 29 69 6e 65 74 64 3c 2f 63 69 74 65 3e 20 6f 72  )inetd</cite> or
0710: 20 43 47 49 20 73 75 70 70 6f 72 74 20 69 73 20   CGI support is 
0720: 69 6e 64 69 63 61 74 65 64 2e 0d 0a 0d 0a 53 65  indicated.....Se
0730: 74 74 69 6e 67 20 75 70 20 66 6f 73 73 69 6c 20  tting up fossil 
0740: 66 6f 72 20 43 47 49 20 73 75 70 70 6f 72 74 20  for CGI support 
0750: 69 73 20 73 69 6d 70 6c 65 2e 20 20 28 53 65 74  is simple.  (Set
0760: 74 69 6e 67 20 75 70 20 79 6f 75 72 20 77 65 62  ting up your web
0770: 20 73 65 72 76 65 72 20 66 6f 72 20 43 47 49 20   server for CGI 
0780: 73 75 70 70 6f 72 74 20 6d 61 79 20 6f 72 20 6d  support may or m
0790: 61 79 20 6e 6f 74 20 62 65 20 73 69 6d 70 6c 65  ay not be simple
07a0: 2c 20 62 75 74 20 69 74 20 69 73 20 6f 75 74 20  , but it is out 
07b0: 6f 66 20 73 63 6f 70 65 20 6f 66 20 74 68 69 73  of scope of this
07c0: 20 72 65 63 69 70 65 2e 20 20 43 6f 6e 73 75 6c   recipe.  Consul
07d0: 74 20 79 6f 75 72 20 77 65 62 20 73 65 72 76 65  t your web serve
07e0: 72 2f 73 65 72 76 69 63 65 20 70 72 6f 76 69 64  r/service provid
07f0: 65 72 27 73 20 64 6f 63 75 6d 65 6e 74 61 74 69  er's documentati
0800: 6f 6e 20 66 6f 72 20 74 68 69 73 2e 29 0d 0a 0d  on for this.)...
0810: 0a 3c 68 34 3e 55 4e 49 58 3c 2f 68 34 3e 0d 0a  .<h4>UNIX</h4>..
0820: 20 20 31 2e 20 20 46 69 6e 64 20 79 6f 75 72 20    1.  Find your 
0830: 43 47 49 20 73 63 72 69 70 74 73 20 64 69 72 65  CGI scripts dire
0840: 63 74 6f 72 79 20 28 69 66 20 61 70 70 6c 69 63  ctory (if applic
0850: 61 62 6c 65 29 2e 20 20 54 68 69 73 20 69 73 20  able).  This is 
0860: 63 6f 6d 6d 6f 6e 6c 79 20 73 6f 6d 65 74 68 69  commonly somethi
0870: 6e 67 20 6c 69 6b 65 20 3c 62 61 73 65 3e 2f 63  ng like <base>/c
0880: 67 69 2d 62 69 6e 2f 2c 20 62 75 74 20 64 6f 65  gi-bin/, but doe
0890: 73 20 6e 6f 74 20 68 61 76 65 20 74 6f 20 62 65  s not have to be
08a0: 2e 0d 0a 20 20 32 2e 20 20 49 6e 73 69 64 65 20  ...  2.  Inside 
08b0: 74 68 61 74 20 64 69 72 65 63 74 6f 72 79 20 62  that directory b
08c0: 75 69 6c 64 20 61 20 73 63 72 69 70 74 20 66 69  uild a script fi
08d0: 6c 65 20 77 68 69 63 68 20 6c 6f 6f 6b 73 20 6c  le which looks l
08e0: 69 6b 65 20 74 68 69 73 3a 3c 62 72 3e 3c 63 6f  ike this:<br><co
08f0: 64 65 3e 3c 70 72 65 3e 20 20 23 21 20 2f 75 73  de><pre>  #! /us
0900: 72 2f 62 69 6e 2f 65 6e 76 20 66 6f 73 73 69 6c  r/bin/env fossil
0910: 3c 62 72 3e 20 20 72 65 70 6f 73 69 74 6f 72 79  <br>  repository
0920: 3a 20 2f 66 75 6c 6c 2f 70 61 74 68 2f 74 6f 2f  : /full/path/to/
0930: 72 65 70 6f 73 69 74 6f 72 79 2f 66 69 6c 65 2e  repository/file.
0940: 66 73 6c 3c 2f 70 72 65 3e 3c 2f 63 6f 64 65 3e  fsl</pre></code>
0950: 0d 0a 20 20 33 2e 20 20 45 6e 73 75 72 65 20 74  ..  3.  Ensure t
0960: 68 61 74 20 74 68 65 20 73 63 72 69 70 74 20 66  hat the script f
0970: 69 6c 65 20 73 6f 20 67 65 6e 65 72 61 74 65 64  ile so generated
0980: 20 69 73 20 73 65 74 20 65 78 65 63 75 74 61 62   is set executab
0990: 6c 65 20 66 6f 72 20 74 68 65 20 43 47 49 20 75  le for the CGI u
09a0: 73 65 72 20 61 63 63 6f 75 6e 74 2e 0d 0a 20 20  ser account...  
09b0: 34 2e 20 20 45 6e 73 75 72 65 20 74 68 61 74 20  4.  Ensure that 
09c0: 65 76 65 72 79 20 64 69 72 65 63 74 6f 72 79 20  every directory 
09d0: 69 6e 20 74 68 65 20 70 61 74 68 20 6c 65 61 64  in the path lead
09e0: 69 6e 67 20 74 6f 20 74 68 65 20 72 65 70 6f 73  ing to the repos
09f0: 69 74 6f 72 79 20 69 73 20 20 62 72 6f 77 73 65  itory is  browse
0a00: 61 62 6c 65 20 28 63 68 6d 6f 64 20 2b 78 29 20  able (chmod +x) 
0a10: 74 6f 20 74 68 65 20 43 47 49 20 75 73 65 72 20  to the CGI user 
0a20: 61 63 63 6f 75 6e 74 2e 0d 0a 20 20 35 2e 20 20  account...  5.  
0a30: 45 6e 73 75 72 65 20 74 68 61 74 20 74 68 65 20  Ensure that the 
0a40: 72 65 70 6f 73 69 74 6f 72 79 20 66 69 6c 65 20  repository file 
0a50: 69 73 20 72 65 61 64 61 62 6c 65 20 3c 65 6d 3e  is readable <em>
0a60: 61 6e 64 3c 2f 65 6d 3e 20 77 72 69 74 61 62 6c  and</em> writabl
0a70: 65 20 74 6f 20 74 68 65 20 43 47 49 20 75 73 65  e to the CGI use
0a80: 72 20 61 63 63 6f 75 6e 74 2e 0d 0a 0d 0a 54 68  r account.....Th
0a90: 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 3c 63 69 74  e following <cit
0aa0: 65 3e 62 61 73 68 3c 2f 63 69 74 65 3e 20 73 63  e>bash</cite> sc
0ab0: 72 69 70 74 20 63 61 6e 20 62 65 20 72 75 6e 20  ript can be run 
0ac0: 66 72 6f 6d 20 77 69 74 68 69 6e 20 74 68 65 20  from within the 
0ad0: 64 69 72 65 63 74 6f 72 79 20 63 6f 6e 74 61 69  directory contai
0ae0: 6e 69 6e 67 20 74 68 65 20 3c 63 69 74 65 3e 46  ning the <cite>F
0af0: 6f 73 73 69 6c 3c 2f 63 69 74 65 3e 20 72 65 70  ossil</cite> rep
0b00: 6f 73 69 74 6f 72 69 65 73 20 74 6f 20 62 65 20  ositories to be 
0b10: 73 68 61 72 65 64 20 28 61 6e 64 2c 20 6f 66 20  shared (and, of 
0b20: 63 6f 75 72 73 65 2c 20 61 6c 74 65 72 65 64 20  course, altered 
0b30: 66 6f 72 20 79 6f 75 72 20 73 65 74 75 70 29 20  for your setup) 
0b40: 74 6f 20 73 65 74 20 73 6f 6d 65 20 6f 66 20 74  to set some of t
0b50: 68 65 20 63 6f 6e 73 74 72 61 69 6e 74 73 20 61  he constraints a
0b60: 62 6f 76 65 20 75 70 20 61 75 74 6f 6d 61 74 69  bove up automati
0b70: 63 61 6c 6c 79 3a 0d 0a 0d 0a 3c 6e 6f 77 69 6b  cally:....<nowik
0b80: 69 3e 3c 66 6f 6e 74 20 66 61 63 65 3d 22 6d 6f  i><font face="mo
0b90: 6e 6f 73 70 61 63 65 22 3e 0d 0a 3c 66 6f 6e 74  nospace">..<font
0ba0: 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22   color="#a52a2a"
0bb0: 3e 26 6e 62 73 70 3b 31 20 3c 2f 66 6f 6e 74 3e  >&nbsp;1 </font>
0bc0: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 30 30  <font color="#00
0bd0: 30 30 66 66 22 3e 23 21 20 2f 75 73 72 2f 62 69  00ff">#! /usr/bi
0be0: 6e 2f 65 6e 76 20 62 61 73 68 3c 2f 66 6f 6e 74  n/env bash</font
0bf0: 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c  ><br>..<font col
0c00: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 26 6e 62  or="#a52a2a">&nb
0c10: 73 70 3b 32 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  sp;2 </font><fon
0c20: 74 20 63 6f 6c 6f 72 3d 22 23 30 30 38 62 38 62  t color="#008b8b
0c30: 22 3e 43 47 49 5f 52 4f 4f 54 3c 2f 66 6f 6e 74  ">CGI_ROOT</font
0c40: 3e 3d 2f 75 73 72 2f 6c 69 62 2f 66 6f 73 73 69  >=/usr/lib/fossi
0c50: 6c 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c  l<br>..<font col
0c60: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 26 6e 62  or="#a52a2a">&nb
0c70: 73 70 3b 33 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  sp;3 </font><fon
0c80: 74 20 63 6f 6c 6f 72 3d 22 23 30 30 38 62 38 62  t color="#008b8b
0c90: 22 3e 52 45 50 4f 53 49 54 4f 52 59 5f 4f 57 4e  ">REPOSITORY_OWN
0ca0: 45 52 3c 2f 66 6f 6e 74 3e 3d 6d 69 63 68 61 65  ER</font>=michae
0cb0: 6c 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c  l<br>..<font col
0cc0: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 26 6e 62  or="#a52a2a">&nb
0cd0: 73 70 3b 34 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  sp;4 </font><fon
0ce0: 74 20 63 6f 6c 6f 72 3d 22 23 30 30 38 62 38 62  t color="#008b8b
0cf0: 22 3e 43 47 49 5f 47 52 4f 55 50 3c 2f 66 6f 6e  ">CGI_GROUP</fon
0d00: 74 3e 3d 77 77 77 2d 64 61 74 61 3c 62 72 3e 0d  t>=www-data<br>.
0d10: 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61  .<font color="#a
0d20: 35 32 61 32 61 22 3e 26 6e 62 73 70 3b 35 20 3c  52a2a">&nbsp;5 <
0d30: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
0d40: 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 69  r="#a52a2a"><b>i
0d50: 66 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 26 6e 62 73  f</b></font>&nbs
0d60: 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  p;<font color="#
0d70: 61 35 32 61 32 61 22 3e 3c 62 3e 5b 3c 2f 62 3e  a52a2a"><b>[</b>
0d80: 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f  </font>&nbsp;<fo
0d90: 6e 74 20 63 6f 6c 6f 72 3d 22 23 36 61 35 61 63  nt color="#6a5ac
0da0: 64 22 3e 60 77 68 6f 61 6d 69 60 3c 2f 66 6f 6e  d">`whoami`</fon
0db0: 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f  t>&nbsp;<font co
0dc0: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62  lor="#a52a2a"><b
0dd0: 3e 3d 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 26 6e 62  >=</b></font>&nb
0de0: 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  sp;<font color="
0df0: 23 66 66 30 30 66 66 22 3e 27 72 6f 6f 74 27 3c  #ff00ff">'root'<
0e00: 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e  /font>&nbsp;<fon
0e10: 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61  t color="#a52a2a
0e20: 22 3e 3c 62 3e 5d 3c 2f 62 3e 3c 2f 66 6f 6e 74  "><b>]</b></font
0e30: 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c  ><br>..<font col
0e40: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 26 6e 62  or="#a52a2a">&nb
0e50: 73 70 3b 36 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  sp;6 </font><fon
0e60: 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61  t color="#a52a2a
0e70: 22 3e 3c 62 3e 74 68 65 6e 3c 2f 62 3e 3c 2f 66  "><b>then</b></f
0e80: 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20  ont><br>..<font 
0e90: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
0ea0: 26 6e 62 73 70 3b 37 20 3c 2f 66 6f 6e 74 3e 26  &nbsp;7 </font>&
0eb0: 6e 62 73 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74  nbsp;&nbsp;<font
0ec0: 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22   color="#a52a2a"
0ed0: 3e 3c 62 3e 66 6f 72 3c 2f 62 3e 3c 2f 66 6f 6e  ><b>for</b></fon
0ee0: 74 3e 26 6e 62 73 70 3b 72 65 70 6f 73 69 74 6f  t>&nbsp;reposito
0ef0: 72 79 20 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  ry <font color="
0f00: 23 61 35 32 61 32 61 22 3e 3c 62 3e 69 6e 3c 2f  #a52a2a"><b>in</
0f10: 62 3e 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 2a  b></font>&nbsp;*
0f20: 2e 66 73 6c 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20  .fsl<br>..<font 
0f30: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
0f40: 26 6e 62 73 70 3b 38 20 3c 2f 66 6f 6e 74 3e 26  &nbsp;8 </font>&
0f50: 6e 62 73 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74  nbsp;&nbsp;<font
0f60: 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22   color="#a52a2a"
0f70: 3e 3c 62 3e 64 6f 3c 2f 62 3e 3c 2f 66 6f 6e 74  ><b>do</b></font
0f80: 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c  ><br>..<font col
0f90: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 26 6e 62  or="#a52a2a">&nb
0fa0: 73 70 3b 39 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73  sp;9 </font>&nbs
0fb0: 70 3b 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e  p;&nbsp;&nbsp;&n
0fc0: 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  bsp;<font color=
0fd0: 22 23 30 30 38 62 38 62 22 3e 53 4f 55 52 43 45  "#008b8b">SOURCE
0fe0: 3c 2f 66 6f 6e 74 3e 3d 3c 66 6f 6e 74 20 63 6f  </font>=<font co
0ff0: 6c 6f 72 3d 22 23 36 61 35 61 63 64 22 3e 60 3c  lor="#6a5acd">`<
1000: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
1010: 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 70  r="#a52a2a"><b>p
1020: 77 64 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f  wd</b></font><fo
1030: 6e 74 20 63 6f 6c 6f 72 3d 22 23 36 61 35 61 63  nt color="#6a5ac
1040: 64 22 3e 60 3c 2f 66 6f 6e 74 3e 2f 3c 66 6f 6e  d">`</font>/<fon
1050: 74 20 63 6f 6c 6f 72 3d 22 23 61 30 32 30 66 30  t color="#a020f0
1060: 22 3e 24 72 65 70 6f 73 69 74 6f 72 79 3c 2f 66  ">$repository</f
1070: 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20  ont><br>..<font 
1080: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
1090: 31 30 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b  10 </font>&nbsp;
10a0: 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e 62 73  &nbsp;&nbsp;&nbs
10b0: 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  p;<font color="#
10c0: 30 30 38 62 38 62 22 3e 44 45 53 54 49 4e 41 54  008b8b">DESTINAT
10d0: 49 4f 4e 3c 2f 66 6f 6e 74 3e 3d 3c 66 6f 6e 74  ION</font>=<font
10e0: 20 63 6f 6c 6f 72 3d 22 23 61 30 32 30 66 30 22   color="#a020f0"
10f0: 3e 24 43 47 49 5f 52 4f 4f 54 3c 2f 66 6f 6e 74  >$CGI_ROOT</font
1100: 3e 2f 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  >/<font color="#
1110: 61 30 32 30 66 30 22 3e 24 7b 3c 2f 66 6f 6e 74  a020f0">${</font
1120: 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61  ><font color="#a
1130: 30 32 30 66 30 22 3e 72 65 70 6f 73 69 74 6f 72  020f0">repositor
1140: 79 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f  y</font><font co
1150: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62  lor="#a52a2a"><b
1160: 3e 25 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 2e 66 73  >%</b></font>.fs
1170: 6c 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61  l<font color="#a
1180: 30 32 30 66 30 22 3e 7d 3c 2f 66 6f 6e 74 3e 3c  020f0">}</font><
1190: 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72  br>..<font color
11a0: 3d 22 23 61 35 32 61 32 61 22 3e 31 31 20 3c 2f  ="#a52a2a">11 </
11b0: 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70  font>&nbsp;&nbsp
11c0: 3b 26 6e 62 73 70 3b 26 6e 62 73 70 3b 3c 66 6f  ;&nbsp;&nbsp;<fo
11d0: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
11e0: 61 22 3e 3c 62 3e 65 63 68 6f 3c 2f 62 3e 3c 2f  a"><b>echo</b></
11f0: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
1200: 3d 22 23 66 66 30 30 66 66 22 3e 26 6e 62 73 70  ="#ff00ff">&nbsp
1210: 3b 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f  ;</font><font co
1220: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62  lor="#a52a2a"><b
1230: 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e  >&quot;</b></fon
1240: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
1250: 66 66 30 30 66 66 22 3e 23 21 20 2f 75 73 72 2f  ff00ff">#! /usr/
1260: 62 69 6e 2f 65 6e 76 20 66 6f 73 73 69 6c 3c 2f  bin/env fossil</
1270: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
1280: 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 26 71  ="#a52a2a"><b>&q
1290: 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c  uot;</b></font><
12a0: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 66 66 30  font color="#ff0
12b0: 30 66 66 22 3e 26 6e 62 73 70 3b 3c 2f 66 6f 6e  0ff">&nbsp;</fon
12c0: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
12d0: 61 35 32 61 32 61 22 3e 3c 62 3e 26 67 74 3b 3c  a52a2a"><b>&gt;<
12e0: 2f 62 3e 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b  /b></font>&nbsp;
12f0: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 30  <font color="#a0
1300: 32 30 66 30 22 3e 24 44 45 53 54 49 4e 41 54 49  20f0">$DESTINATI
1310: 4f 4e 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c  ON</font><br>..<
1320: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32  font color="#a52
1330: 61 32 61 22 3e 31 32 20 3c 2f 66 6f 6e 74 3e 26  a2a">12 </font>&
1340: 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e 62 73 70  nbsp;&nbsp;&nbsp
1350: 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c  ;&nbsp;<font col
1360: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e  or="#a52a2a"><b>
1370: 65 63 68 6f 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c  echo</b></font><
1380: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 66 66 30  font color="#ff0
1390: 30 66 66 22 3e 26 6e 62 73 70 3b 3c 2f 66 6f 6e  0ff">&nbsp;</fon
13a0: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
13b0: 61 35 32 61 32 61 22 3e 3c 62 3e 26 71 75 6f 74  a52a2a"><b>&quot
13c0: 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  ;</b></font><fon
13d0: 74 20 63 6f 6c 6f 72 3d 22 23 66 66 30 30 66 66  t color="#ff00ff
13e0: 22 3e 72 65 70 6f 73 69 74 6f 72 79 3a 20 3c 2f  ">repository: </
13f0: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
1400: 3d 22 23 61 30 32 30 66 30 22 3e 24 53 4f 55 52  ="#a020f0">$SOUR
1410: 43 45 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63  CE</font><font c
1420: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c  olor="#a52a2a"><
1430: 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f  b>&quot;</b></fo
1440: 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  nt><font color="
1450: 23 66 66 30 30 66 66 22 3e 26 6e 62 73 70 3b 3c  #ff00ff">&nbsp;<
1460: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
1470: 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 26  r="#a52a2a"><b>&
1480: 67 74 3b 26 67 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e  gt;&gt;</b></fon
1490: 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f  t>&nbsp;<font co
14a0: 6c 6f 72 3d 22 23 61 30 32 30 66 30 22 3e 24 44  lor="#a020f0">$D
14b0: 45 53 54 49 4e 41 54 49 4f 4e 3c 2f 66 6f 6e 74  ESTINATION</font
14c0: 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c  ><br>..<font col
14d0: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 31 33 20  or="#a52a2a">13 
14e0: 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62  </font>&nbsp;&nb
14f0: 73 70 3b 26 6e 62 73 70 3b 26 6e 62 73 70 3b 63  sp;&nbsp;&nbsp;c
1500: 68 6f 77 6e 20 3c 66 6f 6e 74 20 63 6f 6c 6f 72  hown <font color
1510: 3d 22 23 61 30 32 30 66 30 22 3e 24 52 45 50 4f  ="#a020f0">$REPO
1520: 53 49 54 4f 52 59 5f 4f 57 4e 45 52 3c 2f 66 6f  SITORY_OWNER</fo
1530: 6e 74 3e 3a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  nt>:<font color=
1540: 22 23 61 30 32 30 66 30 22 3e 24 43 47 49 5f 47  "#a020f0">$CGI_G
1550: 52 4f 55 50 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70  ROUP</font>&nbsp
1560: 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61  ;<font color="#a
1570: 30 32 30 66 30 22 3e 24 53 4f 55 52 43 45 3c 2f  020f0">$SOURCE</
1580: 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74  font><br>..<font
1590: 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22   color="#a52a2a"
15a0: 3e 31 34 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70  >14 </font>&nbsp
15b0: 3b 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e 62  ;&nbsp;&nbsp;&nb
15c0: 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  sp;<font color="
15d0: 23 61 35 32 61 32 61 22 3e 3c 62 3e 63 68 6d 6f  #a52a2a"><b>chmo
15e0: 64 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 26 6e 62 73  d</b></font>&nbs
15f0: 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  p;<font color="#
1600: 66 66 30 30 66 66 22 3e 36 36 34 3c 2f 66 6f 6e  ff00ff">664</fon
1610: 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f  t>&nbsp;<font co
1620: 6c 6f 72 3d 22 23 61 30 32 30 66 30 22 3e 24 53  lor="#a020f0">$S
1630: 4f 55 52 43 45 3c 2f 66 6f 6e 74 3e 3c 62 72 3e  OURCE</font><br>
1640: 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  ..<font color="#
1650: 61 35 32 61 32 61 22 3e 31 35 20 3c 2f 66 6f 6e  a52a2a">15 </fon
1660: 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e  t>&nbsp;&nbsp;&n
1670: 62 73 70 3b 26 6e 62 73 70 3b 63 68 6f 77 6e 20  bsp;&nbsp;chown 
1680: 72 6f 6f 74 3a 72 6f 6f 74 20 3c 66 6f 6e 74 20  root:root <font 
1690: 63 6f 6c 6f 72 3d 22 23 61 30 32 30 66 30 22 3e  color="#a020f0">
16a0: 24 44 45 53 54 49 4e 41 54 49 4f 4e 3c 2f 66 6f  $DESTINATION</fo
16b0: 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63  nt><br>..<font c
16c0: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 31  olor="#a52a2a">1
16d0: 36 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26  6 </font>&nbsp;&
16e0: 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e 62 73 70  nbsp;&nbsp;&nbsp
16f0: 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61  ;<font color="#a
1700: 35 32 61 32 61 22 3e 3c 62 3e 63 68 6d 6f 64 3c  52a2a"><b>chmod<
1710: 2f 62 3e 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b  /b></font>&nbsp;
1720: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 66 66  <font color="#ff
1730: 30 30 66 66 22 3e 37 35 35 3c 2f 66 6f 6e 74 3e  00ff">755</font>
1740: 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f  &nbsp;<font colo
1750: 72 3d 22 23 61 30 32 30 66 30 22 3e 24 44 45 53  r="#a020f0">$DES
1760: 54 49 4e 41 54 49 4f 4e 3c 2f 66 6f 6e 74 3e 3c  TINATION</font><
1770: 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72  br>..<font color
1780: 3d 22 23 61 35 32 61 32 61 22 3e 31 37 20 3c 2f  ="#a52a2a">17 </
1790: 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70  font>&nbsp;&nbsp
17a0: 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61  ;<font color="#a
17b0: 35 32 61 32 61 22 3e 3c 62 3e 64 6f 6e 65 3c 2f  52a2a"><b>done</
17c0: 62 3e 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c  b></font><br>..<
17d0: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32  font color="#a52
17e0: 61 32 61 22 3e 31 38 20 3c 2f 66 6f 6e 74 3e 3c  a2a">18 </font><
17f0: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32  font color="#a52
1800: 61 32 61 22 3e 3c 62 3e 65 6c 73 65 3c 2f 62 3e  a2a"><b>else</b>
1810: 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f  </font><br>..<fo
1820: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
1830: 61 22 3e 31 39 20 3c 2f 66 6f 6e 74 3e 26 6e 62  a">19 </font>&nb
1840: 73 70 3b 26 6e 62 73 70 3b 73 75 64 6f 20 3c 66  sp;&nbsp;sudo <f
1850: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 30 32 30  ont color="#a020
1860: 66 30 22 3e 24 30 3c 2f 66 6f 6e 74 3e 26 6e 62  f0">$0</font>&nb
1870: 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  sp;<font color="
1880: 23 61 30 32 30 66 30 22 3e 24 2a 3c 2f 66 6f 6e  #a020f0">$*</fon
1890: 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f  t><br>..<font co
18a0: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 32 30  lor="#a52a2a">20
18b0: 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f   </font><font co
18c0: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62  lor="#a52a2a"><b
18d0: 3e 66 69 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 62  >fi</b></font><b
18e0: 72 3e 0d 0a 3c 2f 66 6f 6e 74 3e 3c 2f 6e 6f 77  r>..</font></now
18f0: 69 6b 69 3e 0d 0a 0d 0a 48 65 72 65 20 69 73 20  iki>....Here is 
1900: 61 20 6c 69 74 74 6c 65 20 70 65 72 6c 20 73 63  a little perl sc
1910: 72 69 70 74 20 74 6f 20 70 75 74 20 69 6e 20 79  ript to put in y
1920: 6f 75 72 20 63 67 69 2d 62 69 6e 20 74 6f 20 6c  our cgi-bin to l
1930: 69 73 74 20 61 6c 6c 20 74 68 65 20 66 6f 73 73  ist all the foss
1940: 69 6c 73 20 79 6f 75 20 61 72 65 20 70 75 62 6c  ils you are publ
1950: 69 73 68 69 6e 67 3a 0d 0a 0d 0a 3c 6e 6f 77 69  ishing:....<nowi
1960: 6b 69 3e 3c 70 72 65 3e 0d 0a 23 21 2f 75 73 72  ki><pre>..#!/usr
1970: 2f 62 69 6e 2f 70 65 72 6c 20 2d 77 0d 0a 6d 79  /bin/perl -w..my
1980: 20 24 43 47 49 5f 42 49 4e 20 3d 20 27 2f 4c 69   $CGI_BIN = '/Li
1990: 62 72 61 72 79 2f 57 65 62 53 65 72 76 65 72 2f  brary/WebServer/
19a0: 43 47 49 2d 45 78 65 63 75 74 61 62 6c 65 73 27  CGI-Executables'
19b0: 3b 0d 0a 6d 79 20 40 66 69 6c 65 73 20 3d 20 60  ;..my @files = `
19c0: 67 72 65 70 20 2d 6c 20 72 65 70 6f 73 69 74 6f  grep -l reposito
19d0: 72 79 3a 20 20 24 43 47 49 5f 42 49 4e 2f 2a 20  ry:  $CGI_BIN/* 
19e0: 60 3b 0d 0a 70 72 69 6e 74 20 26 6c 74 3b 26 6c  `;..print &lt;&l
19f0: 74 3b 45 4f 4d 3b 0d 0a 43 6f 6e 74 65 6e 74 2d  t;EOM;..Content-
1a00: 54 79 70 65 3a 20 74 65 78 74 2f 68 74 6d 6c 0d  Type: text/html.
1a10: 0a 0d 0a 46 6f 73 73 69 6c 73 20 66 6f 72 20 74  ...Fossils for t
1a20: 68 69 73 20 73 65 72 76 65 72 0d 0a 26 6c 74 3b  his server..&lt;
1a30: 75 6c 3e 0d 0a 45 4f 4d 0d 0a 0d 0a 66 6f 72 20  ul>..EOM....for 
1a40: 28 40 66 69 6c 65 73 29 20 7b 0d 0a 20 20 73 7b  (@files) {..  s{
1a50: 2e 2a 2f 7d 7b 7d 3b 0d 0a 20 20 6e 65 78 74 20  .*/}{};..  next 
1a60: 69 66 20 2f 7e 24 2f 3b 0d 0a 20 20 70 72 69 6e  if /~$/;..  prin
1a70: 74 20 22 26 6c 74 3b 6c 69 3e 26 6c 74 3b 61 20  t "&lt;li>&lt;a 
1a80: 68 72 65 66 3d 27 24 5f 27 3e 24 5f 26 6c 74 3b  href='$_'>$_&lt;
1a90: 2f 61 3e 26 6c 74 3b 2f 6c 69 3e 5c 6e 22 3b 0d  /a>&lt;/li>\n";.
1aa0: 0a 7d 0d 0a 70 72 69 6e 74 20 22 26 6c 74 3b 2f  .}..print "&lt;/
1ab0: 75 6c 3e 5c 6e 22 3b 3c 2f 70 72 65 3e 0d 0a 3c  ul>\n";</pre>..<
1ac0: 2f 6e 6f 77 69 6b 69 3e 0d 0a 0d 0a 54 68 65 20  /nowiki>....The 
1ad0: 66 6f 6c 6c 6f 77 69 6e 67 20 3c 63 69 74 65 3e  following <cite>
1ae0: 61 70 61 63 68 65 32 3c 2f 63 69 74 65 3e 20 63  apache2</cite> c
1af0: 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 63 61 6e  onfiguration can
1b00: 20 62 65 20 75 73 65 64 20 74 6f 20 72 75 6e 20   be used to run 
1b10: 74 68 65 20 72 6f 6f 74 20 6f 66 20 61 20 77 65  the root of a we
1b20: 62 20 73 69 74 65 20 77 69 74 68 20 66 6f 73 73  b site with foss
1b30: 69 6c 2c 20 62 75 74 20 73 74 69 6c 6c 20 61 6c  il, but still al
1b40: 6c 6f 77 20 6f 74 68 65 72 20 73 65 72 76 69 63  low other servic
1b50: 65 73 20 2f 20 64 6f 63 75 6d 65 6e 74 73 20 74  es / documents t
1b60: 6f 20 62 65 20 72 65 61 63 68 65 64 20 76 69 61  o be reached via
1b70: 20 73 70 65 63 69 66 69 63 20 55 52 4c 73 2e 20   specific URLs. 
1b80: 52 65 70 6c 61 63 65 20 22 63 6f 64 65 2e 61 75  Replace "code.au
1b90: 74 6f 6e 6f 6d 6f 2e 75 73 22 20 77 69 74 68 20  tonomo.us" with 
1ba0: 79 6f 75 72 20 73 69 74 65 27 73 20 6e 61 6d 65  your site's name
1bb0: 20 61 6e 64 20 22 64 63 6c 61 72 6b 40 70 6f 62   and "dclark@pob
1bc0: 6f 78 2e 63 6f 6d 22 20 77 69 74 68 20 79 6f 75  ox.com" with you
1bd0: 72 20 65 6d 61 69 6c 2e 0d 0a 0d 0a 3c 76 65 72  r email.....<ver
1be0: 62 61 74 69 6d 3e 0d 0a 4e 61 6d 65 56 69 72 74  batim>..NameVirt
1bf0: 75 61 6c 48 6f 73 74 20 2a 3a 38 30 0d 0a 3c 56  ualHost *:80..<V
1c00: 69 72 74 75 61 6c 48 6f 73 74 20 2a 3a 38 30 3e  irtualHost *:80>
1c10: 0d 0a 20 20 20 20 53 65 72 76 65 72 4e 61 6d 65  ..    ServerName
1c20: 20 63 6f 64 65 2e 61 75 74 6f 6e 6f 6d 6f 2e 75   code.autonomo.u
1c30: 73 0d 0a 20 20 20 20 53 65 72 76 65 72 41 64 6d  s..    ServerAdm
1c40: 69 6e 20 64 63 6c 61 72 6b 40 70 6f 62 6f 78 2e  in dclark@pobox.
1c50: 63 6f 6d 0d 0a 20 20 20 20 45 72 72 6f 72 4c 6f  com..    ErrorLo
1c60: 67 20 2f 76 61 72 2f 6c 6f 67 2f 61 70 61 63 68  g /var/log/apach
1c70: 65 32 2f 63 6f 64 65 2e 61 75 74 6f 6e 6f 6d 6f  e2/code.autonomo
1c80: 2e 75 73 2d 65 72 72 6f 72 2e 6c 6f 67 0d 0a 20  .us-error.log.. 
1c90: 20 20 20 4c 6f 67 4c 65 76 65 6c 20 77 61 72 6e     LogLevel warn
1ca0: 0d 0a 20 20 20 20 43 75 73 74 6f 6d 4c 6f 67 20  ..    CustomLog 
1cb0: 2f 76 61 72 2f 6c 6f 67 2f 61 70 61 63 68 65 32  /var/log/apache2
1cc0: 2f 63 6f 64 65 2e 61 75 74 6f 6e 6f 6d 6f 2e 75  /code.autonomo.u
1cd0: 73 2d 61 63 63 65 73 73 2e 6c 6f 67 20 63 6f 6d  s-access.log com
1ce0: 62 69 6e 65 64 0d 0a 20 20 20 20 53 65 72 76 65  bined..    Serve
1cf0: 72 53 69 67 6e 61 74 75 72 65 20 4f 6e 0d 0a 0d  rSignature On...
1d00: 0a 20 20 20 20 44 6f 63 75 6d 65 6e 74 52 6f 6f  .    DocumentRoo
1d10: 74 20 2f 76 61 72 2f 77 77 77 2f 0d 0a 0d 0a 20  t /var/www/.... 
1d20: 20 20 20 53 63 72 69 70 74 41 6c 69 61 73 20 2f     ScriptAlias /
1d30: 63 67 69 2d 62 69 6e 2f 20 2f 75 73 72 2f 6c 69  cgi-bin/ /usr/li
1d40: 62 2f 63 67 69 2d 62 69 6e 2f 0d 0a 20 20 20 20  b/cgi-bin/..    
1d50: 3c 44 69 72 65 63 74 6f 72 79 20 22 2f 75 73 72  <Directory "/usr
1d60: 2f 6c 69 62 2f 63 67 69 2d 62 69 6e 22 3e 0d 0a  /lib/cgi-bin">..
1d70: 20 20 20 20 20 20 20 20 41 6c 6c 6f 77 4f 76 65          AllowOve
1d80: 72 72 69 64 65 20 4e 6f 6e 65 0d 0a 20 20 20 20  rride None..    
1d90: 20 20 20 20 4f 70 74 69 6f 6e 73 20 2b 45 78 65      Options +Exe
1da0: 63 43 47 49 20 2d 4d 75 6c 74 69 56 69 65 77 73  cCGI -MultiViews
1db0: 20 2b 53 79 6d 4c 69 6e 6b 73 49 66 4f 77 6e 65   +SymLinksIfOwne
1dc0: 72 4d 61 74 63 68 0d 0a 20 20 20 20 20 20 20 20  rMatch..        
1dd0: 4f 72 64 65 72 20 61 6c 6c 6f 77 2c 64 65 6e 79  Order allow,deny
1de0: 0d 0a 20 20 20 20 20 20 20 20 41 6c 6c 6f 77 20  ..        Allow 
1df0: 66 72 6f 6d 20 61 6c 6c 0d 0a 20 20 20 20 3c 2f  from all..    </
1e00: 44 69 72 65 63 74 6f 72 79 3e 0d 0a 0d 0a 20 20  Directory>....  
1e10: 20 20 23 20 46 6f 73 73 69 6c 20 53 43 4d 20 61    # Fossil SCM a
1e20: 74 20 72 6f 6f 74 20 6f 66 20 77 65 62 20 73 69  t root of web si
1e30: 74 65 20 28 68 74 74 70 3a 2f 2f 65 78 61 6d 70  te (http://examp
1e40: 6c 65 2e 63 6f 6d 29 20 63 6f 6e 66 69 67 75 72  le.com) configur
1e50: 61 74 69 6f 6e 2e 2e 2e 0d 0a 20 20 20 20 52 65  ation.....    Re
1e60: 77 72 69 74 65 45 6e 67 69 6e 65 20 4f 6e 0d 0a  writeEngine On..
1e70: 20 20 20 20 23 20 52 65 77 72 69 74 65 43 6f 6e      # RewriteCon
1e80: 64 20 2d 20 4f 6e 65 20 66 6f 72 20 65 76 65 72  d - One for ever
1e90: 79 20 55 52 4c 20 77 65 20 64 6f 6e 27 74 20 77  y URL we don't w
1ea0: 61 6e 74 20 46 6f 73 73 69 6c 20 53 43 4d 20 74  ant Fossil SCM t
1eb0: 6f 20 73 65 72 76 65 2e 20 49 6e 20 74 68 65 0d  o serve. In the.
1ec0: 0a 20 20 20 20 23 20 20 20 20 20 20 20 20 20 20  .    #          
1ed0: 20 20 20 20 20 65 78 61 6d 70 6c 65 2c 20 72 65       example, re
1ee0: 71 75 65 73 74 73 20 74 68 61 74 20 67 6f 20 74  quests that go t
1ef0: 6f 20 74 68 65 20 2f 76 61 72 2f 77 77 77 2f 74  o the /var/www/t
1f00: 6d 70 20 64 69 72 65 63 74 6f 72 79 20 61 6e 64  mp directory and
1f10: 20 0d 0a 20 20 20 20 23 20 20 20 20 20 20 20 20   ..    #        
1f20: 20 20 20 20 20 20 20 74 68 65 20 2f 75 73 72 2f         the /usr/
1f30: 6c 69 62 2f 63 67 69 2d 62 69 6e 20 64 69 72 65  lib/cgi-bin dire
1f40: 63 74 6f 74 79 20 61 72 65 20 69 67 6e 6f 72 65  ctoty are ignore
1f50: 64 20 62 79 20 46 6f 73 73 69 6c 20 53 43 4d 2e  d by Fossil SCM.
1f60: 0d 0a 20 20 20 20 52 65 77 72 69 74 65 43 6f 6e  ..    RewriteCon
1f70: 64 20 25 7b 52 45 51 55 45 53 54 5f 55 52 49 7d  d %{REQUEST_URI}
1f80: 20 21 5e 2f 74 6d 70 2f 2e 2a 24 0d 0a 20 20 20   !^/tmp/.*$..   
1f90: 20 52 65 77 72 69 74 65 43 6f 6e 64 20 25 7b 52   RewriteCond %{R
1fa0: 45 51 55 45 53 54 5f 55 52 49 7d 20 21 5e 2f 63  EQUEST_URI} !^/c
1fb0: 67 69 2d 62 69 6e 2f 2e 2a 24 0d 0a 20 20 20 20  gi-bin/.*$..    
1fc0: 52 65 77 72 69 74 65 52 75 6c 65 20 5e 28 2e 2a  RewriteRule ^(.*
1fd0: 29 24 20 2f 75 73 72 2f 6c 69 62 2f 63 67 69 2d  )$ /usr/lib/cgi-
1fe0: 62 69 6e 2f 63 6f 64 65 2e 61 75 74 6f 6e 6f 6d  bin/code.autonom
1ff0: 6f 2e 75 73 2f 24 31 20 5b 54 3d 61 70 70 6c 69  o.us/$1 [T=appli
2000: 63 61 74 69 6f 6e 2f 78 2d 68 74 74 70 64 2d 63  cation/x-httpd-c
2010: 67 69 5d 0d 0a 3c 2f 56 69 72 74 75 61 6c 48 6f  gi]..</VirtualHo
2020: 73 74 3e 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e  st>..</verbatim>
2030: 0d 0a 0d 0a 2f 75 73 72 2f 6c 69 62 2f 63 67 69  ..../usr/lib/cgi
2040: 2d 62 69 6e 2f 63 6f 64 65 2e 61 75 74 6f 6e 6f  -bin/code.autono
2050: 6d 6f 2e 75 73 20 69 73 20 6a 75 73 74 20 61 20  mo.us is just a 
2060: 73 74 61 6e 64 61 72 64 20 66 6f 73 73 69 6c 20  standard fossil 
2070: 43 47 49 20 66 69 6c 65 3b 20 69 74 20 6c 6f 6f  CGI file; it loo
2080: 6b 73 20 6c 69 6b 65 20 74 68 69 73 3a 0d 0a 0d  ks like this:...
2090: 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 23 21 2f  .<verbatim>..#!/
20a0: 75 73 72 2f 62 69 6e 2f 66 6f 73 73 69 6c 0d 0a  usr/bin/fossil..
20b0: 72 65 70 6f 73 69 74 6f 72 79 3a 20 2f 73 72 76  repository: /srv
20c0: 2f 66 6f 73 73 69 6c 2d 73 63 6d 2f 63 6f 64 65  /fossil-scm/code
20d0: 2e 61 75 74 6f 6e 6f 6d 6f 2e 75 73 2e 66 6f 73  .autonomo.us.fos
20e0: 73 69 6c 2d 73 63 6d 0d 0a 3c 2f 76 65 72 62 61  sil-scm..</verba
20f0: 74 69 6d 3e 0d 0a 0d 0a 3c 68 33 3e 41 6e 6f 74  tim>....<h3>Anot
2100: 68 65 72 20 73 6f 6c 75 74 69 6f 6e 20 74 6f 20  her solution to 
2110: 3c 69 3e 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79  <i>automatically
2120: 3c 2f 69 3e 20 73 65 72 76 65 20 6d 75 6c 74 69  </i> serve multi
2130: 70 6c 65 20 72 65 70 6f 73 69 74 6f 72 69 65 73  ple repositories
2140: 3c 2f 68 33 3e 0d 0a 0d 0a 57 69 74 68 20 74 68  </h3>....With th
2150: 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 43 47 49 20  e following CGI 
2160: 73 63 72 69 70 74 20 28 49 20 68 61 76 65 20 6e  script (I have n
2170: 61 6d 65 64 20 69 74 20 3c 73 61 6d 70 3e 70 3c  amed it <samp>p<
2180: 2f 73 61 6d 70 3e 20 73 69 6d 70 6c 79 29 20 69  /samp> simply) i
2190: 74 20 69 73 20 70 6f 73 73 69 62 6c 65 20 74 6f  t is possible to
21a0: 20 64 65 66 69 6e 65 20 61 20 6c 6f 63 61 74 69   define a locati
21b0: 6f 6e 20 77 68 65 72 65 20 61 6c 6c 20 74 68 65  on where all the
21c0: 20 79 6f 75 72 20 72 65 70 6f 73 69 74 6f 72 69   your repositori
21d0: 65 73 20 73 68 6f 75 6c 64 20 62 65 20 6c 6f 63  es should be loc
21e0: 61 74 65 64 20 28 69 6e 20 74 68 69 73 20 65 78  ated (in this ex
21f0: 61 6d 70 6c 65 3a 20 3c 73 61 6d 70 3e 2f 68 6f  ample: <samp>/ho
2200: 6d 65 2f 72 65 70 6f 73 2f 66 6f 73 73 69 6c 3c  me/repos/fossil<
2210: 2f 73 61 6d 70 3e 29 2e 20 41 6c 6c 20 74 68 65  /samp>). All the
2220: 20 72 65 70 6f 73 69 74 6f 72 69 65 73 20 61 72   repositories ar
2230: 65 20 6e 61 6d 65 64 20 61 63 63 6f 72 64 69 6e  e named accordin
2240: 67 20 74 68 65 20 73 63 68 65 6d 65 20 3c 73 61  g the scheme <sa
2250: 6d 70 3e 3c 70 72 6f 6a 65 63 74 20 6e 61 6d 65  mp><project name
2260: 3e 2e 66 73 6c 3c 2f 73 61 6d 70 3e 20 66 6f 72  >.fsl</samp> for
2270: 20 73 61 6b 65 20 6f 66 20 74 68 69 73 20 65 78   sake of this ex
2280: 61 6d 70 6c 65 2e 0d 0a 0d 0a 49 66 20 74 68 69  ample.....If thi
2290: 73 20 73 63 72 69 70 74 20 69 73 20 63 61 6c 6c  s script is call
22a0: 65 64 20 61 6c 6f 6e 65 20 28 6c 69 6b 65 20 65  ed alone (like e
22b0: 2e 67 2e 3a 20 3c 73 61 6d 70 3e 68 74 74 70 3a  .g.: <samp>http:
22c0: 2f 2f 79 6f 75 72 2e 73 65 72 76 65 72 2e 68 65  //your.server.he
22d0: 72 65 2f 63 67 69 2d 62 69 6e 2f 70 3c 2f 73 61  re/cgi-bin/p</sa
22e0: 6d 70 3e 29 2c 20 69 74 20 77 69 6c 6c 20 6c 69  mp>), it will li
22f0: 73 74 20 61 6c 6c 20 72 65 70 6f 73 69 74 6f 72  st all repositor
2300: 69 65 73 20 6c 6f 63 61 74 65 64 20 75 6e 64 65  ies located unde
2310: 72 20 3c 73 61 6d 70 3e 24 52 45 50 4f 53 52 4f  r <samp>$REPOSRO
2320: 4f 54 3c 2f 73 61 6d 70 3e 2c 20 3c 62 3e 69 66  OT</samp>, <b>if
2330: 3c 2f 62 3e 20 74 68 65 72 65 20 3c 62 3e 64 6f  </b> there <b>do
2340: 65 73 20 6e 6f 74 3c 2f 62 3e 20 65 78 69 73 74  es not</b> exist
2350: 20 61 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67   a corresponding
2360: 20 66 69 6c 65 20 3c 73 61 6d 70 3e 2e 3c 70 72   file <samp>.<pr
2370: 6f 6a 65 63 74 20 6e 61 6d 65 3e 3c 2f 73 61 6d  oject name></sam
2380: 70 3e 20 28 74 68 61 74 20 6d 65 63 68 61 6e 69  p> (that mechani
2390: 73 6d 20 69 73 20 75 73 65 64 20 74 6f 20 3c 69  sm is used to <i
23a0: 3e 68 69 64 65 3c 2f 69 3e 20 73 6f 6d 65 20 72  >hide</i> some r
23b0: 65 70 6f 73 69 74 6f 72 79 20 69 6e 20 74 68 65  epository in the
23c0: 20 6c 69 73 74 69 6e 67 29 2e 0d 0a 0d 0a 49 66   listing).....If
23d0: 20 74 68 65 20 73 63 72 69 70 74 20 69 73 20 63   the script is c
23e0: 61 6c 6c 65 64 20 6c 69 6b 65 20 65 2e 67 2e 20  alled like e.g. 
23f0: 3c 73 61 6d 70 3e 68 74 74 70 3a 2f 2f 79 6f 75  <samp>http://you
2400: 72 2e 73 65 72 76 65 72 2e 68 65 72 65 2f 63 67  r.server.here/cg
2410: 69 2d 62 69 6e 2f 70 2f 3c 70 72 6f 6a 65 63 74  i-bin/p/<project
2420: 20 6e 61 6d 65 3e 3c 2f 73 61 6d 70 3e 2c 20 74   name></samp>, t
2430: 68 65 6e 20 74 68 65 20 63 6f 72 72 65 73 70 6f  hen the correspo
2440: 6e 64 69 6e 67 20 72 65 70 6f 73 69 74 6f 72 79  nding repository
2450: 20 77 69 6c 6c 20 62 65 20 73 65 6c 65 63 74 65   will be selecte
2460: 64 20 74 6f 20 77 6f 72 6b 20 77 69 74 68 2e 0d  d to work with..
2470: 0a 0d 0a 54 68 65 20 6c 69 6e 65 73 20 35 20 2d  ...The lines 5 -
2480: 20 38 20 69 6e 20 74 68 65 20 73 63 72 69 70 74   8 in the script
2490: 20 62 65 6c 6f 77 20 61 6c 6c 6f 77 20 63 6f 6e   below allow con
24a0: 66 69 67 75 72 61 74 69 6f 6e 20 66 6f 72 20 79  figuration for y
24b0: 6f 75 20 6e 65 65 64 73 2e 20 59 6f 75 20 68 61  ou needs. You ha
24c0: 76 65 20 74 6f 20 63 68 6f 73 65 2c 20 77 68 61  ve to chose, wha
24d0: 74 20 66 6f 73 73 69 6c 20 62 69 6e 61 72 79 20  t fossil binary 
24e0: 74 6f 20 75 73 65 2c 20 77 68 61 74 20 65 78 74  to use, what ext
24f0: 65 6e 73 69 6f 6e 20 79 6f 75 72 20 72 65 70 6f  ension your repo
2500: 73 69 74 6f 72 79 20 64 61 74 61 62 61 73 65 73  sitory databases
2510: 20 68 61 76 65 20 61 6e 64 20 77 68 65 72 65 20   have and where 
2520: 61 6c 6c 20 79 6f 75 72 20 64 61 74 61 62 61 73  all your databas
2530: 65 73 20 61 72 65 20 6c 6f 63 61 74 65 64 2e 0d  es are located..
2540: 0a 0d 0a 3c 6e 6f 77 69 6b 69 3e 0d 0a 3c 66 6f  ...<nowiki>..<fo
2550: 6e 74 20 66 61 63 65 3d 22 6d 6f 6e 6f 73 70 61  nt face="monospa
2560: 63 65 22 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f  ce">..<font colo
2570: 72 3d 22 23 61 35 32 61 32 61 22 3e 26 6e 62 73  r="#a52a2a">&nbs
2580: 70 3b 31 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74  p;1 </font><font
2590: 20 63 6f 6c 6f 72 3d 22 23 30 30 30 30 66 66 22   color="#0000ff"
25a0: 3e 23 21 2f 62 69 6e 2f 73 68 3c 2f 66 6f 6e 74  >#!/bin/sh</font
25b0: 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c  ><br>..<font col
25c0: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 26 6e 62  or="#a52a2a">&nb
25d0: 73 70 3b 32 20 3c 2f 66 6f 6e 74 3e 3c 62 72 3e  sp;2 </font><br>
25e0: 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  ..<font color="#
25f0: 61 35 32 61 32 61 22 3e 26 6e 62 73 70 3b 33 20  a52a2a">&nbsp;3 
2600: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
2610: 6f 72 3d 22 23 30 30 30 30 66 66 22 3e 23 23 23  or="#0000ff">###
2620: 20 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 73   Configuration s
2630: 65 63 74 69 6f 6e 20 23 23 23 3c 2f 66 6f 6e 74  ection ###</font
2640: 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c  ><br>..<font col
2650: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 26 6e 62  or="#a52a2a">&nb
2660: 73 70 3b 34 20 3c 2f 66 6f 6e 74 3e 3c 62 72 3e  sp;4 </font><br>
2670: 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  ..<font color="#
2680: 61 35 32 61 32 61 22 3e 26 6e 62 73 70 3b 35 20  a52a2a">&nbsp;5 
2690: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
26a0: 6f 72 3d 22 23 30 30 38 62 38 62 22 3e 54 49 54  or="#008b8b">TIT
26b0: 4c 45 3c 2f 66 6f 6e 74 3e 3d 3c 66 6f 6e 74 20  LE</font>=<font 
26c0: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
26d0: 3c 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66  <b>&quot;</b></f
26e0: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
26f0: 22 23 66 66 30 30 66 66 22 3e 26 6c 74 3b 68 32  "#ff00ff">&lt;h2
2700: 26 67 74 3b 46 6f 73 73 69 6c 20 72 65 70 6f 73  &gt;Fossil repos
2710: 69 74 6f 72 69 65 73 26 6c 74 3b 2f 68 32 26 67  itories&lt;/h2&g
2720: 74 3b 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63  t;</font><font c
2730: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c  olor="#a52a2a"><
2740: 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f  b>&quot;</b></fo
2750: 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63  nt><br>..<font c
2760: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 26  olor="#a52a2a">&
2770: 6e 62 73 70 3b 36 20 3c 2f 66 6f 6e 74 3e 3c 66  nbsp;6 </font><f
2780: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 30 30 38 62  ont color="#008b
2790: 38 62 22 3e 46 4f 53 53 49 4c 3c 2f 66 6f 6e 74  8b">FOSSIL</font
27a0: 3e 3d 2f 75 73 72 2f 6c 6f 63 61 6c 2f 62 69 6e  >=/usr/local/bin
27b0: 2f 66 6f 73 73 69 6c 3c 62 72 3e 0d 0a 3c 66 6f  /fossil<br>..<fo
27c0: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
27d0: 61 22 3e 26 6e 62 73 70 3b 37 20 3c 2f 66 6f 6e  a">&nbsp;7 </fon
27e0: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
27f0: 30 30 38 62 38 62 22 3e 52 45 50 4f 53 52 4f 4f  008b8b">REPOSROO
2800: 54 3c 2f 66 6f 6e 74 3e 3d 2f 68 6f 6d 65 2f 72  T</font>=/home/r
2810: 65 70 6f 73 2f 66 6f 73 73 69 6c 3c 62 72 3e 0d  epos/fossil<br>.
2820: 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61  .<font color="#a
2830: 35 32 61 32 61 22 3e 26 6e 62 73 70 3b 38 20 3c  52a2a">&nbsp;8 <
2840: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
2850: 72 3d 22 23 30 30 38 62 38 62 22 3e 52 45 50 4f  r="#008b8b">REPO
2860: 53 45 58 54 3c 2f 66 6f 6e 74 3e 3d 3c 66 6f 6e  SEXT</font>=<fon
2870: 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61  t color="#a52a2a
2880: 22 3e 3c 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c  "><b>&quot;</b><
2890: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
28a0: 72 3d 22 23 66 66 30 30 66 66 22 3e 2e 66 73 6c  r="#ff00ff">.fsl
28b0: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
28c0: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e  or="#a52a2a"><b>
28d0: 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74  &quot;</b></font
28e0: 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c  ><br>..<font col
28f0: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 26 6e 62  or="#a52a2a">&nb
2900: 73 70 3b 39 20 3c 2f 66 6f 6e 74 3e 3c 62 72 3e  sp;9 </font><br>
2910: 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  ..<font color="#
2920: 61 35 32 61 32 61 22 3e 31 30 20 3c 2f 66 6f 6e  a52a2a">10 </fon
2930: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
2940: 30 30 30 30 66 66 22 3e 23 23 23 20 50 72 6f 63  0000ff">### Proc
2950: 65 73 73 69 6e 67 20 73 65 63 74 69 6f 6e 20 2d  essing section -
2960: 2d 20 6e 6f 74 68 69 6e 67 20 74 6f 20 63 6f 6e  - nothing to con
2970: 66 69 67 75 72 65 20 68 65 72 65 21 20 23 23 23  figure here! ###
2980: 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f  </font><br>..<fo
2990: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
29a0: 61 22 3e 31 31 20 3c 2f 66 6f 6e 74 3e 3c 62 72  a">11 </font><br
29b0: 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  >..<font color="
29c0: 23 61 35 32 61 32 61 22 3e 31 32 20 3c 2f 66 6f  #a52a2a">12 </fo
29d0: 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  nt><font color="
29e0: 23 61 35 32 61 32 61 22 3e 3c 62 3e 73 65 74 3c  #a52a2a"><b>set<
29f0: 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  /b></font><font 
2a00: 63 6f 6c 6f 72 3d 22 23 30 30 38 62 38 62 22 3e  color="#008b8b">
2a10: 26 6e 62 73 70 3b 3c 2f 66 6f 6e 74 3e 3c 66 6f  &nbsp;</font><fo
2a20: 6e 74 20 63 6f 6c 6f 72 3d 22 23 36 61 35 61 63  nt color="#6a5ac
2a30: 64 22 3e 2d 66 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  d">-f</font><fon
2a40: 74 20 63 6f 6c 6f 72 3d 22 23 30 30 38 62 38 62  t color="#008b8b
2a50: 22 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e  ">&nbsp;&nbsp;&n
2a60: 62 73 70 3b 26 6e 62 73 70 3b 3c 2f 66 6f 6e 74  bsp;&nbsp;</font
2a70: 3e 3b 20 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  >; <font color="
2a80: 23 30 30 30 30 66 66 22 3e 23 20 64 69 73 61 62  #0000ff"># disab
2a90: 6c 65 20 66 69 6c 65 6e 61 6d 65 20 67 6c 6f 62  le filename glob
2aa0: 62 69 6e 67 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d  bing</font><br>.
2ab0: 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61  .<font color="#a
2ac0: 35 32 61 32 61 22 3e 31 33 20 3c 2f 66 6f 6e 74  52a2a">13 </font
2ad0: 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c  ><br>..<font col
2ae0: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 31 34 20  or="#a52a2a">14 
2af0: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
2b00: 6f 72 3d 22 23 30 30 30 30 66 66 22 3e 23 23 20  or="#0000ff">## 
2b10: 53 6f 6d 65 20 68 65 6c 70 65 72 20 66 75 6e 63  Some helper func
2b20: 74 69 6f 6e 73 3c 2f 66 6f 6e 74 3e 3c 62 72 3e  tions</font><br>
2b30: 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  ..<font color="#
2b40: 61 35 32 61 32 61 22 3e 31 35 20 3c 2f 66 6f 6e  a52a2a">15 </fon
2b50: 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f  t><br>..<font co
2b60: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 31 36  lor="#a52a2a">16
2b70: 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f   </font><font co
2b80: 6c 6f 72 3d 22 23 30 30 38 62 38 62 22 3e 48 65  lor="#008b8b">He
2b90: 61 64 65 72 54 65 78 74 20 28 29 20 7b 3c 2f 66  aderText () {</f
2ba0: 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20  ont><br>..<font 
2bb0: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
2bc0: 31 37 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b  17 </font>&nbsp;
2bd0: 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f  &nbsp;<font colo
2be0: 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 69  r="#a52a2a"><b>i
2bf0: 66 20 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f  f </b></font><fo
2c00: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
2c10: 61 22 3e 3c 62 3e 5b 3c 2f 62 3e 3c 2f 66 6f 6e  a"><b>[</b></fon
2c20: 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f  t>&nbsp;<font co
2c30: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62  lor="#a52a2a"><b
2c40: 3e 2d 7a 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 26 6e  >-z</b></font>&n
2c50: 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  bsp;<font color=
2c60: 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 26 71 75  "#a52a2a"><b>&qu
2c70: 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66  ot;</b></font><f
2c80: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 30 32 30  ont color="#a020
2c90: 66 30 22 3e 24 68 65 61 64 65 72 57 72 69 74 74  f0">$headerWritt
2ca0: 65 6e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63  en</font><font c
2cb0: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c  olor="#a52a2a"><
2cc0: 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f  b>&quot;</b></fo
2cd0: 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63  nt>&nbsp;<font c
2ce0: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c  olor="#a52a2a"><
2cf0: 62 3e 5d 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66  b>]</b></font><f
2d00: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61  ont color="#a52a
2d10: 32 61 22 3e 3c 62 3e 3b 3c 2f 62 3e 3c 2f 66 6f  2a"><b>;</b></fo
2d20: 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63  nt>&nbsp;<font c
2d30: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c  olor="#a52a2a"><
2d40: 62 3e 74 68 65 6e 3c 2f 62 3e 3c 2f 66 6f 6e 74  b>then</b></font
2d50: 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c  ><br>..<font col
2d60: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 31 38 20  or="#a52a2a">18 
2d70: 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62  </font>&nbsp;&nb
2d80: 73 70 3b 26 6e 62 73 70 3b 26 6e 62 73 70 3b 3c  sp;&nbsp;&nbsp;<
2d90: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32  font color="#a52
2da0: 61 32 61 22 3e 3c 62 3e 65 63 68 6f 3c 2f 62 3e  a2a"><b>echo</b>
2db0: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
2dc0: 6f 72 3d 22 23 66 66 30 30 66 66 22 3e 26 6e 62  or="#ff00ff">&nb
2dd0: 73 70 3b 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  sp;</font><font 
2de0: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
2df0: 3c 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66  <b>&quot;</b></f
2e00: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
2e10: 22 23 66 66 30 30 66 66 22 3e 43 6f 6e 74 65 6e  "#ff00ff">Conten
2e20: 74 2d 74 79 70 65 3a 20 74 65 78 74 2f 70 6c 61  t-type: text/pla
2e30: 69 6e 3b 20 63 68 61 72 73 65 74 3d 69 73 6f 2d  in; charset=iso-
2e40: 38 38 35 39 2d 31 3c 2f 66 6f 6e 74 3e 3c 66 6f  8859-1</font><fo
2e50: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
2e60: 61 22 3e 3c 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e  a"><b>&quot;</b>
2e70: 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f  </font><br>..<fo
2e80: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
2e90: 61 22 3e 31 39 20 3c 2f 66 6f 6e 74 3e 26 6e 62  a">19 </font>&nb
2ea0: 73 70 3b 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26  sp;&nbsp;&nbsp;&
2eb0: 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72  nbsp;<font color
2ec0: 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 65 63  ="#a52a2a"><b>ec
2ed0: 68 6f 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 62 72  ho</b></font><br
2ee0: 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  >..<font color="
2ef0: 23 61 35 32 61 32 61 22 3e 32 30 20 3c 2f 66 6f  #a52a2a">20 </fo
2f00: 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26  nt>&nbsp;&nbsp;&
2f10: 6e 62 73 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74  nbsp;&nbsp;<font
2f20: 20 63 6f 6c 6f 72 3d 22 23 30 30 38 62 38 62 22   color="#008b8b"
2f30: 3e 68 65 61 64 65 72 57 72 69 74 74 65 6e 3c 2f  >headerWritten</
2f40: 66 6f 6e 74 3e 3d 3c 66 6f 6e 74 20 63 6f 6c 6f  font>=<font colo
2f50: 72 3d 22 23 66 66 30 30 66 66 22 3e 31 3c 2f 66  r="#ff00ff">1</f
2f60: 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20  ont><br>..<font 
2f70: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
2f80: 32 31 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b  21 </font>&nbsp;
2f90: 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f  &nbsp;<font colo
2fa0: 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 66  r="#a52a2a"><b>f
2fb0: 69 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 62 72 3e  i</b></font><br>
2fc0: 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  ..<font color="#
2fd0: 61 35 32 61 32 61 22 3e 32 32 20 3c 2f 66 6f 6e  a52a2a">22 </fon
2fe0: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
2ff0: 30 30 38 62 38 62 22 3e 7d 3c 2f 66 6f 6e 74 3e  008b8b">}</font>
3000: 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f  <br>..<font colo
3010: 72 3d 22 23 61 35 32 61 32 61 22 3e 32 33 20 3c  r="#a52a2a">23 <
3020: 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e  /font><br>..<fon
3030: 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61  t color="#a52a2a
3040: 22 3e 32 34 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  ">24 </font><fon
3050: 74 20 63 6f 6c 6f 72 3d 22 23 30 30 38 62 38 62  t color="#008b8b
3060: 22 3e 48 65 61 64 65 72 48 54 4d 4c 20 28 29 20  ">HeaderHTML () 
3070: 7b 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66  {</font><br>..<f
3080: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61  ont color="#a52a
3090: 32 61 22 3e 32 35 20 3c 2f 66 6f 6e 74 3e 26 6e  2a">25 </font>&n
30a0: 62 73 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74 20  bsp;&nbsp;<font 
30b0: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
30c0: 3c 62 3e 69 66 20 3c 2f 62 3e 3c 2f 66 6f 6e 74  <b>if </b></font
30d0: 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61  ><font color="#a
30e0: 35 32 61 32 61 22 3e 3c 62 3e 5b 3c 2f 62 3e 3c  52a2a"><b>[</b><
30f0: 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e  /font>&nbsp;<fon
3100: 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61  t color="#a52a2a
3110: 22 3e 3c 62 3e 2d 7a 3c 2f 62 3e 3c 2f 66 6f 6e  "><b>-z</b></fon
3120: 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f  t>&nbsp;<font co
3130: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62  lor="#a52a2a"><b
3140: 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e  >&quot;</b></fon
3150: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
3160: 61 30 32 30 66 30 22 3e 24 68 65 61 64 65 72 57  a020f0">$headerW
3170: 72 69 74 74 65 6e 3c 2f 66 6f 6e 74 3e 3c 66 6f  ritten</font><fo
3180: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
3190: 61 22 3e 3c 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e  a"><b>&quot;</b>
31a0: 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f  </font>&nbsp;<fo
31b0: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
31c0: 61 22 3e 3c 62 3e 5d 3c 2f 62 3e 3c 2f 66 6f 6e  a"><b>]</b></fon
31d0: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
31e0: 61 35 32 61 32 61 22 3e 3c 62 3e 3b 3c 2f 62 3e  a52a2a"><b>;</b>
31f0: 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f  </font>&nbsp;<fo
3200: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
3210: 61 22 3e 3c 62 3e 74 68 65 6e 3c 2f 62 3e 3c 2f  a"><b>then</b></
3220: 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74  font><br>..<font
3230: 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22   color="#a52a2a"
3240: 3e 32 36 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70  >26 </font>&nbsp
3250: 3b 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e 62  ;&nbsp;&nbsp;&nb
3260: 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  sp;<font color="
3270: 23 61 35 32 61 32 61 22 3e 3c 62 3e 65 63 68 6f  #a52a2a"><b>echo
3280: 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74  </b></font><font
3290: 20 63 6f 6c 6f 72 3d 22 23 66 66 30 30 66 66 22   color="#ff00ff"
32a0: 3e 26 6e 62 73 70 3b 3c 2f 66 6f 6e 74 3e 3c 66  >&nbsp;</font><f
32b0: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61  ont color="#a52a
32c0: 32 61 22 3e 3c 62 3e 26 71 75 6f 74 3b 3c 2f 62  2a"><b>&quot;</b
32d0: 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f  ></font><font co
32e0: 6c 6f 72 3d 22 23 66 66 30 30 66 66 22 3e 43 6f  lor="#ff00ff">Co
32f0: 6e 74 65 6e 74 2d 74 79 70 65 3a 20 74 65 78 74  ntent-type: text
3300: 2f 68 74 6d 6c 3b 20 63 68 61 72 73 65 74 3d 69  /html; charset=i
3310: 73 6f 2d 38 38 35 39 2d 31 3c 2f 66 6f 6e 74 3e  so-8859-1</font>
3320: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35  <font color="#a5
3330: 32 61 32 61 22 3e 3c 62 3e 26 71 75 6f 74 3b 3c  2a2a"><b>&quot;<
3340: 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a  /b></font><br>..
3350: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35  <font color="#a5
3360: 32 61 32 61 22 3e 32 37 20 3c 2f 66 6f 6e 74 3e  2a2a">27 </font>
3370: 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e 62 73  &nbsp;&nbsp;&nbs
3380: 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f  p;&nbsp;<font co
3390: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62  lor="#a52a2a"><b
33a0: 3e 65 63 68 6f 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e  >echo</b></font>
33b0: 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f  <br>..<font colo
33c0: 72 3d 22 23 61 35 32 61 32 61 22 3e 32 38 20 3c  r="#a52a2a">28 <
33d0: 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73  /font>&nbsp;&nbs
33e0: 70 3b 26 6e 62 73 70 3b 26 6e 62 73 70 3b 3c 66  p;&nbsp;&nbsp;<f
33f0: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 30 30 38 62  ont color="#008b
3400: 38 62 22 3e 68 65 61 64 65 72 57 72 69 74 74 65  8b">headerWritte
3410: 6e 3c 2f 66 6f 6e 74 3e 3d 3c 66 6f 6e 74 20 63  n</font>=<font c
3420: 6f 6c 6f 72 3d 22 23 66 66 30 30 66 66 22 3e 31  olor="#ff00ff">1
3430: 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f  </font><br>..<fo
3440: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
3450: 61 22 3e 32 39 20 3c 2f 66 6f 6e 74 3e 26 6e 62  a">29 </font>&nb
3460: 73 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63  sp;&nbsp;<font c
3470: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c  olor="#a52a2a"><
3480: 62 3e 66 69 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c  b>fi</b></font><
3490: 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72  br>..<font color
34a0: 3d 22 23 61 35 32 61 32 61 22 3e 33 30 20 3c 2f  ="#a52a2a">30 </
34b0: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
34c0: 3d 22 23 30 30 38 62 38 62 22 3e 7d 3c 2f 66 6f  ="#008b8b">}</fo
34d0: 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63  nt><br>..<font c
34e0: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 33  olor="#a52a2a">3
34f0: 31 20 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c  1 </font><br>..<
3500: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32  font color="#a52
3510: 61 32 61 22 3e 33 32 20 3c 2f 66 6f 6e 74 3e 3c  a2a">32 </font><
3520: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 30 30 38  font color="#008
3530: 62 38 62 22 3e 45 72 72 6f 72 20 28 29 20 7b 3c  b8b">Error () {<
3540: 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e  /font><br>..<fon
3550: 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61  t color="#a52a2a
3560: 22 3e 33 33 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73  ">33 </font>&nbs
3570: 70 3b 26 6e 62 73 70 3b 48 65 61 64 65 72 48 54  p;&nbsp;HeaderHT
3580: 4d 4c 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f  ML<br>..<font co
3590: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 33 34  lor="#a52a2a">34
35a0: 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e   </font>&nbsp;&n
35b0: 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  bsp;<font color=
35c0: 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 65 63 68  "#a52a2a"><b>ech
35d0: 6f 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  o</b></font><fon
35e0: 74 20 63 6f 6c 6f 72 3d 22 23 66 66 30 30 66 66  t color="#ff00ff
35f0: 22 3e 26 6e 62 73 70 3b 3c 2f 66 6f 6e 74 3e 3c  ">&nbsp;</font><
3600: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32  font color="#a52
3610: 61 32 61 22 3e 3c 62 3e 26 71 75 6f 74 3b 3c 2f  a2a"><b>&quot;</
3620: 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63  b></font><font c
3630: 6f 6c 6f 72 3d 22 23 66 66 30 30 66 66 22 3e 26  olor="#ff00ff">&
3640: 6c 74 3b 70 26 67 74 3b 26 6c 74 3b 66 6f 6e 74  lt;p&gt;&lt;font
3650: 20 63 6f 6c 6f 72 3d 3c 2f 66 6f 6e 74 3e 3c 66   color=</font><f
3660: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61  ont color="#a52a
3670: 32 61 22 3e 3c 62 3e 26 71 75 6f 74 3b 3c 2f 62  2a"><b>&quot;</b
3680: 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f  ></font><font co
3690: 6c 6f 72 3d 22 23 66 66 30 30 66 66 22 3e 72 65  lor="#ff00ff">re
36a0: 64 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f  d</font><font co
36b0: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62  lor="#a52a2a"><b
36c0: 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e  >&quot;</b></fon
36d0: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
36e0: 66 66 30 30 66 66 22 3e 26 67 74 3b 45 52 52 4f  ff00ff">&gt;ERRO
36f0: 52 3a 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  R: </font><font 
3700: 63 6f 6c 6f 72 3d 22 23 61 30 32 30 66 30 22 3e  color="#a020f0">
3710: 24 31 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63  $1</font><font c
3720: 6f 6c 6f 72 3d 22 23 66 66 30 30 66 66 22 3e 26  olor="#ff00ff">&
3730: 6c 74 3b 2f 66 6f 6e 74 26 67 74 3b 26 6c 74 3b  lt;/font&gt;&lt;
3740: 2f 70 26 67 74 3b 3c 2f 66 6f 6e 74 3e 3c 66 6f  /p&gt;</font><fo
3750: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
3760: 61 22 3e 3c 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e  a"><b>&quot;</b>
3770: 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f  </font><br>..<fo
3780: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
3790: 61 22 3e 33 35 20 3c 2f 66 6f 6e 74 3e 26 6e 62  a">35 </font>&nb
37a0: 73 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63  sp;&nbsp;<font c
37b0: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c  olor="#a52a2a"><
37c0: 62 3e 65 78 69 74 3c 2f 62 3e 3c 2f 66 6f 6e 74  b>exit</b></font
37d0: 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c  >&nbsp;<font col
37e0: 6f 72 3d 22 23 66 66 30 30 66 66 22 3e 31 3c 2f  or="#ff00ff">1</
37f0: 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74  font><br>..<font
3800: 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22   color="#a52a2a"
3810: 3e 33 36 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74  >36 </font><font
3820: 20 63 6f 6c 6f 72 3d 22 23 30 30 38 62 38 62 22   color="#008b8b"
3830: 3e 7d 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c  >}</font><br>..<
3840: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32  font color="#a52
3850: 61 32 61 22 3e 33 37 20 3c 2f 66 6f 6e 74 3e 3c  a2a">37 </font><
3860: 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72  br>..<font color
3870: 3d 22 23 61 35 32 61 32 61 22 3e 33 38 20 3c 2f  ="#a52a2a">38 </
3880: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
3890: 3d 22 23 30 30 38 62 38 62 22 3e 50 20 28 29 20  ="#008b8b">P () 
38a0: 7b 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66  {</font><br>..<f
38b0: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61  ont color="#a52a
38c0: 32 61 22 3e 33 39 20 3c 2f 66 6f 6e 74 3e 26 6e  2a">39 </font>&n
38d0: 62 73 70 3b 26 6e 62 73 70 3b 48 65 61 64 65 72  bsp;&nbsp;Header
38e0: 54 65 78 74 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20  Text<br>..<font 
38f0: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
3900: 34 30 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b  40 </font>&nbsp;
3910: 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f  &nbsp;<font colo
3920: 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 66  r="#a52a2a"><b>f
3930: 6f 72 20 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 76 61  or </b></font>va
3940: 72 20 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  r <font color="#
3950: 61 35 32 61 32 61 22 3e 3c 62 3e 69 6e 3c 2f 62  a52a2a"><b>in</b
3960: 3e 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66  ></font>&nbsp;<f
3970: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 30 32 30  ont color="#a020
3980: 66 30 22 3e 24 2a 3c 2f 66 6f 6e 74 3e 3c 66 6f  f0">$*</font><fo
3990: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
39a0: 61 22 3e 3c 62 3e 3b 3c 2f 62 3e 3c 2f 66 6f 6e  a"><b>;</b></fon
39b0: 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f  t>&nbsp;<font co
39c0: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62  lor="#a52a2a"><b
39d0: 3e 64 6f 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 62  >do</b></font><b
39e0: 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  r>..<font color=
39f0: 22 23 61 35 32 61 32 61 22 3e 34 31 20 3c 2f 66  "#a52a2a">41 </f
3a00: 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b  ont>&nbsp;&nbsp;
3a10: 26 6e 62 73 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e  &nbsp;&nbsp;<fon
3a20: 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61  t color="#a52a2a
3a30: 22 3e 3c 62 3e 65 76 61 6c 3c 2f 62 3e 3c 2f 66  "><b>eval</b></f
3a40: 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20  ont>&nbsp;<font 
3a50: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
3a60: 3c 62 3e 65 63 68 6f 3c 2f 62 3e 3c 2f 66 6f 6e  <b>echo</b></fon
3a70: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
3a80: 66 66 30 30 66 66 22 3e 26 6e 62 73 70 3b 3c 2f  ff00ff">&nbsp;</
3a90: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
3aa0: 3d 22 23 61 30 32 30 66 30 22 3e 24 76 61 72 3c  ="#a020f0">$var<
3ab0: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
3ac0: 72 3d 22 23 66 66 30 30 66 66 22 3e 26 6e 62 73  r="#ff00ff">&nbs
3ad0: 70 3b 3d 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74  p;= </font><font
3ae0: 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22   color="#a52a2a"
3af0: 3e 3c 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f  ><b>&quot;</b></
3b00: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
3b10: 3d 22 23 36 61 35 61 63 64 22 3e 5c 24 3c 2f 66  ="#6a5acd">\$</f
3b20: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
3b30: 22 23 61 30 32 30 66 30 22 3e 24 76 61 72 3c 2f  "#a020f0">$var</
3b40: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
3b50: 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 26 71  ="#a52a2a"><b>&q
3b60: 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c  uot;</b></font><
3b70: 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72  br>..<font color
3b80: 3d 22 23 61 35 32 61 32 61 22 3e 34 32 20 3c 2f  ="#a52a2a">42 </
3b90: 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70  font>&nbsp;&nbsp
3ba0: 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61  ;<font color="#a
3bb0: 35 32 61 32 61 22 3e 3c 62 3e 64 6f 6e 65 3c 2f  52a2a"><b>done</
3bc0: 62 3e 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c  b></font><br>..<
3bd0: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32  font color="#a52
3be0: 61 32 61 22 3e 34 33 20 3c 2f 66 6f 6e 74 3e 3c  a2a">43 </font><
3bf0: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 30 30 38  font color="#008
3c00: 62 38 62 22 3e 7d 3c 2f 66 6f 6e 74 3e 3c 62 72  b8b">}</font><br
3c10: 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  >..<font color="
3c20: 23 61 35 32 61 32 61 22 3e 34 34 20 3c 2f 66 6f  #a52a2a">44 </fo
3c30: 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63  nt><br>..<font c
3c40: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 34  olor="#a52a2a">4
3c50: 35 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63  5 </font><font c
3c60: 6f 6c 6f 72 3d 22 23 30 30 30 30 66 66 22 3e 23  olor="#0000ff">#
3c70: 23 20 44 6f 20 74 68 65 20 72 65 61 6c 20 77 6f  # Do the real wo
3c80: 72 6b 20 68 65 72 65 20 2e 2e 2e 3c 2f 66 6f 6e  rk here ...</fon
3c90: 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f  t><br>..<font co
3ca0: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 34 36  lor="#a52a2a">46
3cb0: 20 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66   </font><br>..<f
3cc0: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61  ont color="#a52a
3cd0: 32 61 22 3e 34 37 20 3c 2f 66 6f 6e 74 3e 3c 66  2a">47 </font><f
3ce0: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 30 30 38 62  ont color="#008b
3cf0: 38 62 22 3e 70 72 6f 6a 65 63 74 3c 2f 66 6f 6e  8b">project</fon
3d00: 74 3e 3d 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  t>=<font color="
3d10: 23 36 61 35 61 63 64 22 3e 60 65 63 68 6f 20 3c  #6a5acd">`echo <
3d20: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
3d30: 72 3d 22 23 61 30 32 30 66 30 22 3e 24 50 41 54  r="#a020f0">$PAT
3d40: 48 5f 49 4e 46 4f 3c 2f 66 6f 6e 74 3e 3c 66 6f  H_INFO</font><fo
3d50: 6e 74 20 63 6f 6c 6f 72 3d 22 23 36 61 35 61 63  nt color="#6a5ac
3d60: 64 22 3e 26 6e 62 73 70 3b 3c 2f 66 6f 6e 74 3e  d">&nbsp;</font>
3d70: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35  <font color="#a5
3d80: 32 61 32 61 22 3e 3c 62 3e 7c 3c 2f 62 3e 3c 2f  2a2a"><b>|</b></
3d90: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
3da0: 3d 22 23 36 61 35 61 63 64 22 3e 26 6e 62 73 70  ="#6a5acd">&nbsp
3db0: 3b 73 65 64 20 2d 65 20 3c 2f 66 6f 6e 74 3e 3c  ;sed -e </font><
3dc0: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32  font color="#a52
3dd0: 61 32 61 22 3e 3c 62 3e 27 3c 2f 62 3e 3c 2f 66  a2a"><b>'</b></f
3de0: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
3df0: 22 23 66 66 30 30 66 66 22 3e 73 21 2f 3c 2f 66  "#ff00ff">s!/</f
3e00: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
3e10: 22 23 36 61 35 61 63 64 22 3e 5c 28 3c 2f 66 6f  "#6a5acd">\(</fo
3e20: 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  nt><font color="
3e30: 23 66 66 30 30 66 66 22 3e 5b 5e 2f 5d 2a 3c 2f  #ff00ff">[^/]*</
3e40: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
3e50: 3d 22 23 36 61 35 61 63 64 22 3e 5c 29 3c 2f 66  ="#6a5acd">\)</f
3e60: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
3e70: 22 23 66 66 30 30 66 66 22 3e 2e 2a 21 5c 31 21  "#ff00ff">.*!\1!
3e80: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
3e90: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e  or="#a52a2a"><b>
3ea0: 27 7c 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f  '|</b></font><fo
3eb0: 6e 74 20 63 6f 6c 6f 72 3d 22 23 36 61 35 61 63  nt color="#6a5ac
3ec0: 64 22 3e 26 6e 62 73 70 3b 74 72 20 3c 2f 66 6f  d">&nbsp;tr </fo
3ed0: 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  nt><font color="
3ee0: 23 61 35 32 61 32 61 22 3e 3c 62 3e 26 71 75 6f  #a52a2a"><b>&quo
3ef0: 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f  t;</b></font><fo
3f00: 6e 74 20 63 6f 6c 6f 72 3d 22 23 66 66 30 30 66  nt color="#ff00f
3f10: 66 22 3e 5b 41 2d 5a 5d 3c 2f 66 6f 6e 74 3e 3c  f">[A-Z]</font><
3f20: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32  font color="#a52
3f30: 61 32 61 22 3e 3c 62 3e 26 71 75 6f 74 3b 3c 2f  a2a"><b>&quot;</
3f40: 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63  b></font><font c
3f50: 6f 6c 6f 72 3d 22 23 36 61 35 61 63 64 22 3e 26  olor="#6a5acd">&
3f60: 6e 62 73 70 3b 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  nbsp;</font><fon
3f70: 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61  t color="#a52a2a
3f80: 22 3e 3c 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c  "><b>&quot;</b><
3f90: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
3fa0: 72 3d 22 23 66 66 30 30 66 66 22 3e 5b 61 2d 7a  r="#ff00ff">[a-z
3fb0: 5d 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f  ]</font><font co
3fc0: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62  lor="#a52a2a"><b
3fd0: 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e  >&quot;</b></fon
3fe0: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
3ff0: 36 61 35 61 63 64 22 3e 60 3c 2f 66 6f 6e 74 3e  6a5acd">`</font>
4000: 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f  <br>..<font colo
4010: 72 3d 22 23 61 35 32 61 32 61 22 3e 34 38 20 3c  r="#a52a2a">48 <
4020: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
4030: 72 3d 22 23 30 30 38 62 38 62 22 3e 72 65 70 6f  r="#008b8b">repo
4040: 73 3c 2f 66 6f 6e 74 3e 3d 3c 66 6f 6e 74 20 63  s</font>=<font c
4050: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c  olor="#a52a2a"><
4060: 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f  b>&quot;</b></fo
4070: 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  nt><font color="
4080: 23 61 30 32 30 66 30 22 3e 24 52 45 50 4f 53 52  #a020f0">$REPOSR
4090: 4f 4f 54 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  OOT</font><font 
40a0: 63 6f 6c 6f 72 3d 22 23 66 66 30 30 66 66 22 3e  color="#ff00ff">
40b0: 2f 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f  /</font><font co
40c0: 6c 6f 72 3d 22 23 61 30 32 30 66 30 22 3e 24 70  lor="#a020f0">$p
40d0: 72 6f 6a 65 63 74 24 52 45 50 4f 53 45 58 54 3c  roject$REPOSEXT<
40e0: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
40f0: 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 26  r="#a52a2a"><b>&
4100: 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e  quot;</b></font>
4110: 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f  <br>..<font colo
4120: 72 3d 22 23 61 35 32 61 32 61 22 3e 34 39 20 3c  r="#a52a2a">49 <
4130: 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e  /font><br>..<fon
4140: 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61  t color="#a52a2a
4150: 22 3e 35 30 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  ">50 </font><fon
4160: 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61  t color="#a52a2a
4170: 22 3e 3c 62 3e 69 66 20 3c 2f 62 3e 3c 2f 66 6f  "><b>if </b></fo
4180: 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  nt><font color="
4190: 23 61 35 32 61 32 61 22 3e 3c 62 3e 5b 3c 2f 62  #a52a2a"><b>[</b
41a0: 3e 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66  ></font>&nbsp;<f
41b0: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61  ont color="#a52a
41c0: 32 61 22 3e 3c 62 3e 2d 72 3c 2f 62 3e 3c 2f 66  2a"><b>-r</b></f
41d0: 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20  ont>&nbsp;<font 
41e0: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
41f0: 3c 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66  <b>&quot;</b></f
4200: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
4210: 22 23 61 30 32 30 66 30 22 3e 24 72 65 70 6f 73  "#a020f0">$repos
4220: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
4230: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e  or="#a52a2a"><b>
4240: 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74  &quot;</b></font
4250: 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c  >&nbsp;<font col
4260: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e  or="#a52a2a"><b>
4270: 5d 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  ]</b></font><fon
4280: 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61  t color="#a52a2a
4290: 22 3e 3c 62 3e 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74  "><b>;</b></font
42a0: 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c  >&nbsp;<font col
42b0: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e  or="#a52a2a"><b>
42c0: 74 68 65 6e 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c  then</b></font><
42d0: 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72  br>..<font color
42e0: 3d 22 23 61 35 32 61 32 61 22 3e 35 31 20 3c 2f  ="#a52a2a">51 </
42f0: 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70  font>&nbsp;&nbsp
4300: 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 30  ;<font color="#0
4310: 30 38 62 38 62 22 3e 50 41 54 48 5f 49 4e 46 4f  08b8b">PATH_INFO
4320: 3c 2f 66 6f 6e 74 3e 3d 3c 66 6f 6e 74 20 63 6f  </font>=<font co
4330: 6c 6f 72 3d 22 23 36 61 35 61 63 64 22 3e 60 65  lor="#6a5acd">`e
4340: 63 68 6f 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74  cho </font><font
4350: 20 63 6f 6c 6f 72 3d 22 23 61 30 32 30 66 30 22   color="#a020f0"
4360: 3e 24 52 45 51 55 45 53 54 5f 55 52 49 3c 2f 66  >$REQUEST_URI</f
4370: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
4380: 22 23 36 61 35 61 63 64 22 3e 26 6e 62 73 70 3b  "#6a5acd">&nbsp;
4390: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
43a0: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e  or="#a52a2a"><b>
43b0: 7c 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  |</b></font><fon
43c0: 74 20 63 6f 6c 6f 72 3d 22 23 36 61 35 61 63 64  t color="#6a5acd
43d0: 22 3e 26 6e 62 73 70 3b 73 65 64 20 2d 65 20 3c  ">&nbsp;sed -e <
43e0: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
43f0: 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 26  r="#a52a2a"><b>&
4400: 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e  quot;</b></font>
4410: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 66 66  <font color="#ff
4420: 30 30 66 66 22 3e 73 21 5e 3c 2f 66 6f 6e 74 3e  00ff">s!^</font>
4430: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 30  <font color="#a0
4440: 32 30 66 30 22 3e 24 53 43 52 49 50 54 5f 4e 41  20f0">$SCRIPT_NA
4450: 4d 45 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63  ME</font><font c
4460: 6f 6c 6f 72 3d 22 23 66 66 30 30 66 66 22 3e 2f  olor="#ff00ff">/
4470: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
4480: 6f 72 3d 22 23 61 30 32 30 66 30 22 3e 24 70 72  or="#a020f0">$pr
4490: 6f 6a 65 63 74 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  oject</font><fon
44a0: 74 20 63 6f 6c 6f 72 3d 22 23 36 61 35 61 63 64  t color="#6a5acd
44b0: 22 3e 5c 5c 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74  ">\\</font><font
44c0: 20 63 6f 6c 6f 72 3d 22 23 66 66 30 30 66 66 22   color="#ff00ff"
44d0: 3e 28 5b 5e 3f 5d 2a 3c 2f 66 6f 6e 74 3e 3c 66  >([^?]*</font><f
44e0: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 36 61 35 61  ont color="#6a5a
44f0: 63 64 22 3e 5c 5c 3c 2f 66 6f 6e 74 3e 3c 66 6f  cd">\\</font><fo
4500: 6e 74 20 63 6f 6c 6f 72 3d 22 23 66 66 30 30 66  nt color="#ff00f
4510: 66 22 3e 29 2e 2a 21 3c 2f 66 6f 6e 74 3e 3c 66  f">).*!</font><f
4520: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 36 61 35 61  ont color="#6a5a
4530: 63 64 22 3e 5c 5c 3c 2f 66 6f 6e 74 3e 3c 66 6f  cd">\\</font><fo
4540: 6e 74 20 63 6f 6c 6f 72 3d 22 23 66 66 30 30 66  nt color="#ff00f
4550: 66 22 3e 31 21 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  f">1!</font><fon
4560: 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61  t color="#a52a2a
4570: 22 3e 3c 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c  "><b>&quot;</b><
4580: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
4590: 72 3d 22 23 36 61 35 61 63 64 22 3e 60 3c 2f 66  r="#6a5acd">`</f
45a0: 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20  ont><br>..<font 
45b0: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
45c0: 35 32 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  52 </font><font 
45d0: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
45e0: 3c 62 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b 3a  <b>&nbsp;&nbsp;:
45f0: 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70  </b></font>&nbsp
4600: 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61  ;<font color="#a
4610: 30 32 30 66 30 22 3e 24 7b 3c 2f 66 6f 6e 74 3e  020f0">${</font>
4620: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 30  <font color="#a0
4630: 32 30 66 30 22 3e 50 41 54 48 5f 49 4e 46 4f 3c  20f0">PATH_INFO<
4640: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
4650: 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 3a  r="#a52a2a"><b>:
4660: 3d 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  =</b></font><fon
4670: 74 20 63 6f 6c 6f 72 3d 22 23 66 66 30 30 66 66  t color="#ff00ff
4680: 22 3e 2f 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  ">/</font><font 
4690: 63 6f 6c 6f 72 3d 22 23 61 30 32 30 66 30 22 3e  color="#a020f0">
46a0: 7d 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66  }</font><br>..<f
46b0: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61  ont color="#a52a
46c0: 32 61 22 3e 35 33 20 3c 2f 66 6f 6e 74 3e 26 6e  2a">53 </font>&n
46d0: 62 73 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74 20  bsp;&nbsp;<font 
46e0: 63 6f 6c 6f 72 3d 22 23 30 30 38 62 38 62 22 3e  color="#008b8b">
46f0: 53 43 52 49 50 54 5f 4e 41 4d 45 3c 2f 66 6f 6e  SCRIPT_NAME</fon
4700: 74 3e 3d 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  t>=<font color="
4710: 23 61 30 32 30 66 30 22 3e 24 53 43 52 49 50 54  #a020f0">$SCRIPT
4720: 5f 4e 41 4d 45 3c 2f 66 6f 6e 74 3e 2f 3c 66 6f  _NAME</font>/<fo
4730: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 30 32 30 66  nt color="#a020f
4740: 30 22 3e 24 70 72 6f 6a 65 63 74 3c 2f 66 6f 6e  0">$project</fon
4750: 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f  t><br>..<font co
4760: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 35 34  lor="#a52a2a">54
4770: 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e   </font>&nbsp;&n
4780: 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  bsp;<font color=
4790: 22 23 30 30 38 62 38 62 22 3e 54 45 4d 50 46 49  "#008b8b">TEMPFI
47a0: 4c 45 3c 2f 66 6f 6e 74 3e 3d 3c 66 6f 6e 74 20  LE</font>=<font 
47b0: 63 6f 6c 6f 72 3d 22 23 36 61 35 61 63 64 22 3e  color="#6a5acd">
47c0: 60 6d 6b 74 65 6d 70 20 2f 74 6d 70 2f 66 6f 73  `mktemp /tmp/fos
47d0: 73 69 6c 2d 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74  sil-</font><font
47e0: 20 63 6f 6c 6f 72 3d 22 23 61 30 32 30 66 30 22   color="#a020f0"
47f0: 3e 24 70 72 6f 6a 65 63 74 3c 2f 66 6f 6e 74 3e  >$project</font>
4800: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 36 61  <font color="#6a
4810: 35 61 63 64 22 3e 2e 58 58 58 58 58 58 60 3c 2f  5acd">.XXXXXX`</
4820: 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74  font>&nbsp;<font
4830: 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22   color="#a52a2a"
4840: 3e 3c 62 3e 7c 7c 3c 2f 62 3e 3c 2f 66 6f 6e 74  ><b>||</b></font
4850: 3e 26 6e 62 73 70 3b 45 72 72 6f 72 20 3c 66 6f  >&nbsp;Error <fo
4860: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
4870: 61 22 3e 3c 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e  a"><b>&quot;</b>
4880: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
4890: 6f 72 3d 22 23 66 66 30 30 66 66 22 3e 43 6f 75  or="#ff00ff">Cou
48a0: 6c 64 6e 27 74 20 63 72 65 61 74 65 20 74 65 6d  ldn't create tem
48b0: 70 66 69 6c 65 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  pfile</font><fon
48c0: 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61  t color="#a52a2a
48d0: 22 3e 3c 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c  "><b>&quot;</b><
48e0: 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e  /font><br>..<fon
48f0: 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61  t color="#a52a2a
4900: 22 3e 35 35 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73  ">55 </font>&nbs
4910: 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f  p;&nbsp;<font co
4920: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62  lor="#a52a2a"><b
4930: 3e 74 72 61 70 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e  >trap</b></font>
4940: 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f  &nbsp;<font colo
4950: 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 26  r="#a52a2a"><b>&
4960: 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e  quot;</b></font>
4970: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 66 66  <font color="#ff
4980: 30 30 66 66 22 3e 72 6d 20 2d 66 20 3c 2f 66 6f  00ff">rm -f </fo
4990: 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  nt><font color="
49a0: 23 61 30 32 30 66 30 22 3e 24 54 45 4d 50 46 49  #a020f0">$TEMPFI
49b0: 4c 45 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63  LE</font><font c
49c0: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c  olor="#a52a2a"><
49d0: 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f  b>&quot;</b></fo
49e0: 6e 74 3e 26 6e 62 73 70 3b 45 58 49 54 20 51 55  nt>&nbsp;EXIT QU
49f0: 49 54 20 49 4e 54 20 54 45 52 4d 3c 62 72 3e 0d  IT INT TERM<br>.
4a00: 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61  .<font color="#a
4a10: 35 32 61 32 61 22 3e 35 36 20 3c 2f 66 6f 6e 74  52a2a">56 </font
4a20: 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b 3c 66 6f  >&nbsp;&nbsp;<fo
4a30: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
4a40: 61 22 3e 3c 62 3e 65 63 68 6f 3c 2f 62 3e 3c 2f  a"><b>echo</b></
4a50: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
4a60: 3d 22 23 66 66 30 30 66 66 22 3e 26 6e 62 73 70  ="#ff00ff">&nbsp
4a70: 3b 72 65 70 6f 73 69 74 6f 72 79 3a 20 3c 2f 66  ;repository: </f
4a80: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
4a90: 22 23 61 30 32 30 66 30 22 3e 24 72 65 70 6f 73  "#a020f0">$repos
4aa0: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
4ab0: 6f 72 3d 22 23 66 66 30 30 66 66 22 3e 26 6e 62  or="#ff00ff">&nb
4ac0: 73 70 3b 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  sp;</font><font 
4ad0: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
4ae0: 3c 62 3e 26 67 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e  <b>&gt;</b></fon
4af0: 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f  t>&nbsp;<font co
4b00: 6c 6f 72 3d 22 23 61 30 32 30 66 30 22 3e 24 54  lor="#a020f0">$T
4b10: 45 4d 50 46 49 4c 45 3c 2f 66 6f 6e 74 3e 3c 62  EMPFILE</font><b
4b20: 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  r>..<font color=
4b30: 22 23 61 35 32 61 32 61 22 3e 35 37 20 3c 2f 66  "#a52a2a">57 </f
4b40: 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b  ont>&nbsp;&nbsp;
4b50: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 30  <font color="#a0
4b60: 32 30 66 30 22 3e 24 46 4f 53 53 49 4c 3c 2f 66  20f0">$FOSSIL</f
4b70: 6f 6e 74 3e 26 6e 62 73 70 3b 63 67 69 20 3c 66  ont>&nbsp;cgi <f
4b80: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 30 32 30  ont color="#a020
4b90: 66 30 22 3e 24 54 45 4d 50 46 49 4c 45 3c 2f 66  f0">$TEMPFILE</f
4ba0: 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20  ont><br>..<font 
4bb0: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
4bc0: 35 38 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  58 </font><font 
4bd0: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
4be0: 3c 62 3e 65 6c 69 66 3c 2f 62 3e 3c 2f 66 6f 6e  <b>elif</b></fon
4bf0: 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f  t>&nbsp;<font co
4c00: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62  lor="#a52a2a"><b
4c10: 3e 5b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 26 6e 62  >[</b></font>&nb
4c20: 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  sp;<font color="
4c30: 23 61 35 32 61 32 61 22 3e 3c 62 3e 2d 7a 3c 2f  #a52a2a"><b>-z</
4c40: 62 3e 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c  b></font>&nbsp;<
4c50: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32  font color="#a52
4c60: 61 32 61 22 3e 3c 62 3e 26 71 75 6f 74 3b 3c 2f  a2a"><b>&quot;</
4c70: 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63  b></font><font c
4c80: 6f 6c 6f 72 3d 22 23 61 30 32 30 66 30 22 3e 24  olor="#a020f0">$
4c90: 70 72 6f 6a 65 63 74 3c 2f 66 6f 6e 74 3e 3c 66  project</font><f
4ca0: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61  ont color="#a52a
4cb0: 32 61 22 3e 3c 62 3e 26 71 75 6f 74 3b 3c 2f 62  2a"><b>&quot;</b
4cc0: 3e 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66  ></font>&nbsp;<f
4cd0: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61  ont color="#a52a
4ce0: 32 61 22 3e 3c 62 3e 5d 3c 2f 62 3e 3c 2f 66 6f  2a"><b>]</b></fo
4cf0: 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  nt><font color="
4d00: 23 61 35 32 61 32 61 22 3e 3c 62 3e 3b 3c 2f 62  #a52a2a"><b>;</b
4d10: 3e 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66  ></font>&nbsp;<f
4d20: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61  ont color="#a52a
4d30: 32 61 22 3e 3c 62 3e 74 68 65 6e 3c 2f 62 3e 3c  2a"><b>then</b><
4d40: 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e  /font><br>..<fon
4d50: 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61  t color="#a52a2a
4d60: 22 3e 35 39 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73  ">59 </font>&nbs
4d70: 70 3b 26 6e 62 73 70 3b 48 65 61 64 65 72 48 54  p;&nbsp;HeaderHT
4d80: 4d 4c 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f  ML<br>..<font co
4d90: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 36 30  lor="#a52a2a">60
4da0: 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e   </font>&nbsp;&n
4db0: 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  bsp;<font color=
4dc0: 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 65 63 68  "#a52a2a"><b>ech
4dd0: 6f 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  o</b></font><fon
4de0: 74 20 63 6f 6c 6f 72 3d 22 23 66 66 30 30 66 66  t color="#ff00ff
4df0: 22 3e 26 6e 62 73 70 3b 3c 2f 66 6f 6e 74 3e 3c  ">&nbsp;</font><
4e00: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32  font color="#a52
4e10: 61 32 61 22 3e 3c 62 3e 26 71 75 6f 74 3b 3c 2f  a2a"><b>&quot;</
4e20: 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63  b></font><font c
4e30: 6f 6c 6f 72 3d 22 23 61 30 32 30 66 30 22 3e 24  olor="#a020f0">$
4e40: 54 49 54 4c 45 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e  TITLE</font><fon
4e50: 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61  t color="#a52a2a
4e60: 22 3e 3c 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c  "><b>&quot;</b><
4e70: 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e  /font><br>..<fon
4e80: 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61  t color="#a52a2a
4e90: 22 3e 36 31 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73  ">61 </font>&nbs
4ea0: 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f  p;&nbsp;<font co
4eb0: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62  lor="#a52a2a"><b
4ec0: 3e 65 63 68 6f 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e  >echo</b></font>
4ed0: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 66 66  <font color="#ff
4ee0: 30 30 66 66 22 3e 26 6e 62 73 70 3b 3c 2f 66 6f  00ff">&nbsp;</fo
4ef0: 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  nt><font color="
4f00: 23 61 35 32 61 32 61 22 3e 3c 62 3e 26 71 75 6f  #a52a2a"><b>&quo
4f10: 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f  t;</b></font><fo
4f20: 6e 74 20 63 6f 6c 6f 72 3d 22 23 66 66 30 30 66  nt color="#ff00f
4f30: 66 22 3e 26 6c 74 3b 75 6c 26 67 74 3b 3c 2f 66  f">&lt;ul&gt;</f
4f40: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
4f50: 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 26 71 75  "#a52a2a"><b>&qu
4f60: 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 62  ot;</b></font><b
4f70: 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  r>..<font color=
4f80: 22 23 61 35 32 61 32 61 22 3e 36 32 20 3c 2f 66  "#a52a2a">62 </f
4f90: 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b  ont>&nbsp;&nbsp;
4fa0: 66 69 6e 64 20 3c 66 6f 6e 74 20 63 6f 6c 6f 72  find <font color
4fb0: 3d 22 23 61 30 32 30 66 30 22 3e 24 52 45 50 4f  ="#a020f0">$REPO
4fc0: 53 52 4f 4f 54 3c 2f 66 6f 6e 74 3e 26 6e 62 73  SROOT</font>&nbs
4fd0: 70 3b 2d 6e 61 6d 65 20 3c 66 6f 6e 74 20 63 6f  p;-name <font co
4fe0: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62  lor="#a52a2a"><b
4ff0: 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e  >&quot;</b></fon
5000: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
5010: 66 66 30 30 66 66 22 3e 2a 3c 2f 66 6f 6e 74 3e  ff00ff">*</font>
5020: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 30  <font color="#a0
5030: 32 30 66 30 22 3e 24 52 45 50 4f 53 45 58 54 3c  20f0">$REPOSEXT<
5040: 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f  /font><font colo
5050: 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 26  r="#a52a2a"><b>&
5060: 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e  quot;</b></font>
5070: 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f  &nbsp;<font colo
5080: 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e 7c  r="#a52a2a"><b>|
5090: 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70  </b></font>&nbsp
50a0: 3b 5c 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f  ;\<br>..<font co
50b0: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 36 33  lor="#a52a2a">63
50c0: 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e   </font>&nbsp;&n
50d0: 62 73 70 3b 77 68 69 6c 65 20 3c 66 6f 6e 74 20  bsp;while <font 
50e0: 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e  color="#a52a2a">
50f0: 3c 62 3e 72 65 61 64 3c 2f 62 3e 3c 2f 66 6f 6e  <b>read</b></fon
5100: 74 3e 26 6e 62 73 70 3b 72 65 70 6f 73 3c 66 6f  t>&nbsp;repos<fo
5110: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
5120: 61 22 3e 3c 62 3e 3b 3c 2f 62 3e 3c 2f 66 6f 6e  a"><b>;</b></fon
5130: 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f  t>&nbsp;<font co
5140: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62  lor="#a52a2a"><b
5150: 3e 64 6f 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 62  >do</b></font><b
5160: 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  r>..<font color=
5170: 22 23 61 35 32 61 32 61 22 3e 36 34 20 3c 2f 66  "#a52a2a">64 </f
5180: 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b  ont>&nbsp;&nbsp;
5190: 26 6e 62 73 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e  &nbsp;&nbsp;<fon
51a0: 74 20 63 6f 6c 6f 72 3d 22 23 30 30 38 62 38 62  t color="#008b8b
51b0: 22 3e 70 72 6f 6a 65 63 74 3c 2f 66 6f 6e 74 3e  ">project</font>
51c0: 3d 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 36  =<font color="#6
51d0: 61 35 61 63 64 22 3e 60 62 61 73 65 6e 61 6d 65  a5acd">`basename
51e0: 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f   </font><font co
51f0: 6c 6f 72 3d 22 23 61 30 32 30 66 30 22 3e 24 72  lor="#a020f0">$r
5200: 65 70 6f 73 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74  epos</font><font
5210: 20 63 6f 6c 6f 72 3d 22 23 36 61 35 61 63 64 22   color="#6a5acd"
5220: 3e 26 6e 62 73 70 3b 3c 2f 66 6f 6e 74 3e 3c 66  >&nbsp;</font><f
5230: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 30 32 30  ont color="#a020
5240: 66 30 22 3e 24 52 45 50 4f 53 45 58 54 3c 2f 66  f0">$REPOSEXT</f
5250: 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  ont><font color=
5260: 22 23 36 61 35 61 63 64 22 3e 60 3c 2f 66 6f 6e  "#6a5acd">`</fon
5270: 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f  t><br>..<font co
5280: 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 36 35  lor="#a52a2a">65
5290: 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e   </font>&nbsp;&n
52a0: 62 73 70 3b 26 6e 62 73 70 3b 26 6e 62 73 70 3b  bsp;&nbsp;&nbsp;
52b0: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35  <font color="#a5
52c0: 32 61 32 61 22 3e 3c 62 3e 69 66 20 3c 2f 62 3e  2a2a"><b>if </b>
52d0: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
52e0: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e  or="#a52a2a"><b>
52f0: 5b 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 26 6e 62 73  [</b></font>&nbs
5300: 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  p;<font color="#
5310: 61 35 32 61 32 61 22 3e 3c 62 3e 2d 66 3c 2f 62  a52a2a"><b>-f</b
5320: 3e 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66  ></font>&nbsp;<f
5330: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 30 32 30  ont color="#a020
5340: 66 30 22 3e 24 72 65 70 6f 73 3c 2f 66 6f 6e 74  f0">$repos</font
5350: 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c  >&nbsp;<font col
5360: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c 62 3e  or="#a52a2a"><b>
5370: 2d 61 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 26 6e 62  -a</b></font>&nb
5380: 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  sp;<font color="
5390: 23 61 35 32 61 32 61 22 3e 3c 62 3e 21 3c 2f 62  #a52a2a"><b>!</b
53a0: 3e 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66  ></font>&nbsp;<f
53b0: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61  ont color="#a52a
53c0: 32 61 22 3e 3c 62 3e 2d 65 3c 2f 62 3e 3c 2f 66  2a"><b>-e</b></f
53d0: 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f 6e 74 20  ont>&nbsp;<font 
53e0: 63 6f 6c 6f 72 3d 22 23 61 30 32 30 66 30 22 3e  color="#a020f0">
53f0: 24 52 45 50 4f 53 52 4f 4f 54 3c 2f 66 6f 6e 74  $REPOSROOT</font
5400: 3e 2f 2e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  >/.<font color="
5410: 23 61 30 32 30 66 30 22 3e 24 70 72 6f 6a 65 63  #a020f0">$projec
5420: 74 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66  t</font>&nbsp;<f
5430: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61  ont color="#a52a
5440: 32 61 22 3e 3c 62 3e 5d 3c 2f 62 3e 3c 2f 66 6f  2a"><b>]</b></fo
5450: 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  nt><font color="
5460: 23 61 35 32 61 32 61 22 3e 3c 62 3e 3b 3c 2f 62  #a52a2a"><b>;</b
5470: 3e 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66  ></font>&nbsp;<f
5480: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61  ont color="#a52a
5490: 32 61 22 3e 3c 62 3e 74 68 65 6e 3c 2f 62 3e 3c  2a"><b>then</b><
54a0: 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e  /font><br>..<fon
54b0: 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61  t color="#a52a2a
54c0: 22 3e 36 36 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73  ">66 </font>&nbs
54d0: 70 3b 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e  p;&nbsp;&nbsp;&n
54e0: 62 73 70 3b 26 6e 62 73 70 3b 26 6e 62 73 70 3b  bsp;&nbsp;&nbsp;
54f0: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35  <font color="#a5
5500: 32 61 32 61 22 3e 3c 62 3e 65 63 68 6f 3c 2f 62  2a2a"><b>echo</b
5510: 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f  ></font><font co
5520: 6c 6f 72 3d 22 23 66 66 30 30 66 66 22 3e 26 6e  lor="#ff00ff">&n
5530: 62 73 70 3b 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74  bsp;</font><font
5540: 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22   color="#a52a2a"
5550: 3e 3c 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f  ><b>&quot;</b></
5560: 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72  font><font color
5570: 3d 22 23 66 66 30 30 66 66 22 3e 26 6c 74 3b 6c  ="#ff00ff">&lt;l
5580: 69 26 67 74 3b 26 6c 74 3b 61 20 68 72 65 66 3d  i&gt;&lt;a href=
5590: 27 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f  '</font><font co
55a0: 6c 6f 72 3d 22 23 61 30 32 30 66 30 22 3e 24 7b  lor="#a020f0">${
55b0: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
55c0: 6f 72 3d 22 23 61 30 32 30 66 30 22 3e 52 45 51  or="#a020f0">REQ
55d0: 55 45 53 54 5f 55 52 49 3c 2f 66 6f 6e 74 3e 3c  UEST_URI</font><
55e0: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 30 32  font color="#a02
55f0: 30 66 30 22 3e 7d 3c 2f 66 6f 6e 74 3e 3c 66 6f  0f0">}</font><fo
5600: 6e 74 20 63 6f 6c 6f 72 3d 22 23 66 66 30 30 66  nt color="#ff00f
5610: 66 22 3e 2f 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74  f">/</font><font
5620: 20 63 6f 6c 6f 72 3d 22 23 61 30 32 30 66 30 22   color="#a020f0"
5630: 3e 24 70 72 6f 6a 65 63 74 3c 2f 66 6f 6e 74 3e  >$project</font>
5640: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 66 66  <font color="#ff
5650: 30 30 66 66 22 3e 27 26 67 74 3b 3c 2f 66 6f 6e  00ff">'&gt;</fon
5660: 74 3e 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23  t><font color="#
5670: 61 30 32 30 66 30 22 3e 24 70 72 6f 6a 65 63 74  a020f0">$project
5680: 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f 6c  </font><font col
5690: 6f 72 3d 22 23 66 66 30 30 66 66 22 3e 26 6c 74  or="#ff00ff">&lt
56a0: 3b 2f 61 26 67 74 3b 26 6c 74 3b 2f 6c 69 26 67  ;/a&gt;&lt;/li&g
56b0: 74 3b 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63  t;</font><font c
56c0: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c  olor="#a52a2a"><
56d0: 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e 3c 2f 66 6f  b>&quot;</b></fo
56e0: 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63  nt><br>..<font c
56f0: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 36  olor="#a52a2a">6
5700: 37 20 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26  7 </font>&nbsp;&
5710: 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e 62 73 70  nbsp;&nbsp;&nbsp
5720: 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61  ;<font color="#a
5730: 35 32 61 32 61 22 3e 3c 62 3e 66 69 3c 2f 62 3e  52a2a"><b>fi</b>
5740: 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f  </font><br>..<fo
5750: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
5760: 61 22 3e 36 38 20 3c 2f 66 6f 6e 74 3e 26 6e 62  a">68 </font>&nb
5770: 73 70 3b 26 6e 62 73 70 3b 3c 66 6f 6e 74 20 63  sp;&nbsp;<font c
5780: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 3c  olor="#a52a2a"><
5790: 62 3e 64 6f 6e 65 3c 2f 62 3e 3c 2f 66 6f 6e 74  b>done</b></font
57a0: 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63 6f 6c  ><br>..<font col
57b0: 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 36 39 20  or="#a52a2a">69 
57c0: 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 26 6e 62  </font>&nbsp;&nb
57d0: 73 70 3b 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22  sp;<font color="
57e0: 23 61 35 32 61 32 61 22 3e 3c 62 3e 65 63 68 6f  #a52a2a"><b>echo
57f0: 3c 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74  </b></font><font
5800: 20 63 6f 6c 6f 72 3d 22 23 66 66 30 30 66 66 22   color="#ff00ff"
5810: 3e 26 6e 62 73 70 3b 3c 2f 66 6f 6e 74 3e 3c 66  >&nbsp;</font><f
5820: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61  ont color="#a52a
5830: 32 61 22 3e 3c 62 3e 26 71 75 6f 74 3b 3c 2f 62  2a"><b>&quot;</b
5840: 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f  ></font><font co
5850: 6c 6f 72 3d 22 23 66 66 30 30 66 66 22 3e 26 6c  lor="#ff00ff">&l
5860: 74 3b 2f 75 6c 26 67 74 3b 3c 2f 66 6f 6e 74 3e  t;/ul&gt;</font>
5870: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35  <font color="#a5
5880: 32 61 32 61 22 3e 3c 62 3e 26 71 75 6f 74 3b 3c  2a2a"><b>&quot;<
5890: 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a  /b></font><br>..
58a0: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35  <font color="#a5
58b0: 32 61 32 61 22 3e 37 30 20 3c 2f 66 6f 6e 74 3e  2a2a">70 </font>
58c0: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35  <font color="#a5
58d0: 32 61 32 61 22 3e 3c 62 3e 65 6c 73 65 3c 2f 62  2a2a"><b>else</b
58e0: 3e 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66  ></font><br>..<f
58f0: 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61  ont color="#a52a
5900: 32 61 22 3e 37 31 20 3c 2f 66 6f 6e 74 3e 26 6e  2a">71 </font>&n
5910: 62 73 70 3b 26 6e 62 73 70 3b 45 72 72 6f 72 20  bsp;&nbsp;Error 
5920: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35  <font color="#a5
5930: 32 61 32 61 22 3e 3c 62 3e 26 71 75 6f 74 3b 3c  2a2a"><b>&quot;<
5940: 2f 62 3e 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20  /b></font><font 
5950: 63 6f 6c 6f 72 3d 22 23 66 66 30 30 66 66 22 3e  color="#ff00ff">
5960: 4e 6f 20 73 75 63 68 20 70 72 6f 6a 65 63 74 3a  No such project:
5970: 20 3c 2f 66 6f 6e 74 3e 3c 66 6f 6e 74 20 63 6f   </font><font co
5980: 6c 6f 72 3d 22 23 61 30 32 30 66 30 22 3e 24 70  lor="#a020f0">$p
5990: 72 6f 6a 65 63 74 3c 2f 66 6f 6e 74 3e 3c 66 6f  roject</font><fo
59a0: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
59b0: 61 22 3e 3c 62 3e 26 71 75 6f 74 3b 3c 2f 62 3e  a"><b>&quot;</b>
59c0: 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f  </font><br>..<fo
59d0: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
59e0: 61 22 3e 37 32 20 3c 2f 66 6f 6e 74 3e 3c 66 6f  a">72 </font><fo
59f0: 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32 61 32  nt color="#a52a2
5a00: 61 22 3e 3c 62 3e 66 69 3c 2f 62 3e 3c 2f 66 6f  a"><b>fi</b></fo
5a10: 6e 74 3e 3c 62 72 3e 0d 0a 3c 66 6f 6e 74 20 63  nt><br>..<font c
5a20: 6f 6c 6f 72 3d 22 23 61 35 32 61 32 61 22 3e 37  olor="#a52a2a">7
5a30: 33 20 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d 0a 3c  3 </font><br>..<
5a40: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32  font color="#a52
5a50: 61 32 61 22 3e 37 34 20 3c 2f 66 6f 6e 74 3e 3c  a2a">74 </font><
5a60: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 23 61 35 32  font color="#a52
5a70: 61 32 61 22 3e 3c 62 3e 65 78 69 74 3c 2f 62 3e  a2a"><b>exit</b>
5a80: 3c 2f 66 6f 6e 74 3e 26 6e 62 73 70 3b 3c 66 6f  </font>&nbsp;<fo
5a90: 6e 74 20 63 6f 6c 6f 72 3d 22 23 66 66 30 30 66  nt color="#ff00f
5aa0: 66 22 3e 30 3c 2f 66 6f 6e 74 3e 3c 62 72 3e 0d  f">0</font><br>.
5ab0: 0a 3c 2f 66 6f 6e 74 3e 0d 0a 3c 2f 6e 6f 77 69  .</font>..</nowi
5ac0: 6b 69 3e 0d 0a 0d 0a 3c 68 34 3e 57 69 6e 64 6f  ki>....<h4>Windo
5ad0: 77 73 3c 2f 68 34 3e 0d 0a 3c 70 3e 57 68 69 6c  ws</h4>..<p>Whil
5ae0: 65 20 69 74 20 69 73 20 66 61 72 20 66 72 6f 6d  e it is far from
5af0: 20 61 20 70 65 72 66 65 63 74 20 73 65 74 20 6f   a perfect set o
5b00: 66 20 69 6e 73 74 72 75 63 74 69 6f 6e 73 2e 2e  f instructions..
5b10: 20 68 65 72 65 20 61 72 65 20 73 6f 6d 65 20 71   here are some q
5b20: 75 69 63 6b 20 6e 6f 74 65 73 20 74 68 61 74 20  uick notes that 
5b30: 73 68 6f 75 6c 64 20 68 65 6c 70 20 77 69 6e 64  should help wind
5b40: 6f 77 73 20 75 73 65 72 73 20 61 6c 6f 6e 67 20  ows users along 
5b50: 74 68 65 20 77 61 79 2e 2e 2e 3c 2f 70 3e 0d 0a  the way...</p>..
5b60: 3c 75 6c 3e 0d 0a 3c 6c 69 3e 79 6f 75 20 6e 65  <ul>..<li>you ne
5b70: 65 64 20 66 6f 73 73 69 6c 2e 65 78 65 20 61 63  ed fossil.exe ac
5b80: 63 65 73 73 69 62 6c 65 20 62 79 20 79 6f 75 72  cessible by your
5b90: 20 77 65 62 20 73 65 72 76 65 72 20 6f 72 20 6f   web server or o
5ba0: 6e 20 79 6f 75 72 20 70 61 74 68 2e 2e 20 65 61  n your path.. ea
5bb0: 73 69 65 73 74 20 69 73 20 74 6f 20 6a 75 73 74  siest is to just
5bc0: 20 63 68 75 63 6b 20 69 74 20 69 6e 20 5c 25 53   chuck it in \%S
5bd0: 59 53 54 45 4d 5f 52 4f 4f 54 25 5c 20 28 75 73  YSTEM_ROOT%\ (us
5be0: 75 61 6c 6c 79 20 63 3a 5c 77 69 6e 64 6f 77 73  ually c:\windows
5bf0: 5c 29 20 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 61 73  \) </li>..<li>as
5c00: 73 75 6d 69 6e 67 20 79 6f 75 20 61 72 65 20 72  suming you are r
5c10: 75 6e 6e 69 6e 67 20 61 70 61 63 68 65 2c 20 79  unning apache, y
5c20: 6f 75 20 6e 65 65 64 20 74 6f 20 65 69 74 68 65  ou need to eithe
5c30: 72 20 61 64 64 20 74 68 65 20 45 78 65 63 43 47  r add the ExecCG
5c40: 49 20 74 6f 20 74 68 65 20 6f 70 74 69 6f 6e 73  I to the options
5c50: 20 6f 6e 20 79 6f 75 72 20 44 6f 63 75 6d 65 6e   on your Documen
5c60: 74 52 6f 6f 74 2c 20 6f 72 20 6d 61 6b 65 20 73  tRoot, or make s
5c70: 75 72 65 20 74 68 65 20 53 63 72 69 70 74 41 6c  ure the ScriptAl
5c80: 69 61 73 20 64 69 72 65 63 74 69 76 65 20 69 73  ias directive is
5c90: 20 73 65 74 20 61 6e 64 20 70 75 74 20 79 6f 75   set and put you
5ca0: 72 20 2e 63 67 69 20 66 69 6c 65 73 20 69 6e 20  r .cgi files in 
5cb0: 74 68 61 74 20 66 6f 6c 64 65 72 2e 2e 3c 2f 6c  that folder..</l
5cc0: 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 63 6f 6e 74  i>..<li>the cont
5cd0: 65 6e 74 73 20 6f 66 20 79 6f 75 72 20 63 67 69  ents of your cgi
5ce0: 20 66 69 6c 65 20 6e 65 65 64 73 20 74 6f 20 65   file needs to e
5cf0: 73 73 65 6e 74 69 61 6c 6c 79 20 74 68 65 20 73  ssentially the s
5d00: 61 6d 65 20 61 73 20 61 62 6f 76 65 2e 2e 20 68  ame as above.. h
5d10: 6f 77 65 76 65 72 20 70 61 74 68 73 20 6e 65 65  owever paths nee
5d20: 64 73 20 74 6f 20 62 65 20 77 69 6e 64 6f 77 73  ds to be windows
5d30: 20 66 72 69 65 6e 64 6c 79 2e 2e 20 69 20 68 61   friendly.. i ha
5d40: 76 65 20 6d 61 64 65 20 73 75 72 65 20 74 68 61  ve made sure tha
5d50: 74 20 61 6c 6c 20 66 6f 6c 64 65 72 73 20 6f 6e  t all folders on
5d60: 20 6d 79 20 74 65 73 74 20 62 6f 78 20 61 72 65   my test box are
5d70: 20 66 72 65 65 20 6f 66 20 73 70 61 63 65 73 2c   free of spaces,
5d80: 20 61 6e 64 20 61 73 20 73 75 63 68 20 74 68 69   and as such thi
5d90: 73 20 66 69 6c 65 20 77 6f 72 6b 73 20 66 6f 72  s file works for
5da0: 20 6d 65 20 28 6f 62 76 69 6f 75 73 6c 79 20 79   me (obviously y
5db0: 6f 75 72 20 70 61 74 68 73 20 6d 61 79 20 64 69  our paths may di
5dc0: 66 66 65 72 29 0d 0a 3c 70 72 65 3e 0d 0a 23 21  ffer)..<pre>..#!
5dd0: 20 66 6f 73 73 69 6c 2e 65 78 65 0d 0a 72 65 70   fossil.exe..rep
5de0: 6f 73 69 74 6f 72 79 3a 20 63 3a 2f 77 61 6d 70  ository: c:/wamp
5df0: 2f 77 77 77 2f 64 65 76 2f 61 63 63 6f 75 6e 74  /www/dev/account
5e00: 73 2e 66 6f 73 73 69 6c 0d 0a 3c 2f 70 72 65 3e  s.fossil..</pre>
5e10: 0d 0a 49 20 73 75 70 70 6f 73 65 20 79 6f 75 20  ..I suppose you 
5e20: 63 6f 75 6c 64 20 70 75 74 20 66 6f 73 73 69 6c  could put fossil
5e30: 2e 65 78 65 20 73 6f 6d 65 77 68 65 72 65 20 6d  .exe somewhere m
5e40: 6f 72 65 20 73 70 65 63 69 66 69 63 20 61 6e 64  ore specific and
5e50: 20 73 65 74 20 74 68 65 20 70 61 74 68 20 74 6f   set the path to
5e60: 20 69 74 20 61 73 20 77 65 6c 6c 2c 20 62 75 74   it as well, but
5e70: 20 73 69 6e 63 65 20 79 6f 75 20 61 72 65 20 70   since you are p
5e80: 72 6f 62 61 62 6c 79 20 75 73 69 6e 67 20 74 68  robably using th
5e90: 65 20 73 61 6d 65 20 65 78 65 63 75 74 61 62 6c  e same executabl
5ea0: 65 20 66 6f 72 20 63 6d 64 6c 69 6e 65 20 61 6e  e for cmdline an
5eb0: 64 20 63 67 69 20 69 74 20 6b 69 6e 64 20 6f 66  d cgi it kind of
5ec0: 20 6a 75 73 74 20 6d 61 6b 65 73 20 73 65 6e 73   just makes sens
5ed0: 65 20 74 6f 20 70 75 74 20 69 74 20 73 6f 6d 65  e to put it some
5ee0: 77 68 65 72 65 20 6d 6f 72 65 20 61 63 63 65 73  where more acces
5ef0: 73 69 62 6c 65 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  sible</li>..<li>
5f00: 41 73 20 77 69 74 68 20 6d 6f 73 74 20 57 69 6e  As with most Win
5f10: 64 6f 77 73 20 62 61 73 65 64 20 77 65 62 20 69  dows based web i
5f20: 6e 73 74 72 75 63 74 69 6f 6e 73 2c 20 70 65 72  nstructions, per
5f30: 6d 69 73 73 69 6f 6e 20 61 72 65 20 6e 6f 74 20  mission are not 
5f40: 61 73 20 69 6d 70 6f 72 74 61 6e 74 2c 20 68 6f  as important, ho
5f50: 77 65 76 65 72 20 61 74 20 74 68 65 20 6c 65 61  wever at the lea
5f60: 73 74 2c 20 79 6f 75 20 6e 65 65 64 20 74 6f 20  st, you need to 
5f70: 6d 61 6b 65 20 73 75 72 65 20 74 68 61 74 20 79  make sure that y
5f80: 6f 75 72 20 72 65 70 6f 73 69 74 6f 72 79 20 69  our repository i
5f90: 73 20 6e 6f 74 20 66 6c 61 67 67 65 64 20 72 65  s not flagged re
5fa0: 61 64 2d 6f 6e 6c 79 2c 20 61 73 20 79 6f 75 20  ad-only, as you 
5fb0: 77 69 6c 6c 20 65 6e 63 6f 75 6e 74 65 72 20 64  will encounter d
5fc0: 61 74 61 62 61 73 65 20 65 72 72 6f 72 73 20 69  atabase errors i
5fd0: 66 20 69 74 20 69 73 2e 3c 2f 6c 69 3e 0d 0a 3c  f it is.</li>..<
5fe0: 2f 75 6c 3e 0d 0a 0d 0a 3c 68 33 3e 44 69 73 63  /ul>....<h3>Disc
5ff0: 75 73 73 69 6f 6e 3c 2f 68 33 3e 0d 0a 55 73 69  ussion</h3>..Usi
6000: 6e 67 20 74 68 65 20 43 47 49 20 73 65 72 76 65  ng the CGI serve
6010: 72 20 69 73 20 74 68 65 20 62 65 73 74 20 73 6f  r is the best so
6020: 6c 75 74 69 6f 6e 20 63 6f 6d 62 69 6e 69 6e 67  lution combining
6030: 20 61 6e 20 65 78 69 73 74 69 6e 67 20 77 65 62   an existing web
6040: 20 69 6e 66 72 61 73 74 72 75 63 74 75 72 65 20   infrastructure 
6050: 61 6e 64 20 74 68 65 20 73 68 61 72 69 6e 67 20  and the sharing 
6060: 6f 66 20 6d 61 6e 79 20 3c 63 69 74 65 3e 46 6f  of many <cite>Fo
6070: 73 73 69 6c 3c 2f 63 69 74 65 3e 20 72 65 70 6f  ssil</cite> repo
6080: 73 69 74 6f 72 69 65 73 2e 20 20 55 6e 6c 69 6b  sitories.  Unlik
6090: 65 20 74 68 65 20 61 64 2d 68 6f 63 20 73 6f 6c  e the ad-hoc sol
60a0: 75 74 69 6f 6e 20 77 68 69 63 68 20 72 65 71 75  ution which requ
60b0: 69 72 65 73 2c 20 69 6e 20 65 66 66 65 63 74 2c  ires, in effect,
60c0: 20 61 20 73 65 70 61 72 61 74 65 20 70 6f 72 74   a separate port
60d0: 20 66 6f 72 20 65 61 63 68 20 73 69 6d 75 6c 74   for each simult
60e0: 61 6e 65 6f 75 73 6c 79 2d 73 68 61 72 65 64 20  aneously-shared 
60f0: 72 65 70 6f 73 69 74 6f 72 79 2c 20 61 6e 64 20  repository, and 
6100: 77 68 69 63 68 20 72 65 71 75 69 72 65 73 20 73  which requires s
6110: 65 76 65 72 61 6c 20 69 6e 73 74 61 6e 63 65 73  everal instances
6120: 20 6f 66 20 66 6f 73 73 69 6c 20 72 75 6e 6e 69   of fossil runni
6130: 6e 67 20 2d 2d 20 6f 6e 65 20 66 6f 72 20 65 61  ng -- one for ea
6140: 63 68 20 73 68 61 72 65 64 20 72 65 70 6f 73 69  ch shared reposi
6150: 74 6f 72 79 20 2d 2d 20 74 68 65 20 43 47 49 20  tory -- the CGI 
6160: 61 70 70 72 6f 61 63 68 20 75 73 65 73 20 55 52  approach uses UR
6170: 4c 73 20 74 6f 20 64 69 73 74 69 6e 67 75 69 73  Ls to distinguis
6180: 68 20 62 65 74 77 65 65 6e 20 72 65 70 6f 73 69  h between reposi
6190: 74 6f 72 69 65 73 20 61 6e 64 20 6f 6e 6c 79 20  tories and only 
61a0: 28 62 72 69 65 66 6c 79 29 20 72 75 6e 73 20 61  (briefly) runs a
61b0: 20 63 6f 70 79 20 6f 66 20 66 6f 73 73 69 6c 20   copy of fossil 
61c0: 77 68 65 6e 20 74 68 65 20 72 65 70 6f 73 69 74  when the reposit
61d0: 6f 72 79 20 69 73 20 61 63 74 75 61 6c 6c 79 20  ory is actually 
61e0: 61 63 63 65 73 73 65 64 2e 0d 0a 0d 0a 53 68 61  accessed.....Sha
61f0: 72 69 6e 67 20 72 65 70 6f 73 69 74 6f 72 69 65  ring repositorie
6200: 73 20 77 69 74 68 20 43 47 49 20 69 73 20 72 65  s with CGI is re
6210: 61 6c 6c 79 20 6f 6e 6c 79 20 77 6f 72 74 68 20  ally only worth 
6220: 74 68 65 20 65 66 66 6f 72 74 20 69 66 20 6d 6f  the effort if mo
6230: 72 65 20 74 68 61 6e 20 6f 6e 65 20 72 65 70 6f  re than one repo
6240: 73 69 74 6f 72 79 20 69 73 20 62 65 69 6e 67 20  sitory is being 
6250: 73 68 61 72 65 64 2c 20 68 6f 77 65 76 65 72 2e  shared, however.
6260: 20 20 57 69 74 68 20 6f 6e 6c 79 20 6f 6e 65 20    With only one 
6270: 62 65 69 6e 67 20 73 68 61 72 65 64 2c 20 3c 63  being shared, <c
6280: 6f 64 65 3e 66 6f 73 73 69 6c 20 73 65 72 76 65  ode>fossil serve
6290: 72 3c 2f 63 6f 64 65 3e 20 69 73 20 6c 69 6b 65  r</code> is like
62a0: 6c 79 20 6d 6f 72 65 20 74 68 61 6e 20 61 64 65  ly more than ade
62b0: 71 75 61 74 65 20 6f 72 20 74 68 65 20 75 73 65  quate or the use
62c0: 20 6f 66 20 28 78 29 69 6e 65 74 64 20 6d 61 79   of (x)inetd may
62d0: 20 62 65 20 69 6e 64 69 63 61 74 65 64 2e 20 20   be indicated.  
62e0: 49 66 2c 20 68 6f 77 65 76 65 72 2c 20 74 68 65  If, however, the
62f0: 72 65 20 69 73 20 61 6c 72 65 61 64 79 20 61 6e  re is already an
6300: 20 65 78 69 73 74 69 6e 67 20 77 65 62 20 69 6e   existing web in
6310: 66 72 61 73 74 72 75 63 74 75 72 65 20 69 6e 20  frastructure in 
6320: 70 6c 61 63 65 2c 20 43 47 49 20 73 74 69 6c 6c  place, CGI still
6330: 20 6d 61 79 20 62 65 20 70 72 65 66 65 72 72 65   may be preferre
6340: 64 20 69 66 20 6f 6e 6c 79 20 66 6f 72 20 63 6f  d if only for co
6350: 6e 73 69 73 74 65 6e 63 79 20 61 6e 64 20 6d 61  nsistency and ma
6360: 69 6e 74 61 69 6e 61 62 69 6c 69 74 79 20 6f 66  intainability of
6370: 20 74 68 65 20 73 79 73 74 65 6d 20 61 73 20 61   the system as a
6380: 20 77 68 6f 6c 65 2e 0d 0a 0d 0a 3c 68 32 3e 3c   whole.....<h2><
6390: 61 20 6e 61 6d 65 3d 22 65 6e 76 22 3e 55 73 69  a name="env">Usi
63a0: 6e 67 20 45 6e 76 69 72 6f 6e 6d 65 6e 74 20 76  ng Environment v
63b0: 61 72 69 61 62 6c 65 73 3c 2f 61 3e 3c 2f 68 32  ariables</a></h2
63c0: 3e 0d 0a 3c 68 33 3e 4d 6f 74 69 76 61 74 69 6f  >..<h3>Motivatio
63d0: 6e 3c 2f 68 33 3e 0d 0a 20 20 2a 20 20 57 61 6e  n</h3>..  *  Wan
63e0: 74 20 74 6f 20 75 73 65 20 61 20 64 69 66 66 65  t to use a diffe
63f0: 72 65 6e 74 20 65 64 69 74 6f 72 20 66 6f 72 20  rent editor for 
6400: 63 68 65 63 6b 69 6e 73 20 28 55 6e 69 78 2f 57  checkins (Unix/W
6410: 69 6e 64 6f 77 73 29 0d 0a 20 20 2a 20 20 55 73  indows)..  *  Us
6420: 65 20 61 20 70 72 6f 78 79 20 69 66 20 79 6f 75  e a proxy if you
6430: 20 61 72 65 20 62 65 68 69 6e 64 20 61 20 66 69   are behind a fi
6440: 72 65 77 61 6c 6c 0d 0a 0d 0a 3c 68 33 3e 53 6f  rewall....<h3>So
6450: 6c 75 74 69 6f 6e 3c 2f 68 33 3e 0d 0a 45 6e 76  lution</h3>..Env
6460: 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c  ironment variabl
6470: 65 73 20 61 72 65 20 75 73 65 64 20 74 6f 20 63  es are used to c
6480: 75 73 74 6f 6d 69 7a 65 20 73 6f 6d 65 20 70 72  ustomize some pr
6490: 6f 67 72 61 6d 6d 65 20 62 65 68 61 76 69 6f 75  ogramme behaviou
64a0: 72 2e 20 4f 6e 20 4c 69 6e 75 78 2f 55 6e 69 78  r. On Linux/Unix
64b0: 20 74 68 65 79 20 63 61 6e 20 62 65 20 73 65 74   they can be set
64c0: 20 69 6e 20 79 6f 75 20 7e 2f 2e 62 61 73 68 72   in you ~/.bashr
64d0: 63 20 6f 72 20 65 76 65 6e 20 6f 6e 20 63 6f 6d  c or even on com
64e0: 6d 61 6e 64 20 6c 69 6e 65 2e 20 4f 6e 20 57 69  mand line. On Wi
64f0: 6e 64 6f 77 73 20 74 68 65 79 20 63 61 6e 20 62  ndows they can b
6500: 65 20 73 65 74 20 69 6e 20 74 68 65 20 73 79 73  e set in the sys
6510: 74 65 6d 20 73 65 74 74 69 6e 67 73 2e 0d 0a 0d  tem settings....
6520: 0a 3c 63 69 74 65 3e 46 6f 73 73 69 6c 3c 2f 63  .<cite>Fossil</c
6530: 69 74 65 3e 20 63 68 65 63 6b 73 20 74 68 65 20  ite> checks the 
6540: 66 6f 6c 6c 6f 77 69 6e 67 20 65 6e 76 69 72 6f  following enviro
6550: 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 73 3a  nment variables:
6560: 0d 0a 20 20 2a 20 20 56 49 53 55 41 4c 2f 45 44  ..  *  VISUAL/ED
6570: 49 54 4f 52 0d 0a 20 20 2a 20 20 68 74 74 70 5f  ITOR..  *  http_
6580: 70 72 6f 78 79 0d 0a 20 20 2a 20 20 54 4d 50 5f  proxy..  *  TMP_
6590: 44 49 52 0d 0a 20 20 2a 20 20 47 41 54 45 57 41  DIR..  *  GATEWA
65a0: 59 5f 49 4e 54 45 52 46 41 43 45 0d 0a 20 20 2a  Y_INTERFACE..  *
65b0: 20 20 53 51 4c 49 54 45 5f 46 4f 52 43 45 5f 50    SQLITE_FORCE_P
65c0: 52 4f 58 59 5f 4c 4f 43 4b 49 4e 47 0d 0a 20 20  ROXY_LOCKING..  
65d0: 2a 20 20 55 53 45 52 0d 0a 20 20 2a 20 20 55 53  *  USER..  *  US
65e0: 45 52 4e 41 4d 45 0d 0a 0d 0a 3c 62 3e 56 49 53  ERNAME....<b>VIS
65f0: 55 41 4c 2f 45 44 49 54 4f 52 3c 2f 62 3e 20 63  UAL/EDITOR</b> c
6600: 6f 6e 74 61 69 6e 20 74 68 65 20 65 64 69 74 6f  ontain the edito
6610: 72 20 6f 66 20 79 6f 75 72 20 63 68 6f 69 63 65  r of your choice
6620: 20 74 68 61 74 20 69 73 20 75 73 65 64 20 74 6f   that is used to
6630: 20 77 72 69 74 65 20 74 68 65 20 63 6f 6d 6d 69   write the commi
6640: 74 20 66 69 6c 65 2e 0d 0a 0d 0a 3c 62 3e 54 4d  t file.....<b>TM
6650: 50 5f 44 49 52 3c 2f 62 3e 20 73 70 65 63 69 66  P_DIR</b> specif
6660: 69 65 73 20 74 68 65 20 64 69 72 65 63 74 6f 72  ies the director
6670: 79 20 66 6f 72 20 74 65 6d 70 6f 72 61 72 79 20  y for temporary 
6680: 66 69 6c 65 73 2e 0d 0a 0d 0a 3c 62 3e 47 41 54  files.....<b>GAT
6690: 45 57 41 59 5f 49 4e 54 45 52 46 41 43 45 3c 2f  EWAY_INTERFACE</
66a0: 62 3e 20 3f 3f 3f 0d 0a 0d 0a 3c 62 3e 53 51 4c  b> ???....<b>SQL
66b0: 49 54 45 5f 46 4f 52 43 45 5f 50 52 4f 58 59 5f  ITE_FORCE_PROXY_
66c0: 4c 4f 43 4b 49 4e 47 3c 2f 62 3e 20 3f 3f 3f 0d  LOCKING</b> ???.
66d0: 0a 0d 0a 3c 62 3e 55 53 45 52 3c 2f 62 3e 0d 0a  ...<b>USER</b>..
66e0: 0d 0a 3c 62 3e 55 53 45 52 4e 41 4d 45 3c 2f 62  ..<b>USERNAME</b
66f0: 3e 0d 0a 0d 0a 0d 0a 3c 68 32 3e 3c 61 20 6e 61  >......<h2><a na
6700: 6d 65 3d 22 63 73 73 22 3e 3c 2f 61 3e 45 78 61  me="css"></a>Exa
6710: 6d 70 6c 65 20 43 53 53 3c 2f 68 32 3e 0d 0a 3c  mple CSS</h2>..<
6720: 68 33 3e 4d 6f 74 69 76 61 74 69 6f 6e 3c 2f 68  h3>Motivation</h
6730: 33 3e 0d 0a 54 68 65 20 64 65 66 61 75 6c 74 20  3>..The default 
6740: 55 49 20 6d 61 79 20 6e 6f 74 20 62 65 20 73 74  UI may not be st
6750: 79 6c 69 73 68 20 69 6e 20 65 76 65 72 79 6f 6e  ylish in everyon
6760: 65 73 20 65 79 65 73 2e 0d 0a 49 74 20 69 73 20  es eyes...It is 
6770: 75 70 20 74 6f 20 79 6f 75 20 74 6f 20 63 68 61  up to you to cha
6780: 6e 67 65 20 69 74 2e 20 53 65 65 20 74 68 65 20  nge it. See the 
6790: 43 53 53 20 63 6f 64 65 20 62 65 6c 6f 77 20 66  CSS code below f
67a0: 72 6f 6d 20 74 68 69 73 20 73 69 74 65 20 5b 68  rom this site [h
67b0: 74 74 70 3a 2f 2f 66 6f 73 73 69 6c 2e 77 61 6e  ttp://fossil.wan
67c0: 64 65 72 69 6e 67 68 6f 72 73 65 2e 6e 65 74 2f  deringhorse.net/
67d0: 69 6e 64 65 78 2e 63 67 69 2f 69 6e 64 65 78 7c  index.cgi/index|
67e0: 57 61 6e 64 65 72 69 6e 67 20 48 6f 72 73 65 5d  Wandering Horse]
67f0: 0d 0a 0d 0a 3c 6e 6f 77 69 6b 69 3e 0d 0a 3c 70  ....<nowiki>..<p
6800: 72 65 3e 0d 0a 2f 2a 20 47 65 6e 65 72 61 6c 20  re>../* General 
6810: 73 65 74 74 69 6e 67 73 20 66 6f 72 20 74 68 65  settings for the
6820: 20 65 6e 74 69 72 65 20 70 61 67 65 20 2a 2f 0d   entire page */.
6830: 0a 62 6f 64 79 20 7b 0d 0a 20 20 6d 61 72 67 69  .body {..  margi
6840: 6e 3a 20 30 65 78 20 31 65 78 3b 0d 0a 20 20 70  n: 0ex 1ex;..  p
6850: 61 64 64 69 6e 67 3a 20 30 70 78 3b 0d 0a 20 20  adding: 0px;..  
6860: 62 61 63 6b 67 72 6f 75 6e 64 2d 63 6f 6c 6f 72  background-color
6870: 3a 20 77 68 69 74 65 3b 0d 0a 20 20 66 6f 6e 74  : white;..  font
6880: 2d 66 61 6d 69 6c 79 3a 20 22 73 61 6e 73 20 73  -family: "sans s
6890: 65 72 69 66 22 3b 0d 0a 7d 0d 0a 0d 0a 2f 2a 20  erif";..}..../* 
68a0: 4d 61 6b 65 20 74 68 65 20 6c 69 6e 6b 73 20 69  Make the links i
68b0: 6e 20 74 68 65 20 66 6f 6f 74 65 72 20 6c 65 73  n the footer les
68c0: 73 20 75 67 6c 79 2e 2e 2e 20 2a 2f 0d 0a 61 20  s ugly... */..a 
68d0: 7b 20 63 6f 6c 6f 72 3a 20 23 30 30 30 66 36 61  { color: #000f6a
68e0: 3b 20 7d 0d 0a 61 3a 6c 69 6e 6b 20 7b 20 63 6f  ; }..a:link { co
68f0: 6c 6f 72 3a 20 23 30 30 30 66 36 61 3b 20 7d 0d  lor: #000f6a; }.
6900: 0a 61 3a 76 69 73 69 74 65 64 20 7b 20 63 6f 6c  .a:visited { col
6910: 6f 72 3a 20 23 30 30 30 66 36 61 3b 20 7d 0d 0a  or: #000f6a; }..
6920: 61 3a 68 6f 76 65 72 20 7b 20 62 61 63 6b 67 72  a:hover { backgr
6930: 6f 75 6e 64 2d 63 6f 6c 6f 72 3a 20 23 65 33 65  ound-color: #e3e
6940: 33 65 33 3b 20 7d 0d 0a 0d 0a 0d 0a 68 72 20 7b  3e3; }......hr {
6950: 0d 0a 20 20 68 65 69 67 68 74 3a 20 33 70 78 3b  ..  height: 3px;
6960: 0d 0a 20 20 62 6f 72 64 65 72 2d 74 6f 70 3a 20  ..  border-top: 
6970: 6e 6f 6e 65 3b 20 2f 2a 31 70 78 20 64 61 73 68  none; /*1px dash
6980: 65 64 20 23 30 30 35 3b 2a 2f 0d 0a 20 20 62 6f  ed #005;*/..  bo
6990: 72 64 65 72 2d 62 6f 74 74 6f 6d 3a 20 31 70 78  rder-bottom: 1px
69a0: 20 64 61 73 68 65 64 20 23 30 30 35 3b 0d 0a 20   dashed #005;.. 
69b0: 20 62 6f 72 64 65 72 2d 6c 65 66 74 3a 20 6e 6f   border-left: no
69c0: 6e 65 3b 0d 0a 20 20 62 6f 72 64 65 72 2d 72 69  ne;..  border-ri
69d0: 67 68 74 3a 20 6e 6f 6e 65 3b 0d 0a 7d 0d 0a 2f  ght: none;..}../
69e0: 2a 20 54 68 65 20 70 72 6f 6a 65 63 74 20 6c 6f  * The project lo
69f0: 67 6f 20 69 6e 20 74 68 65 20 75 70 70 65 72 20  go in the upper 
6a00: 6c 65 66 74 2d 68 61 6e 64 20 63 6f 72 6e 65 72  left-hand corner
6a10: 20 6f 66 20 65 61 63 68 20 70 61 67 65 20 2a 2f   of each page */
6a20: 0d 0a 64 69 76 2e 6c 6f 67 6f 20 7b 0d 0a 20 20  ..div.logo {..  
6a30: 64 69 73 70 6c 61 79 3a 20 74 61 62 6c 65 2d 63  display: table-c
6a40: 65 6c 6c 3b 0d 0a 20 20 74 65 78 74 2d 61 6c 69  ell;..  text-ali
6a50: 67 6e 3a 20 63 65 6e 74 65 72 3b 0d 0a 20 20 76  gn: center;..  v
6a60: 65 72 74 69 63 61 6c 2d 61 6c 69 67 6e 3a 20 62  ertical-align: b
6a70: 6f 74 74 6f 6d 3b 0d 0a 20 20 63 6f 6c 6f 72 3a  ottom;..  color:
6a80: 20 23 30 30 30 66 36 61 3b 0d 0a 7d 0d 0a 0d 0a   #000f6a;..}....
6a90: 2f 2a 20 54 68 65 20 70 61 67 65 20 74 69 74 6c  /* The page titl
6aa0: 65 20 63 65 6e 74 65 72 65 64 20 61 74 20 74 68  e centered at th
6ab0: 65 20 74 6f 70 20 6f 66 20 65 61 63 68 20 70 61  e top of each pa
6ac0: 67 65 20 2a 2f 0d 0a 64 69 76 2e 74 69 74 6c 65  ge */..div.title
6ad0: 20 7b 0d 0a 20 20 64 69 73 70 6c 61 79 3a 20 74   {..  display: t
6ae0: 61 62 6c 65 2d 63 65 6c 6c 3b 0d 0a 20 20 66 6f  able-cell;..  fo
6af0: 6e 74 2d 73 69 7a 65 3a 20 32 65 6d 3b 0d 0a 20  nt-size: 2em;.. 
6b00: 20 66 6f 6e 74 2d 77 65 69 67 68 74 3a 20 62 6f   font-weight: bo
6b10: 6c 64 3b 0d 0a 20 20 74 65 78 74 2d 61 6c 69 67  ld;..  text-alig
6b20: 6e 3a 20 63 65 6e 74 65 72 3b 0d 0a 20 20 63 6f  n: center;..  co
6b30: 6c 6f 72 3a 20 23 30 30 30 66 36 61 3b 0d 0a 20  lor: #000f6a;.. 
6b40: 20 76 65 72 74 69 63 61 6c 2d 61 6c 69 67 6e 3a   vertical-align:
6b50: 20 62 6f 74 74 6f 6d 3b 0d 0a 20 20 77 69 64 74   bottom;..  widt
6b60: 68 3a 20 31 30 30 25 3b 0d 0a 7d 0d 0a 0d 0a 2f  h: 100%;..}..../
6b70: 2a 20 54 68 65 20 6c 6f 67 69 6e 20 73 74 61 74  * The login stat
6b80: 75 73 20 6d 65 73 73 61 67 65 20 69 6e 20 74 68  us message in th
6b90: 65 20 74 6f 70 20 72 69 67 68 74 2d 68 61 6e 64  e top right-hand
6ba0: 20 63 6f 72 6e 65 72 20 2a 2f 0d 0a 64 69 76 2e   corner */..div.
6bb0: 73 74 61 74 75 73 20 7b 0d 0a 20 20 64 69 73 70  status {..  disp
6bc0: 6c 61 79 3a 20 74 61 62 6c 65 2d 63 65 6c 6c 3b  lay: table-cell;
6bd0: 0d 0a 20 20 74 65 78 74 2d 61 6c 69 67 6e 3a 20  ..  text-align: 
6be0: 72 69 67 68 74 3b 0d 0a 20 20 76 65 72 74 69 63  right;..  vertic
6bf0: 61 6c 2d 61 6c 69 67 6e 3a 20 62 6f 74 74 6f 6d  al-align: bottom
6c00: 3b 0d 0a 20 20 63 6f 6c 6f 72 3a 20 23 30 30 30  ;..  color: #000
6c10: 66 36 61 3b 0d 0a 20 20 66 6f 6e 74 2d 73 69 7a  f6a;..  font-siz
6c20: 65 3a 20 30 2e 38 65 6d 3b 0d 0a 7d 0d 0a 0d 0a  e: 0.8em;..}....
6c30: 2f 2a 20 54 68 65 20 68 65 61 64 65 72 20 61 63  /* The header ac
6c40: 72 6f 73 73 20 74 68 65 20 74 6f 70 20 6f 66 20  ross the top of 
6c50: 74 68 65 20 70 61 67 65 20 2a 2f 0d 0a 64 69 76  the page */..div
6c60: 2e 68 65 61 64 65 72 20 7b 0d 0a 20 20 64 69 73  .header {..  dis
6c70: 70 6c 61 79 3a 20 74 61 62 6c 65 3b 0d 0a 20 20  play: table;..  
6c80: 77 69 64 74 68 3a 20 31 30 30 25 3b 0d 0a 20 20  width: 100%;..  
6c90: 74 65 78 74 2d 61 6c 69 67 6e 3a 20 63 65 6e 74  text-align: cent
6ca0: 65 72 3b 0d 0a 7d 0d 0a 0d 0a 2f 2a 20 54 68 65  er;..}..../* The
6cb0: 20 6d 61 69 6e 20 6d 65 6e 75 20 62 61 72 20 74   main menu bar t
6cc0: 68 61 74 20 61 70 70 65 61 72 73 20 61 74 20 74  hat appears at t
6cd0: 68 65 20 74 6f 70 20 6f 66 20 74 68 65 20 70 61  he top of the pa
6ce0: 67 65 20 62 65 6e 65 61 74 68 0d 0a 2a 2a 20 74  ge beneath..** t
6cf0: 68 65 20 68 65 61 64 65 72 20 2a 2f 0d 0a 64 69  he header */..di
6d00: 76 2e 6d 61 69 6e 6d 65 6e 75 20 7b 0d 0a 20 20  v.mainmenu {..  
6d10: 70 61 64 64 69 6e 67 3a 20 32 70 78 20 35 70 78  padding: 2px 5px
6d20: 20 32 70 78 20 35 70 78 3b 0d 0a 20 20 66 6f 6e   2px 5px;..  fon
6d30: 74 2d 73 69 7a 65 3a 20 30 2e 39 65 6d 3b 0d 0a  t-size: 0.9em;..
6d40: 20 20 74 65 78 74 2d 61 6c 69 67 6e 3a 20 63 65    text-align: ce
6d50: 6e 74 65 72 3b 0d 0a 20 20 6c 65 74 74 65 72 2d  nter;..  letter-
6d60: 73 70 61 63 69 6e 67 3a 20 31 70 78 3b 0d 0a 20  spacing: 1px;.. 
6d70: 20 62 61 63 6b 67 72 6f 75 6e 64 2d 63 6f 6c 6f   background-colo
6d80: 72 3a 20 23 65 33 65 33 65 33 3b 0d 0a 20 20 63  r: #e3e3e3;..  c
6d90: 6f 6c 6f 72 3a 20 23 30 30 30 66 36 61 3b 0d 0a  olor: #000f6a;..
6da0: 20 20 62 6f 72 64 65 72 3a 20 31 70 78 20 69 6e    border: 1px in
6db0: 73 65 74 20 62 6c 61 63 6b 3b 0d 0a 7d 0d 0a 0d  set black;..}...
6dc0: 0a 2f 2a 20 54 68 65 20 73 75 62 6d 65 6e 75 20  ./* The submenu 
6dd0: 62 61 72 20 74 68 61 74 20 2a 73 6f 6d 65 74 69  bar that *someti
6de0: 6d 65 73 2a 20 61 70 70 65 61 72 73 20 62 65 6c  mes* appears bel
6df0: 6f 77 20 74 68 65 20 6d 61 69 6e 20 6d 65 6e 75  ow the main menu
6e00: 20 2a 2f 0d 0a 64 69 76 2e 73 75 62 6d 65 6e 75   */..div.submenu
6e10: 20 7b 0d 0a 20 20 70 61 64 64 69 6e 67 3a 20 32   {..  padding: 2
6e20: 70 78 20 35 70 78 20 32 70 78 20 35 70 78 3b 0d  px 5px 2px 5px;.
6e30: 0a 20 20 66 6f 6e 74 2d 73 69 7a 65 3a 20 30 2e  .  font-size: 0.
6e40: 39 65 6d 3b 0d 0a 20 20 74 65 78 74 2d 61 6c 69  9em;..  text-ali
6e50: 67 6e 3a 20 63 65 6e 74 65 72 3b 0d 0a 20 20 62  gn: center;..  b
6e60: 61 63 6b 67 72 6f 75 6e 64 2d 63 6f 6c 6f 72 3a  ackground-color:
6e70: 20 23 65 33 65 33 65 33 3b 0d 0a 20 20 63 6f 6c   #e3e3e3;..  col
6e80: 6f 72 3a 20 23 30 30 30 66 36 61 3b 0d 0a 7d 0d  or: #000f6a;..}.
6e90: 0a 64 69 76 2e 6d 61 69 6e 6d 65 6e 75 20 61 2c  .div.mainmenu a,
6ea0: 20 64 69 76 2e 6d 61 69 6e 6d 65 6e 75 20 61 3a   div.mainmenu a:
6eb0: 76 69 73 69 74 65 64 2c 20 64 69 76 2e 73 75 62  visited, div.sub
6ec0: 6d 65 6e 75 20 61 2c 20 64 69 76 2e 73 75 62 6d  menu a, div.subm
6ed0: 65 6e 75 20 61 3a 76 69 73 69 74 65 64 20 7b 0d  enu a:visited {.
6ee0: 0a 20 20 70 61 64 64 69 6e 67 3a 20 32 70 78 20  .  padding: 2px 
6ef0: 31 30 70 78 20 32 70 78 20 31 30 70 78 3b 0d 0a  10px 2px 10px;..
6f00: 20 20 63 6f 6c 6f 72 3a 20 23 30 30 30 66 36 61    color: #000f6a
6f10: 3b 0d 0a 20 20 62 61 63 6b 67 72 6f 75 6e 64 2d  ;..  background-
6f20: 63 6f 6c 6f 72 3a 20 23 65 33 65 33 65 33 3b 0d  color: #e3e3e3;.
6f30: 0a 20 20 74 65 78 74 2d 64 65 63 6f 72 61 74 69  .  text-decorati
6f40: 6f 6e 3a 20 6e 6f 6e 65 3b 0d 0a 7d 0d 0a 64 69  on: none;..}..di
6f50: 76 2e 6d 61 69 6e 6d 65 6e 75 20 61 3a 68 6f 76  v.mainmenu a:hov
6f60: 65 72 2c 20 64 69 76 2e 73 75 62 6d 65 6e 75 20  er, div.submenu 
6f70: 61 3a 68 6f 76 65 72 20 7b 0d 0a 20 20 63 6f 6c  a:hover {..  col
6f80: 6f 72 3a 20 23 65 33 65 33 65 33 3b 0d 0a 20 20  or: #e3e3e3;..  
6f90: 62 61 63 6b 67 72 6f 75 6e 64 2d 63 6f 6c 6f 72  background-color
6fa0: 3a 20 23 30 30 30 66 36 61 3b 0d 0a 7d 0d 0a 0d  : #000f6a;..}...
6fb0: 0a 2f 2a 20 41 6c 6c 20 70 61 67 65 20 63 6f 6e  ./* All page con
6fc0: 74 65 6e 74 20 66 72 6f 6d 20 74 68 65 20 62 6f  tent from the bo
6fd0: 74 74 6f 6d 20 6f 66 20 74 68 65 20 6d 65 6e 75  ttom of the menu
6fe0: 20 6f 72 20 73 75 62 6d 65 6e 75 20 64 6f 77 6e   or submenu down
6ff0: 20 74 6f 0d 0a 2a 2a 20 74 68 65 20 66 6f 6f 74   to..** the foot
7000: 65 72 20 2a 2f 0d 0a 64 69 76 2e 63 6f 6e 74 65  er */..div.conte
7010: 6e 74 20 7b 0d 0a 20 20 70 61 64 64 69 6e 67 3a  nt {..  padding:
7020: 20 30 65 78 20 31 65 78 20 30 65 78 20 32 65 78   0ex 1ex 0ex 2ex
7030: 3b 0d 0a 7d 0d 0a 0d 0a 2f 2a 20 53 6f 6d 65 20  ;..}..../* Some 
7040: 70 61 67 65 73 20 68 61 76 65 20 73 65 63 74 69  pages have secti
7050: 6f 6e 20 64 69 76 69 64 65 72 73 20 2a 2f 0d 0a  on dividers */..
7060: 64 69 76 2e 73 65 63 74 69 6f 6e 20 7b 0d 0a 20  div.section {.. 
7070: 20 6d 61 72 67 69 6e 2d 62 6f 74 74 6f 6d 3a 20   margin-bottom: 
7080: 30 70 78 3b 0d 0a 20 20 6d 61 72 67 69 6e 2d 74  0px;..  margin-t
7090: 6f 70 3a 20 31 65 6d 3b 0d 0a 20 20 70 61 64 64  op: 1em;..  padd
70a0: 69 6e 67 3a 20 31 70 78 20 31 70 78 20 31 70 78  ing: 1px 1px 1px
70b0: 20 31 70 78 3b 0d 0a 20 20 66 6f 6e 74 2d 73 69   1px;..  font-si
70c0: 7a 65 3a 20 31 2e 32 65 6d 3b 0d 0a 20 20 66 6f  ze: 1.2em;..  fo
70d0: 6e 74 2d 77 65 69 67 68 74 3a 20 62 6f 6c 64 3b  nt-weight: bold;
70e0: 0d 0a 20 20 62 61 63 6b 67 72 6f 75 6e 64 2d 63  ..  background-c
70f0: 6f 6c 6f 72 3a 20 23 65 33 65 33 65 33 3b 0d 0a  olor: #e3e3e3;..
7100: 20 20 63 6f 6c 6f 72 3a 20 23 30 30 30 66 36 61    color: #000f6a
7110: 3b 0d 0a 7d 0d 0a 0d 0a 2f 2a 20 54 68 65 20 22  ;..}..../* The "
7120: 44 61 74 65 22 20 74 68 61 74 20 6f 63 63 75 72  Date" that occur
7130: 73 20 6f 6e 20 74 68 65 20 6c 65 66 74 20 68 61  s on the left ha
7140: 6e 64 20 73 69 64 65 20 6f 66 20 74 69 6d 65 6c  nd side of timel
7150: 69 6e 65 73 20 2a 2f 0d 0a 64 69 76 2e 64 69 76  ines */..div.div
7160: 69 64 65 72 20 7b 0d 0a 20 20 62 61 63 6b 67 72  ider {..  backgr
7170: 6f 75 6e 64 2d 63 6f 6c 6f 72 3a 20 23 65 33 65  ound-color: #e3e
7180: 33 65 33 3b 0d 0a 20 20 63 6f 6c 6f 72 3a 20 23  3e3;..  color: #
7190: 30 30 30 66 36 61 3b 0d 0a 20 20 62 6f 72 64 65  000f6a;..  borde
71a0: 72 3a 20 31 70 78 20 23 62 62 62 62 66 66 20 73  r: 1px #bbbbff s
71b0: 6f 6c 69 64 3b 0d 0a 20 20 66 6f 6e 74 2d 73 69  olid;..  font-si
71c0: 7a 65 3a 20 31 65 6d 3b 20 66 6f 6e 74 2d 77 65  ze: 1em; font-we
71d0: 69 67 68 74 3a 20 6e 6f 72 6d 61 6c 3b 0d 0a 20  ight: normal;.. 
71e0: 20 70 61 64 64 69 6e 67 3a 20 2e 32 35 65 6d 3b   padding: .25em;
71f0: 0d 0a 20 20 6d 61 72 67 69 6e 3a 20 2e 32 65 6d  ..  margin: .2em
7200: 20 30 20 2e 32 65 6d 20 30 3b 0d 0a 20 20 66 6c   0 .2em 0;..  fl
7210: 6f 61 74 3a 20 6c 65 66 74 3b 0d 0a 20 20 63 6c  oat: left;..  cl
7220: 65 61 72 3a 20 6c 65 66 74 3b 0d 0a 7d 0d 0a 0d  ear: left;..}...
7230: 0a 2f 2a 20 54 68 65 20 66 6f 6f 74 65 72 20 61  ./* The footer a
7240: 74 20 74 68 65 20 76 65 72 79 20 62 6f 74 74 6f  t the very botto
7250: 6d 20 6f 66 20 74 68 65 20 70 61 67 65 20 2a 2f  m of the page */
7260: 0d 0a 64 69 76 2e 66 6f 6f 74 65 72 20 7b 0d 0a  ..div.footer {..
7270: 20 20 66 6f 6e 74 2d 73 69 7a 65 3a 20 30 2e 38    font-size: 0.8
7280: 65 6d 3b 0d 0a 20 20 70 61 64 64 69 6e 67 3a 20  em;..  padding: 
7290: 32 70 78 20 35 70 78 20 32 70 78 20 35 70 78 3b  2px 5px 2px 5px;
72a0: 0d 0a 20 20 74 65 78 74 2d 61 6c 69 67 6e 3a 20  ..  text-align: 
72b0: 63 65 6e 74 65 72 3b 0d 0a 20 20 6c 65 74 74 65  center;..  lette
72c0: 72 2d 73 70 61 63 69 6e 67 3a 20 31 70 78 3b 0d  r-spacing: 1px;.
72d0: 0a 20 20 62 61 63 6b 67 72 6f 75 6e 64 2d 63 6f  .  background-co
72e0: 6c 6f 72 3a 20 23 65 33 65 33 65 33 3b 0d 0a 20  lor: #e3e3e3;.. 
72f0: 20 63 6f 6c 6f 72 3a 20 23 30 30 30 66 36 61 3b   color: #000f6a;
7300: 0d 0a 20 20 62 6f 72 64 65 72 3a 20 31 70 78 20  ..  border: 1px 
7310: 69 6e 73 65 74 20 62 6c 61 63 6b 3b 0d 0a 7d 0d  inset black;..}.
7320: 0a 0d 0a 2f 2a 20 4d 61 6b 65 20 74 68 65 20 6c  .../* Make the l
7330: 69 6e 6b 73 20 69 6e 20 74 68 65 20 66 6f 6f 74  inks in the foot
7340: 65 72 20 6c 65 73 73 20 75 67 6c 79 2e 2e 2e 20  er less ugly... 
7350: 2a 2f 0d 0a 64 69 76 2e 66 6f 6f 74 65 72 20 61  */..div.footer a
7360: 20 7b 20 63 6f 6c 6f 72 3a 20 23 30 30 30 66 36   { color: #000f6
7370: 61 3b 20 7d 0d 0a 64 69 76 2e 66 6f 6f 74 65 72  a; }..div.footer
7380: 20 61 3a 6c 69 6e 6b 20 7b 20 63 6f 6c 6f 72 3a   a:link { color:
7390: 20 23 30 30 30 66 36 61 3b 20 7d 0d 0a 64 69 76   #000f6a; }..div
73a0: 2e 66 6f 6f 74 65 72 20 61 3a 76 69 73 69 74 65  .footer a:visite
73b0: 64 20 7b 20 63 6f 6c 6f 72 3a 20 23 30 30 30 66  d { color: #000f
73c0: 36 61 3b 20 7d 0d 0a 64 69 76 2e 66 6f 6f 74 65  6a; }..div.foote
73d0: 72 20 61 3a 68 6f 76 65 72 20 7b 20 62 61 63 6b  r a:hover { back
73e0: 67 72 6f 75 6e 64 2d 63 6f 6c 6f 72 3a 20 23 30  ground-color: #0
73f0: 30 30 66 36 61 3b 20 63 6f 6c 6f 72 3a 20 23 65  00f6a; color: #e
7400: 33 65 33 65 33 3b 20 7d 0d 0a 0d 0a 2f 2a 20 76  3e3e3; }..../* v
7410: 65 72 62 61 74 69 6d 20 62 6c 6f 63 6b 73 20 2a  erbatim blocks *
7420: 2f 0d 0a 70 72 65 2e 76 65 72 62 61 74 69 6d 20  /..pre.verbatim 
7430: 7b 0d 0a 20 20 20 62 61 63 6b 67 72 6f 75 6e 64  {..   background
7440: 2d 63 6f 6c 6f 72 3a 20 23 66 35 66 35 66 35 3b  -color: #f5f5f5;
7450: 0d 0a 20 20 20 70 61 64 64 69 6e 67 3a 20 30 2e  ..   padding: 0.
7460: 35 65 6d 3b 0d 0a 7d 0d 0a 0d 0a 2f 2a 20 54 68  5em;..}..../* Th
7470: 65 20 6c 61 62 65 6c 2f 76 61 6c 75 65 20 70 61  e label/value pa
7480: 69 72 73 20 6f 6e 20 28 66 6f 72 20 65 78 61 6d  irs on (for exam
7490: 70 6c 65 29 20 74 68 65 20 76 69 6e 66 6f 20 70  ple) the vinfo p
74a0: 61 67 65 20 2a 2f 0d 0a 74 61 62 6c 65 2e 6c 61  age */..table.la
74b0: 62 65 6c 2d 76 61 6c 75 65 20 74 68 20 7b 0d 0a  bel-value th {..
74c0: 20 20 76 65 72 74 69 63 61 6c 2d 61 6c 69 67 6e    vertical-align
74d0: 3a 20 74 6f 70 3b 0d 0a 20 20 74 65 78 74 2d 61  : top;..  text-a
74e0: 6c 69 67 6e 3a 20 72 69 67 68 74 3b 0d 0a 20 20  lign: right;..  
74f0: 70 61 64 64 69 6e 67 3a 20 30 2e 32 65 78 20 32  padding: 0.2ex 2
7500: 65 78 3b 0d 0a 7d 0d 0a 0d 0a 2f 2a 20 46 6f 72  ex;..}..../* For
7510: 20 6d 61 72 6b 69 6e 67 20 69 6d 70 6f 72 74 61   marking importa
7520: 6e 74 20 55 49 20 65 6c 65 6d 65 6e 74 73 20 77  nt UI elements w
7530: 68 69 63 68 20 73 68 6f 75 6c 64 6e 27 74 20 62  hich shouldn't b
7540: 65 0d 0a 20 20 20 6c 69 67 68 74 6c 79 20 64 69  e..   lightly di
7550: 73 6d 69 73 73 65 64 2e 20 49 20 6d 61 69 6e 6c  smissed. I mainl
7560: 79 20 75 73 65 20 69 74 20 74 6f 20 6d 61 72 6b  y use it to mark
7570: 20 22 6e 6f 74 20 79 65 74 0d 0a 20 20 20 69 6d   "not yet..   im
7580: 70 6c 65 6d 65 6e 74 65 64 22 20 70 61 72 74 73  plemented" parts
7590: 20 6f 66 20 61 20 70 61 67 65 2e 20 57 68 65 74   of a page. Whet
75a0: 68 65 72 20 6f 72 20 6e 6f 74 20 74 6f 20 68 61  her or not to ha
75b0: 76 65 0d 0a 20 20 20 61 20 27 62 6f 72 64 65 72  ve..   a 'border
75c0: 27 20 61 74 74 72 69 62 75 74 65 20 73 65 74 20  ' attribute set 
75d0: 69 73 20 61 72 67 75 61 62 6c 65 2e 20 2a 2f 0d  is arguable. */.
75e0: 0a 2e 61 63 68 74 75 6e 67 20 7b 0d 0a 20 20 63  ..achtung {..  c
75f0: 6f 6c 6f 72 3a 20 23 66 66 30 30 30 30 3b 0d 0a  olor: #ff0000;..
7600: 20 20 62 61 63 6b 67 72 6f 75 6e 64 3a 20 23 66    background: #f
7610: 66 66 66 30 30 3b 0d 0a 20 20 62 6f 72 64 65 72  fff00;..  border
7620: 3a 20 31 70 78 20 73 6f 6c 69 64 20 23 66 66 30  : 1px solid #ff0
7630: 30 30 30 3b 0d 0a 7d 0d 0a 0d 0a 74 61 62 6c 65  000;..}....table
7640: 2e 66 6f 73 73 69 6c 5f 64 62 5f 67 65 6e 65 72  .fossil_db_gener
7650: 69 63 5f 71 75 65 72 79 5f 76 69 65 77 20 7b 0d  ic_query_view {.
7660: 0a 20 20 62 6f 72 64 65 72 2d 73 70 61 63 69 6e  .  border-spacin
7670: 67 3a 20 30 70 78 3b 0d 0a 20 20 62 6f 72 64 65  g: 0px;..  borde
7680: 72 3a 20 31 70 78 20 73 6f 6c 69 64 20 62 6c 61  r: 1px solid bla
7690: 63 6b 3b 0d 0a 7d 0d 0a 74 61 62 6c 65 2e 66 6f  ck;..}..table.fo
76a0: 73 73 69 6c 5f 64 62 5f 67 65 6e 65 72 69 63 5f  ssil_db_generic_
76b0: 71 75 65 72 79 5f 76 69 65 77 20 74 64 20 7b 0d  query_view td {.
76c0: 0a 20 20 70 61 64 64 69 6e 67 3a 20 32 70 78 20  .  padding: 2px 
76d0: 31 65 6d 20 32 70 78 20 31 65 6d 3b 0d 0a 7d 0d  1em 2px 1em;..}.
76e0: 0a 74 61 62 6c 65 2e 66 6f 73 73 69 6c 5f 64 62  .table.fossil_db
76f0: 5f 67 65 6e 65 72 69 63 5f 71 75 65 72 79 5f 76  _generic_query_v
7700: 69 65 77 20 74 72 20 7b 0d 0a 7d 0d 0a 74 61 62  iew tr {..}..tab
7710: 6c 65 2e 66 6f 73 73 69 6c 5f 64 62 5f 67 65 6e  le.fossil_db_gen
7720: 65 72 69 63 5f 71 75 65 72 79 5f 76 69 65 77 20  eric_query_view 
7730: 74 72 2e 65 76 65 6e 20 7b 0d 0a 20 20 62 61 63  tr.even {..  bac
7740: 6b 67 72 6f 75 6e 64 3a 20 23 66 66 66 66 66 66  kground: #ffffff
7750: 3b 0d 0a 7d 0d 0a 74 61 62 6c 65 2e 66 6f 73 73  ;..}..table.foss
7760: 69 6c 5f 64 62 5f 67 65 6e 65 72 69 63 5f 71 75  il_db_generic_qu
7770: 65 72 79 5f 76 69 65 77 20 74 72 2e 6f 64 64 20  ery_view tr.odd 
7780: 7b 0d 0a 20 20 62 61 63 6b 67 72 6f 75 6e 64 3a  {..  background:
7790: 20 23 65 35 65 35 65 35 3b 0d 0a 7d 0d 0a 74 61   #e5e5e5;..}..ta
77a0: 62 6c 65 2e 66 6f 73 73 69 6c 5f 64 62 5f 67 65  ble.fossil_db_ge
77b0: 6e 65 72 69 63 5f 71 75 65 72 79 5f 76 69 65 77  neric_query_view
77c0: 20 74 72 2e 68 65 61 64 65 72 20 7b 0d 0a 20 20   tr.header {..  
77d0: 62 61 63 6b 67 72 6f 75 6e 64 3a 20 23 35 35 38  background: #558
77e0: 31 39 35 3b 0d 0a 20 20 66 6f 6e 74 2d 73 69 7a  195;..  font-siz
77f0: 65 3a 20 31 2e 35 65 6d 3b 0d 0a 20 20 63 6f 6c  e: 1.5em;..  col
7800: 6f 72 3a 20 23 66 66 66 66 66 66 3b 0d 0a 7d 0d  or: #ffffff;..}.
7810: 0a 3c 2f 70 72 65 3e 0d 0a 3c 2f 6e 6f 77 69 6b  .</pre>..</nowik
7820: 69 3e 0d 0a 3c 68 32 3e 3c 61 20 6e 61 6d 65 3d  i>..<h2><a name=
7830: 22 73 6f 75 72 63 65 2d 68 69 6c 69 67 68 74 22  "source-hilight"
7840: 3e 53 6f 75 72 63 65 20 68 69 67 68 6c 69 67 68  >Source highligh
7850: 74 69 6e 67 3c 2f 61 3e 3c 2f 68 32 3e 0d 0a 3c  ting</a></h2>..<
7860: 68 33 3e 4d 6f 74 69 76 61 74 69 6f 6e 3c 2f 68  h3>Motivation</h
7870: 33 3e 0d 0a 20 20 2a 20 20 59 6f 75 20 77 61 6e  3>..  *  You wan
7880: 74 20 74 6f 20 68 61 76 65 20 73 6f 75 72 63 65  t to have source
7890: 20 63 6f 64 65 20 68 69 67 68 6c 69 67 68 74 69   code highlighti
78a0: 6e 67 20 66 6f 72 20 74 68 65 20 66 69 6c 65 73  ng for the files
78b0: 20 69 6e 20 79 6f 75 72 20 72 65 70 6f 73 69 74   in your reposit
78c0: 6f 72 79 0d 0a 0d 0a 3c 68 33 3e 50 72 6f 62 6c  ory....<h3>Probl
78d0: 65 6d 3c 2f 68 33 3e 0d 0a 54 68 65 20 6d 61 69  em</h3>..The mai
78e0: 6e 20 70 75 72 70 6f 73 65 20 6f 66 20 46 6f 73  n purpose of Fos
78f0: 73 69 6c 20 69 73 20 74 6f 20 64 6f 20 76 65 72  sil is to do ver
7900: 73 69 6f 6e 69 6e 67 20 74 68 65 20 73 6f 75 72  sioning the sour
7910: 63 65 20 63 6f 64 65 2e 20 41 6c 74 68 6f 75 67  ce code. Althoug
7920: 68 20 69 74 20 70 72 6f 76 69 64 65 73 20 61 20  h it provides a 
7930: 73 74 61 6e 64 61 6c 6f 6e 65 20 73 65 72 76 65  standalone serve
7940: 72 20 61 6e 64 20 6c 65 74 73 20 79 6f 75 20 6e  r and lets you n
7950: 61 76 69 67 61 74 65 20 74 68 72 6f 75 67 68 20  avigate through 
7960: 74 68 65 20 72 65 70 6f 73 69 74 6f 72 79 20 66  the repository f
7970: 69 6c 65 73 20 61 64 64 69 74 69 6f 6e 61 6c 20  iles additional 
7980: 66 65 61 74 75 72 65 73 20 6c 69 6b 65 20 73 6f  features like so
7990: 75 72 63 65 20 63 6f 64 65 20 68 69 67 68 6c 69  urce code highli
79a0: 67 68 74 69 6e 67 20 66 72 6f 6d 20 6d 79 20 70  ghting from my p
79b0: 65 72 73 70 65 63 74 69 76 65 20 28 49 20 61 6d  erspective (I am
79c0: 20 6e 6f 74 20 61 20 64 65 76 65 6c 6f 70 65 72   not a developer
79d0: 20 6f 66 20 46 6f 73 73 69 6c 29 20 69 73 20 6f   of Fossil) is o
79e0: 75 74 20 6f 66 20 73 63 6f 70 65 20 66 6f 72 20  ut of scope for 
79f0: 61 6e 20 53 43 4d 2e 20 4a 75 73 74 20 6b 65 65  an SCM. Just kee
7a00: 70 20 74 68 65 20 55 6e 69 78 20 70 72 69 6e 63  p the Unix princ
7a10: 69 70 6c 65 3a 20 73 6d 61 6c 6c 20 6c 69 74 74  iple: small litt
7a20: 6c 65 20 70 72 6f 67 72 61 6d 73 20 74 68 61 74  le programs that
7a30: 20 64 6f 20 74 68 65 69 72 20 74 61 73 6b 20 61   do their task a
7a40: 6e 64 20 64 6f 20 69 74 20 77 65 6c 6c 2e 0d 0a  nd do it well...
7a50: 0d 0a 48 6f 77 65 76 65 72 20 74 6f 20 68 61 76  ..However to hav
7a60: 65 20 61 20 73 6f 75 72 63 65 20 63 6f 64 65 20  e a source code 
7a70: 68 69 67 68 6c 69 67 68 74 69 6e 67 20 69 6e 20  highlighting in 
7a80: 74 68 65 20 70 72 65 73 65 6e 74 65 64 20 77 65  the presented we
7a90: 62 20 70 61 67 65 73 20 77 6f 75 6c 64 20 73 74  b pages would st
7aa0: 69 6c 6c 20 62 65 20 64 65 73 69 72 61 62 6c 65  ill be desirable
7ab0: 2e 0d 0a 0d 0a 3c 68 33 3e 53 6f 6c 75 74 69 6f  .....<h3>Solutio
7ac0: 6e 3c 2f 68 33 3e 0d 0a 54 68 65 72 65 20 61 72  n</h3>..There ar
7ad0: 65 20 74 77 6f 20 73 63 65 6e 61 72 69 6f 73 20  e two scenarios 
7ae0: 68 6f 77 20 74 6f 20 69 6d 70 6c 65 6d 65 6e 74  how to implement
7af0: 20 73 75 63 68 20 61 20 66 65 61 74 75 72 65 3a   such a feature:
7b00: 0d 0a 20 20 20 2a 20 20 46 6f 73 73 69 6c 20 70  ..   *  Fossil p
7b10: 69 70 65 73 20 74 68 65 20 73 6f 75 72 63 65 20  ipes the source 
7b20: 63 6f 64 65 20 74 68 72 6f 75 67 68 20 61 20 66  code through a f
7b30: 69 6c 74 65 72 20 62 65 66 6f 72 65 20 73 65 6e  ilter before sen
7b40: 64 69 6e 67 20 69 74 20 74 6f 20 74 68 65 20 62  ding it to the b
7b50: 72 6f 77 73 65 72 2e 20 54 68 65 20 66 69 6c 74  rowser. The filt
7b60: 65 72 20 63 6f 75 6c 64 20 62 65 20 64 65 66 69  er could be defi
7b70: 6e 65 64 20 61 73 20 61 20 63 6f 6e 66 69 67 75  ned as a configu
7b80: 72 61 74 69 6f 6e 20 6f 70 74 69 6f 6e 20 74 6f  ration option to
7b90: 20 46 6f 73 73 69 6c 2e 20 4f 6e 65 20 73 6f 6c   Fossil. One sol
7ba0: 75 74 69 6f 6e 20 66 6f 72 20 74 68 69 73 20 6d  ution for this m
7bb0: 69 67 68 74 20 62 65 20 74 68 65 20 3c 61 20 68  ight be the <a h
7bc0: 72 65 66 3d 22 68 74 74 70 3a 2f 2f 77 77 77 2e  ref="http://www.
7bd0: 67 6e 75 2e 6f 72 67 2f 73 6f 66 74 77 61 72 65  gnu.org/software
7be0: 2f 73 72 63 2d 68 69 67 68 6c 69 74 65 22 3e 47  /src-highlite">G
7bf0: 4e 55 20 53 6f 75 72 63 65 20 63 6f 64 65 20 48  NU Source code H
7c00: 69 67 68 6c 69 67 68 74 69 6e 67 3c 2f 61 3e 20  ighlighting</a> 
7c10: 70 72 6f 67 72 61 6d 2e 0d 0a 20 20 20 2a 20 20  program...   *  
7c20: 55 73 65 20 61 20 4a 61 76 61 73 63 72 69 70 74  Use a Javascript
7c30: 20 6c 69 62 72 61 72 79 20 74 68 61 74 20 72 65   library that re
7c40: 6e 64 65 72 73 20 74 68 65 20 63 6f 64 65 20 77  nders the code w
7c50: 69 74 68 69 6e 20 79 6f 75 72 20 62 72 6f 77 73  ithin your brows
7c60: 65 72 2e 20 4f 6e 65 20 73 6f 6c 75 74 69 6f 6e  er. One solution
7c70: 20 66 6f 72 20 74 68 69 73 20 6d 69 67 68 74 20   for this might 
7c80: 62 65 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70  be <a href="http
7c90: 3a 2f 2f 63 6f 64 65 2e 67 6f 6f 67 6c 65 2e 63  ://code.google.c
7ca0: 6f 6d 2f 70 2f 73 79 6e 74 61 78 68 69 67 68 6c  om/p/syntaxhighl
7cb0: 69 67 68 74 65 72 22 3e 47 6f 6f 67 6c 65 20 53  ighter">Google S
7cc0: 79 6e 74 61 78 20 48 69 67 68 6c 69 67 68 74 65  yntax Highlighte
7cd0: 72 3c 2f 61 3e 0d 0a 0d 0a 49 20 65 73 74 69 6d  r</a>....I estim
7ce0: 61 74 65 20 74 68 61 74 20 74 68 65 20 3c 69 3e  ate that the <i>
7cf0: 70 69 70 65 3c 2f 69 3e 20 73 6f 6c 75 74 69 6f  pipe</i> solutio
7d00: 6e 20 6e 65 65 64 73 20 73 6f 6d 65 20 6d 6f 72  n needs some mor
7d10: 65 20 77 6f 72 6b 2f 20 63 6f 64 65 20 63 68 61  e work/ code cha
7d20: 6e 67 65 73 2e 20 54 68 75 73 20 49 20 61 6d 20  nges. Thus I am 
7d30: 73 6f 6c 65 6c 79 20 6c 6f 6f 6b 69 6e 67 20 61  solely looking a
7d40: 74 20 74 68 65 20 4a 61 76 61 73 63 72 69 70 74  t the Javascript
7d50: 20 73 6f 6c 75 74 69 6f 6e 2e 0d 0a 0d 0a 54 68   solution.....Th
7d60: 65 20 53 79 6e 74 61 78 48 69 67 68 6c 69 67 68  e SyntaxHighligh
7d70: 74 65 72 20 69 73 20 61 20 6c 69 62 72 61 72 79  ter is a library
7d80: 20 6f 66 20 73 6f 6d 65 20 4a 61 76 61 73 63 72   of some Javascr
7d90: 69 70 74 20 66 69 6c 65 73 2c 20 61 20 6c 69 74  ipt files, a lit
7da0: 74 6c 65 20 46 6c 61 73 68 20 61 70 70 6c 69 63  tle Flash applic
7db0: 61 74 69 6f 6e 20 61 6e 64 20 61 20 43 53 53 20  ation and a CSS 
7dc0: 66 69 6c 65 2e 20 54 68 65 20 46 6c 61 73 68 20  file. The Flash 
7dd0: 61 70 70 6c 69 63 61 74 69 6f 6e 20 69 73 20 66  application is f
7de0: 6f 72 20 63 6f 70 79 69 6e 67 20 74 6f 20 63 6c  or copying to cl
7df0: 69 70 62 6f 61 72 64 2c 20 70 72 69 6e 74 20 61  ipboard, print a
7e00: 6e 64 20 76 69 65 77 20 73 6f 75 72 63 65 2e 20  nd view source. 
7e10: 59 6f 75 20 68 61 76 65 20 74 68 65 20 6f 70 74  You have the opt
7e20: 69 6f 6e 20 74 6f 20 69 6e 63 6c 75 64 65 20 61  ion to include a
7e30: 6c 6c 20 74 68 65 20 66 69 6c 65 73 20 69 6e 74  ll the files int
7e40: 6f 20 79 6f 75 72 20 72 65 70 6f 73 69 74 6f 72  o your repositor
7e50: 79 20 6f 72 20 75 73 65 20 74 68 65 20 66 69 6c  y or use the fil
7e60: 65 73 20 68 6f 73 74 65 64 20 61 74 20 47 6f 6f  es hosted at Goo
7e70: 67 6c 65 2e 20 54 68 65 20 6c 61 74 74 65 72 20  gle. The latter 
7e80: 6d 61 79 20 6f 6e 6c 79 20 62 65 20 61 6e 20 6f  may only be an o
7e90: 70 74 69 6f 6e 20 69 66 20 79 6f 75 20 61 72 65  ption if you are
7ea0: 20 63 6f 6e 6e 65 63 74 65 64 20 74 6f 20 69 6e   connected to in
7eb0: 74 65 72 6e 65 74 20 61 6c 6c 20 74 68 65 20 74  ternet all the t
7ec0: 69 6d 65 2e 0d 0a 0d 0a 46 6f 72 20 73 79 6e 74  ime.....For synt
7ed0: 61 78 20 68 69 67 68 6c 69 67 68 74 69 6e 67 20  ax highlighting 
7ee0: 74 6f 20 77 6f 72 6b 20 74 68 65 20 48 65 61 64  to work the Head
7ef0: 65 72 20 61 6e 64 20 46 6f 6f 74 65 72 20 74 65  er and Footer te
7f00: 6d 70 6c 61 74 65 73 20 6e 65 65 64 20 74 6f 20  mplates need to 
7f10: 62 65 20 6d 6f 64 69 66 69 65 64 20 61 6e 64 20  be modified and 
7f20: 61 20 6c 69 74 74 6c 65 20 63 6f 64 65 20 63 68  a little code ch
7f30: 61 6e 67 65 20 68 61 73 20 74 6f 20 62 65 20 61  ange has to be a
7f40: 70 70 6c 69 65 64 20 74 6f 20 74 68 65 20 46 6f  pplied to the Fo
7f50: 73 73 69 6c 20 73 6f 75 72 63 65 73 2e 0d 0a 54  ssil sources...T
7f60: 68 65 20 65 78 61 6d 70 6c 65 73 20 62 65 6c 6f  he examples belo
7f70: 77 20 61 73 73 75 6d 65 20 79 6f 75 20 68 61 76  w assume you hav
7f80: 65 20 61 64 64 65 64 20 74 68 65 20 73 79 6e 74  e added the synt
7f90: 61 78 20 68 69 67 68 6c 69 67 68 74 69 6e 67 20  ax highlighting 
7fa0: 6c 69 62 72 61 72 79 20 74 6f 20 79 6f 75 72 20  library to your 
7fb0: 72 65 70 6f 73 69 74 6f 72 79 20 69 6e 74 6f 20  repository into 
7fc0: 61 20 64 69 72 65 63 74 6f 72 79 20 77 77 77 2f  a directory www/
7fd0: 73 63 72 69 70 74 73 2e 0d 0a 3c 70 3e 0d 0a 3c  scripts...<p>..<
7fe0: 62 3e 48 65 61 64 65 72 3c 2f 62 3e 0d 0a 3c 70  b>Header</b>..<p
7ff0: 72 65 3e 0d 0a 26 6c 74 3b 68 74 6d 6c 26 67 74  re>..&lt;html&gt
8000: 3b 0d 0a 20 26 6c 74 3b 68 65 61 64 26 67 74 3b  ;.. &lt;head&gt;
8010: 0d 0a 20 26 6c 74 3b 74 69 74 6c 65 26 67 74 3b  .. &lt;title&gt;
8020: 24 26 6c 74 3b 70 72 6f 6a 65 63 74 5f 6e 61 6d  $&lt;project_nam
8030: 65 26 67 74 3b 3a 20 24 26 6c 74 3b 74 69 74 6c  e&gt;: $&lt;titl
8040: 65 26 67 74 3b 26 6c 74 3b 2f 74 69 74 6c 65 26  e&gt;&lt;/title&
8050: 67 74 3b 0d 0a 20 26 6c 74 3b 6c 69 6e 6b 20 72  gt;.. &lt;link r
8060: 65 6c 3d 22 61 6c 74 65 72 6e 61 74 65 22 20 74  el="alternate" t
8070: 79 70 65 3d 22 61 70 70 6c 69 63 61 74 69 6f 6e  ype="application
8080: 2f 72 73 73 2b 78 6d 6c 22 20 74 69 74 6c 65 3d  /rss+xml" title=
8090: 22 52 53 53 20 46 65 65 64 22 0d 0a 20 20 20 20  "RSS Feed"..    
80a0: 20 20 20 68 72 65 66 3d 22 24 62 61 73 65 75 72     href="$baseur
80b0: 6c 2f 74 69 6d 65 6c 69 6e 65 2e 72 73 73 22 26  l/timeline.rss"&
80c0: 67 74 3b 0d 0a 20 26 6c 74 3b 6c 69 6e 6b 20 72  gt;.. &lt;link r
80d0: 65 6c 3d 22 73 74 79 6c 65 73 68 65 65 74 22 20  el="stylesheet" 
80e0: 68 72 65 66 3d 22 24 62 61 73 65 75 72 6c 2f 73  href="$baseurl/s
80f0: 74 79 6c 65 2e 63 73 73 22 20 74 79 70 65 3d 22  tyle.css" type="
8100: 74 65 78 74 2f 63 73 73 22 0d 0a 20 20 20 20 20  text/css"..     
8110: 20 20 6d 65 64 69 61 3d 22 73 63 72 65 65 6e 22    media="screen"
8120: 26 67 74 3b 0d 0a 20 26 6c 74 3b 6c 69 6e 6b 20  &gt;.. &lt;link 
8130: 72 65 6c 3d 22 73 74 79 6c 65 73 68 65 65 74 22  rel="stylesheet"
8140: 20 68 72 65 66 3d 22 24 62 61 73 65 75 72 6c 2f   href="$baseurl/
8150: 64 6f 63 2f 74 69 70 2f 77 77 77 2f 53 79 6e 74  doc/tip/www/Synt
8160: 61 78 48 69 67 68 6c 69 67 68 74 65 72 2e 63 73  axHighlighter.cs
8170: 73 22 20 74 79 70 65 3d 22 74 65 78 74 2f 63 73  s" type="text/cs
8180: 73 22 0d 0a 20 20 20 20 20 20 20 6d 65 64 69 61  s"..       media
8190: 3d 22 73 63 72 65 65 6e 22 26 67 74 3b 0d 0a 20  ="screen"&gt;.. 
81a0: 26 6c 74 3b 2f 68 65 61 64 26 67 74 3b 0d 0a 0d  &lt;/head&gt;...
81b0: 0a 2e 20 2e 20 2e 0d 0a 3c 2f 70 72 65 3e 0d 0a  .. . ...</pre>..
81c0: 3c 2f 70 3e 3c 70 3e 0d 0a 3c 62 3e 46 6f 6f 74  </p><p>..<b>Foot
81d0: 65 72 3c 2f 62 3e 0d 0a 3c 70 72 65 3e 0d 0a 26  er</b>..<pre>..&
81e0: 6c 74 3b 2f 64 69 76 26 67 74 3b 0d 0a 26 6c 74  lt;/div&gt;..&lt
81f0: 3b 64 69 76 20 63 6c 61 73 73 3d 22 66 6f 6f 74  ;div class="foot
8200: 65 72 22 26 67 74 3b 0d 0a 46 6f 73 73 69 6c 20  er"&gt;..Fossil 
8210: 76 65 72 73 69 6f 6e 20 24 6d 61 6e 69 66 65 73  version $manifes
8220: 74 5f 76 65 72 73 69 6f 6e 20 24 6d 61 6e 69 66  t_version $manif
8230: 65 73 74 5f 64 61 74 65 0d 0a 26 67 74 3b 2f 64  est_date..&gt;/d
8240: 69 76 26 67 74 3b 0d 0a 26 6c 74 3b 73 63 72 69  iv&gt;..&lt;scri
8250: 70 74 20 6c 61 6e 67 75 61 67 65 3d 22 6a 61 76  pt language="jav
8260: 61 73 63 72 69 70 74 22 20 73 72 63 3d 22 24 62  ascript" src="$b
8270: 61 73 65 75 72 6c 2f 64 6f 63 2f 74 69 70 2f 77  aseurl/doc/tip/w
8280: 77 77 2f 73 63 72 69 70 74 73 2f 73 68 43 6f 72  ww/scripts/shCor
8290: 65 2e 6a 73 22 26 67 74 3b 26 6c 74 3b 2f 73 63  e.js"&gt;&lt;/sc
82a0: 72 69 70 74 26 67 74 3b 0d 0a 26 6c 74 3b 73 63  ript&gt;..&lt;sc
82b0: 72 69 70 74 20 6c 61 6e 67 75 61 67 65 3d 22 6a  ript language="j
82c0: 61 76 61 73 63 72 69 70 74 22 20 73 72 63 3d 22  avascript" src="
82d0: 24 62 61 73 65 75 72 6c 2f 64 6f 63 2f 74 69 70  $baseurl/doc/tip
82e0: 2f 77 77 77 2f 73 63 72 69 70 74 73 2f 73 68 42  /www/scripts/shB
82f0: 72 75 73 68 43 70 70 2e 6a 73 22 26 67 74 3b 26  rushCpp.js"&gt;&
8300: 6c 74 3b 2f 73 63 72 69 70 74 26 67 74 3b 0d 0a  lt;/script&gt;..
8310: 26 6c 74 3b 73 63 72 69 70 74 20 6c 61 6e 67 75  &lt;script langu
8320: 61 67 65 3d 22 6a 61 76 61 73 63 72 69 70 74 22  age="javascript"
8330: 26 67 74 3b 0d 0a 64 70 2e 53 79 6e 74 61 78 48  &gt;..dp.SyntaxH
8340: 69 67 68 6c 69 67 68 74 65 72 2e 43 6c 69 70 62  ighlighter.Clipb
8350: 6f 61 72 64 53 77 66 20 3d 20 27 24 62 61 73 65  oardSwf = '$base
8360: 75 72 6c 2f 64 6f 63 2f 74 69 70 2f 77 77 77 2f  url/doc/tip/www/
8370: 73 63 72 69 70 74 73 2f 63 6c 69 70 62 6f 61 72  scripts/clipboar
8380: 64 2e 73 77 66 27 3b 0d 0a 64 70 2e 53 79 6e 74  d.swf';..dp.Synt
8390: 61 78 48 69 67 68 6c 69 67 68 74 65 72 2e 48 69  axHighlighter.Hi
83a0: 67 68 6c 69 67 68 74 41 6c 6c 28 27 63 6f 64 65  ghlightAll('code
83b0: 27 29 3b 0d 0a 26 6c 74 3b 2f 73 63 72 69 70 74  ');..&lt;/script
83c0: 26 67 74 3b 0d 0a 26 6c 74 3b 2f 62 6f 64 79 26  &gt;..&lt;/body&
83d0: 67 74 3b 26 6c 74 3b 2f 68 74 6d 6c 26 67 74 3b  gt;&lt;/html&gt;
83e0: 0d 0a 3c 2f 70 72 65 3e 0d 0a 3c 2f 70 3e 3c 70  ..</pre>..</p><p
83f0: 3e 0d 0a 3c 62 3e 46 6f 73 73 69 6c 2f 73 72 63  >..<b>Fossil/src
8400: 2f 69 6e 66 6f 2e 63 3c 2f 62 3e 20 66 75 6e 63  /info.c</b> func
8410: 74 69 6f 6e 20 61 72 74 69 66 61 63 74 5f 70 61  tion artifact_pa
8420: 67 65 0d 0a 3c 70 72 65 3e 0d 0a 69 66 28 20 7a  ge..<pre>..if( z
8430: 4d 69 6d 65 3d 3d 30 20 29 7b 0d 0a 20 20 20 20  Mime==0 ){..    
8440: 40 20 26 6c 74 3b 70 72 65 20 6e 61 6d 65 3d 22  @ &lt;pre name="
8450: 63 6f 64 65 22 20 63 6c 61 73 73 3d 22 63 22 26  code" class="c"&
8460: 67 74 3b 0d 0a 20 20 20 20 40 20 25 68 28 62 6c  gt;..    @ %h(bl
8470: 6f 62 5f 73 74 72 28 26 63 6f 6e 74 65 6e 74 29  ob_str(&content)
8480: 29 0d 0a 20 20 20 20 40 20 26 6c 74 3b 2f 70 72  )..    @ &lt;/pr
8490: 65 26 67 74 3b 0d 0a 3c 2f 70 72 65 3e 0d 0a 3c  e&gt;..</pre>..<
84a0: 2f 70 3e 0d 0a 3c 68 33 3e 44 69 73 63 75 73 73  /p>..<h3>Discuss
84b0: 69 6f 6e 3c 2f 68 33 3e 0d 0a 54 68 65 20 4a 61  ion</h3>..The Ja
84c0: 76 61 73 63 72 69 70 74 20 73 6f 6c 75 74 69 6f  vascript solutio
84d0: 6e 20 72 65 71 75 69 72 65 73 20 61 20 6d 69 6e  n requires a min
84e0: 69 6d 75 6d 20 74 6f 20 62 65 20 66 75 6c 6c 79  imum to be fully
84f0: 20 73 75 70 70 6f 72 74 65 64 20 62 79 20 46 6f   supported by Fo
8500: 73 73 69 6c 2e 20 4f 66 20 63 6f 75 72 73 65 20  ssil. Of course 
8510: 6d 79 20 6c 69 74 74 65 20 63 68 61 6e 67 65 20  my litte change 
8520: 6f 6e 6c 79 20 61 70 70 6c 69 65 73 20 66 6f 72  only applies for
8530: 20 43 2f 43 2b 2b 20 66 69 6c 65 73 2e 20 42 75   C/C++ files. Bu
8540: 74 20 6f 6e 6c 79 20 6c 69 74 74 6c 65 20 6d 6f  t only little mo
8550: 72 65 20 77 6f 72 6b 20 6e 65 65 64 73 20 74 6f  re work needs to
8560: 20 62 65 20 64 6f 6e 65 20 74 6f 20 67 65 74 20   be done to get 
8570: 74 68 65 20 65 78 74 65 6e 73 69 6f 6e 20 6f 66  the extension of
8580: 20 74 68 65 20 66 69 6c 65 20 61 20 67 75 65 73   the file a gues
8590: 73 20 74 68 65 20 66 69 6c 65 20 74 79 70 65 2e  s the file type.
85a0: 0d 0a 0d 0a 54 68 65 20 70 69 70 65 20 73 6f 6c  ....The pipe sol
85b0: 75 74 69 6f 6e 20 77 6f 75 6c 64 20 61 6c 73 6f  ution would also
85c0: 20 62 65 20 6e 69 63 65 20 62 75 74 20 77 6f 75   be nice but wou
85d0: 6c 64 20 70 72 6f 62 61 62 6c 79 20 6e 65 65 64  ld probably need
85e0: 20 73 6f 6d 65 20 6d 6f 72 65 20 77 6f 72 6b 20   some more work 
85f0: 74 68 61 6e 20 74 68 69 73 20 6c 69 74 74 6c 65  than this little
8600: 20 70 61 74 63 68 2e 0d 0a 0a 5a 20 65 66 36 30   patch....Z ef60
8610: 63 39 65 31 34 39 63 39 36 62 64 31 35 66 39 30  c9e149c96bd15f90
8620: 62 32 33 33 34 31 38 34 65 30 38 38 0a           b2334184e088.