Hex Artifact Content
Not logged in

Artifact c8c3e7e8fe1eea61f6aa927c4ee194a91ee08c6b:

File www/qandc.wiki part of check-in [6ba52ae761] - Documentation tweaks. No changes to code. by drh on 2009-02-21 13:09:40.

0000: 3c 6e 6f 77 69 6b 69 3e 0a 3c 68 31 20 61 6c 69  <nowiki>.<h1 ali
0010: 67 6e 3d 22 63 65 6e 74 65 72 22 3e 51 75 65 73  gn="center">Ques
0020: 74 69 6f 6e 73 20 41 6e 64 20 43 72 69 74 69 63  tions And Critic
0030: 69 73 6d 73 3c 2f 68 31 3e 0a 0a 3c 70 3e 54 68  isms</h1>..<p>Th
0040: 69 73 20 70 61 67 65 20 69 73 20 61 20 63 6f 6c  is page is a col
0050: 6c 65 63 74 69 6f 6e 20 6f 66 20 72 65 61 6c 20  lection of real 
0060: 71 75 65 73 74 69 6f 6e 73 20 61 6e 64 20 63 72  questions and cr
0070: 69 74 69 63 69 73 6d 73 20 74 68 61 74 20 68 61  iticisms that ha
0080: 76 65 20 62 65 65 6e 0a 72 61 69 73 65 64 20 61  ve been.raised a
0090: 67 61 69 6e 73 74 20 66 6f 73 73 69 6c 20 74 6f  gainst fossil to
00a0: 67 65 74 68 65 72 20 77 69 74 68 20 72 65 73 70  gether with resp
00b0: 6f 6e 73 65 73 20 66 72 6f 6d 20 74 68 65 20 70  onses from the p
00c0: 72 6f 67 72 61 6d 27 73 20 61 75 74 68 6f 72 2e  rogram's author.
00d0: 3c 2f 70 3e 0a 0a 3c 70 3e 4e 6f 74 65 3a 20 53  </p>..<p>Note: S
00e0: 65 65 20 61 6c 73 6f 20 74 68 65 20 3c 61 20 68  ee also the <a h
00f0: 72 65 66 3d 22 66 61 71 2e 77 69 6b 69 22 3e 46  ref="faq.wiki">F
0100: 72 65 71 75 65 6e 74 6c 79 20 41 73 6b 65 64 20  requently Asked 
0110: 51 75 65 73 74 69 6f 6e 73 3c 2f 61 3e 2e 3c 2f  Questions</a>.</
0120: 70 3e 0a 0a 3c 62 3e 46 6f 73 73 69 6c 20 73 6f  p>..<b>Fossil so
0130: 75 6e 64 73 20 6c 69 6b 65 20 61 20 6c 6f 74 20  unds like a lot 
0140: 6f 66 20 72 65 69 6e 76 65 6e 74 69 6f 6e 20 6f  of reinvention o
0150: 66 20 74 68 65 20 77 68 65 65 6c 2e 0a 57 68 79  f the wheel..Why
0160: 20 63 72 65 61 74 65 20 79 6f 75 72 20 6f 77 6e   create your own
0170: 20 44 56 43 53 20 77 68 65 6e 20 79 6f 75 20 63   DVCS when you c
0180: 6f 75 6c 64 20 68 61 76 65 20 72 65 75 73 65 64  ould have reused
0190: 20 6d 65 72 63 75 72 69 61 6c 3f 3c 2f 62 3e 0a   mercurial?</b>.
01a0: 0a 3c 62 6c 6f 63 6b 71 75 6f 74 65 3e 0a 20 20  .<blockquote>.  
01b0: 3c 70 3e 49 20 77 72 6f 74 65 20 66 6f 73 73 69  <p>I wrote fossi
01c0: 6c 20 62 65 63 61 75 73 65 20 6e 6f 6e 65 20 6f  l because none o
01d0: 66 20 74 68 65 0a 20 20 6f 74 68 65 72 20 61 76  f the.  other av
01e0: 61 69 6c 61 62 6c 65 20 44 56 43 53 65 73 20 6d  ailable DVCSes m
01f0: 65 74 20 6d 79 20 6e 65 65 64 73 2e 20 20 49 66  et my needs.  If
0200: 20 74 68 65 20 6f 74 68 65 72 20 44 56 43 53 65   the other DVCSe
0210: 73 20 64 6f 0a 20 20 6d 65 65 74 20 79 6f 75 72  s do.  meet your
0220: 20 6e 65 65 64 73 2c 20 74 68 65 6e 20 79 6f 75   needs, then you
0230: 20 6d 69 67 68 74 20 6e 6f 74 20 6e 65 65 64 20   might not need 
0240: 66 6f 73 73 69 6c 2e 20 20 42 75 74 20 74 68 65  fossil.  But the
0250: 79 0a 20 20 64 6f 6e 27 74 20 6d 65 65 74 20 6d  y.  don't meet m
0260: 69 6e 65 2c 20 61 6e 64 20 73 6f 20 66 6f 73 73  ine, and so foss
0270: 69 6c 20 69 73 20 6e 65 63 65 73 73 61 72 79 20  il is necessary 
0280: 66 6f 72 20 6d 65 2e 3c 2f 70 3e 0a 0a 20 20 3c  for me.</p>..  <
0290: 70 3e 46 65 61 74 75 72 65 73 20 70 72 6f 76 69  p>Features provi
02a0: 64 65 64 20 62 79 20 66 6f 73 73 69 6c 20 74 68  ded by fossil th
02b0: 61 74 20 6f 6e 65 20 64 6f 65 73 20 6e 6f 74 20  at one does not 
02c0: 67 65 74 20 77 69 74 68 20 6f 74 68 65 72 0a 20  get with other. 
02d0: 20 44 56 43 53 65 73 20 69 6e 63 6c 75 64 65 3a   DVCSes include:
02e0: 3c 2f 70 3e 0a 0a 20 20 3c 6f 6c 3e 0a 20 20 3c  </p>..  <ol>.  <
02f0: 6c 69 3e 20 49 6e 74 65 67 72 61 74 65 64 20 3c  li> Integrated <
0300: 61 20 68 72 65 66 3d 22 77 69 6b 69 74 68 65 6f  a href="wikitheo
0310: 72 79 2e 77 69 6b 69 22 3e 77 69 6b 69 3c 2f 61  ry.wiki">wiki</a
0320: 3e 2e 20 3c 2f 6c 69 3e 0a 20 20 3c 6c 69 3e 20  >. </li>.  <li> 
0330: 49 6e 74 65 67 72 61 74 65 64 20 3c 61 20 68 72  Integrated <a hr
0340: 65 66 3d 22 62 75 67 74 68 65 6f 72 79 2e 77 69  ef="bugtheory.wi
0350: 6b 69 22 3e 62 75 67 20 74 72 61 63 6b 69 6e 67  ki">bug tracking
0360: 3c 2f 61 3e 20 3c 2f 6c 69 3e 0a 20 20 3c 6c 69  </a> </li>.  <li
0370: 3e 20 49 6d 6d 75 74 61 62 6c 65 20 61 72 74 69  > Immutable arti
0380: 66 61 63 74 73 20 3c 2f 6c 69 3e 0a 20 20 3c 6c  facts </li>.  <l
0390: 69 3e 20 53 65 6c 66 2d 63 6f 6e 74 61 69 6e 65  i> Self-containe
03a0: 64 2c 20 73 74 61 6e 64 2d 61 6c 6f 6e 65 20 65  d, stand-alone e
03b0: 78 65 63 75 74 61 62 6c 65 20 74 68 61 74 20 63  xecutable that c
03c0: 61 6e 20 62 65 20 72 75 6e 20 69 6e 0a 20 20 20  an be run in.   
03d0: 20 20 20 20 61 20 3c 61 20 68 72 65 66 3d 22 68      a <a href="h
03e0: 74 74 70 3a 2f 2f 65 6e 2e 77 69 6b 69 70 65 64  ttp://en.wikiped
03f0: 69 61 2e 6f 72 67 2f 77 69 6b 69 2f 43 68 72 6f  ia.org/wiki/Chro
0400: 6f 74 22 3e 63 68 72 6f 6f 74 20 6a 61 69 6c 3c  ot">chroot jail<
0410: 2f 61 3e 20 3c 2f 6c 69 3e 0a 20 20 3c 6c 69 3e  /a> </li>.  <li>
0420: 20 53 69 6d 70 6c 65 2c 20 77 65 6c 6c 2d 64 65   Simple, well-de
0430: 66 69 6e 65 64 2c 20 0a 20 20 20 20 20 20 20 3c  fined, .       <
0440: 61 20 68 72 65 66 3d 22 66 69 6c 65 66 6f 72 6d  a href="fileform
0450: 61 74 2e 77 69 6b 69 22 3e 65 6e 64 75 72 69 6e  at.wiki">endurin
0460: 67 20 66 69 6c 65 20 66 6f 72 6d 61 74 3c 2f 61  g file format</a
0470: 3e 20 3c 2f 6c 69 3e 0a 20 20 3c 6c 69 3e 20 49  > </li>.  <li> I
0480: 6e 74 65 67 72 61 74 65 64 20 3c 61 20 68 72 65  ntegrated <a hre
0490: 66 3d 22 77 65 62 75 69 2e 77 69 6b 69 22 3e 77  f="webui.wiki">w
04a0: 65 62 20 69 6e 74 65 72 66 61 63 65 3c 2f 61 3e  eb interface</a>
04b0: 20 3c 2f 6c 69 3e 0a 20 20 3c 2f 6f 6c 3e 0a 3c   </li>.  </ol>.<
04c0: 2f 62 6c 6f 63 6b 71 75 6f 74 65 3e 0a 0a 3c 62  /blockquote>..<b
04d0: 3e 57 68 79 20 73 68 6f 75 6c 64 20 49 20 75 73  >Why should I us
04e0: 65 20 74 68 69 73 20 72 61 74 68 65 72 20 74 68  e this rather th
04f0: 61 6e 20 54 72 61 63 3f 3c 2f 62 3e 0a 0a 3c 62  an Trac?</b>..<b
0500: 6c 6f 63 6b 71 75 6f 74 65 3e 0a 20 20 3c 6f 6c  lockquote>.  <ol
0510: 3e 0a 20 20 3c 6c 69 3e 20 46 6f 73 73 69 6c 20  >.  <li> Fossil 
0520: 69 73 20 64 69 73 74 72 69 62 75 74 65 64 2e 20  is distributed. 
0530: 20 59 6f 75 20 63 61 6e 20 76 69 65 77 20 61 6e   You can view an
0540: 64 2f 6f 72 20 65 64 69 74 20 74 69 63 6b 65 74  d/or edit ticket
0550: 73 2c 20 77 69 6b 69 2c 20 61 6e 64 0a 20 20 20  s, wiki, and.   
0560: 20 20 20 20 63 6f 64 65 20 77 68 69 6c 65 20 6f      code while o
0570: 66 66 20 6e 65 74 77 6f 72 6b 2c 20 74 68 65 6e  ff network, then
0580: 20 73 79 6e 63 20 79 6f 75 72 20 63 68 61 6e 67   sync your chang
0590: 65 73 20 6c 61 74 65 72 2e 20 20 57 69 74 68 20  es later.  With 
05a0: 54 72 61 63 2c 20 79 6f 75 0a 20 20 20 20 20 20  Trac, you.      
05b0: 20 63 61 6e 20 6f 6e 6c 79 20 76 69 65 77 20 61   can only view a
05c0: 6e 64 20 65 64 69 74 20 74 69 63 6b 65 74 73 20  nd edit tickets 
05d0: 61 6e 64 20 77 69 6b 69 20 77 68 69 6c 65 20 79  and wiki while y
05e0: 6f 75 20 61 72 65 20 63 6f 6e 6e 65 63 74 65 64  ou are connected
05f0: 20 74 6f 0a 20 20 20 20 20 20 20 74 68 65 20 73   to.       the s
0600: 65 72 76 65 72 2e 20 3c 2f 6c 69 3e 0a 20 20 3c  erver. </li>.  <
0610: 6c 69 3e 20 46 6f 73 73 69 6c 20 69 73 20 6c 69  li> Fossil is li
0620: 67 68 74 77 65 69 67 68 74 20 61 6e 64 20 66 75  ghtweight and fu
0630: 6c 6c 79 20 73 65 6c 66 2d 63 6f 6e 74 61 69 6e  lly self-contain
0640: 65 64 2e 20 20 49 74 20 69 73 20 76 65 72 79 20  ed.  It is very 
0650: 65 61 73 79 20 0a 20 20 20 20 20 20 20 74 6f 20  easy .       to 
0660: 73 65 74 75 70 20 6f 6e 20 61 20 6c 6f 77 2d 72  setup on a low-r
0670: 65 73 6f 75 72 63 65 20 6d 61 63 68 69 6e 65 2e  esource machine.
0680: 20 46 6f 73 73 69 6c 20 64 6f 65 73 20 6e 6f 74   Fossil does not
0690: 20 72 65 71 75 69 72 65 20 61 6e 0a 20 20 20 20   require an.    
06a0: 20 20 20 61 64 6d 69 6e 69 73 74 61 74 6f 72 2e     administator.
06b0: 3c 2f 6c 69 3e 0a 20 20 3c 6c 69 3e 20 46 6f 73  </li>.  <li> Fos
06c0: 73 69 6c 20 69 6e 74 65 67 72 61 74 65 73 20 63  sil integrates c
06d0: 6f 64 65 20 76 65 72 73 69 6f 6e 69 6e 67 20 69  ode versioning i
06e0: 6e 74 6f 20 74 68 65 20 73 61 6d 65 20 72 65 70  nto the same rep
06f0: 6f 73 69 74 6f 72 79 20 77 69 74 68 0a 20 20 20  ository with.   
0700: 20 20 20 20 77 69 6b 69 20 61 6e 64 20 74 69 63      wiki and tic
0710: 6b 65 74 73 2e 20 20 54 68 65 72 65 20 69 73 20  kets.  There is 
0720: 6e 6f 74 68 69 6e 67 20 65 78 74 72 61 20 74 6f  nothing extra to
0730: 20 61 64 64 20 6f 72 20 69 6e 73 74 61 6c 6c 2e   add or install.
0740: 0a 20 20 20 20 20 20 20 46 6f 73 73 69 6c 20 69  .       Fossil i
0750: 73 20 61 6e 20 61 6c 6c 2d 69 6e 2d 6f 6e 65 20  s an all-in-one 
0760: 74 75 72 6e 6b 65 79 20 73 6f 6c 75 74 69 6f 6e  turnkey solution
0770: 2e 20 3c 2f 6c 69 3e 0a 20 20 3c 2f 6f 6c 3e 0a  . </li>.  </ol>.
0780: 3c 2f 62 6c 6f 63 6b 71 75 6f 74 65 3e 0a 0a 3c  </blockquote>..<
0790: 62 3e 4c 6f 76 65 20 74 68 65 20 63 6f 6e 63 65  b>Love the conce
07a0: 70 74 20 68 65 72 65 2e 20 41 6e 79 6f 6e 65 20  pt here. Anyone 
07b0: 75 73 69 6e 67 20 74 68 69 73 20 66 6f 72 20 72  using this for r
07c0: 65 61 6c 20 77 6f 72 6b 20 79 65 74 3f 3c 2f 62  eal work yet?</b
07d0: 3e 0a 0a 3c 62 6c 6f 63 6b 71 75 6f 74 65 3e 0a  >..<blockquote>.
07e0: 46 6f 73 73 69 6c 20 69 73 20 3c 61 20 68 72 65  Fossil is <a hre
07f0: 66 3d 22 68 74 74 70 3a 2f 2f 77 77 77 2e 66 6f  f="http://www.fo
0800: 73 73 69 6c 2d 73 63 6d 2e 6f 72 67 2f 22 3e 73  ssil-scm.org/">s
0810: 65 6c 66 2d 68 6f 73 74 69 6e 67 3c 2f 61 3e 2e  elf-hosting</a>.
0820: 20 0a 49 6e 20 66 61 63 74 2c 20 74 68 69 73 20   .In fact, this 
0830: 70 61 67 65 20 77 61 73 20 70 72 6f 62 61 62 6c  page was probabl
0840: 79 20 64 65 6c 69 76 65 72 65 64 0a 74 6f 20 79  y delivered.to y
0850: 6f 75 72 20 77 65 62 2d 62 72 6f 77 73 65 72 20  our web-browser 
0860: 76 69 61 20 61 20 77 6f 72 6b 69 6e 67 20 66 6f  via a working fo
0870: 73 73 69 6c 20 69 6e 73 74 61 6e 63 65 2e 20 20  ssil instance.  
0880: 54 68 65 20 73 61 6d 65 20 76 69 72 74 75 61 6c  The same virtual
0890: 0a 6d 61 63 68 69 6e 65 20 74 68 61 74 20 68 6f  .machine that ho
08a0: 73 74 73 20 68 74 74 70 3a 2f 2f 77 77 77 2e 66  sts http://www.f
08b0: 6f 73 73 69 6c 2d 73 63 6d 2e 6f 72 67 2f 0a 28  ossil-scm.org/.(
08c0: 61 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 3a  a <a href="http:
08d0: 2f 2f 77 77 77 2e 6c 69 6e 6f 64 65 2e 63 6f 6d  //www.linode.com
08e0: 2f 22 3e 4c 69 6e 6f 64 65 20 37 32 30 3c 2f 61  /">Linode 720</a
08f0: 3e 29 0a 61 6c 73 6f 20 68 6f 73 74 73 20 32 34  >).also hosts 24
0900: 20 6f 74 68 65 72 20 66 6f 73 73 69 6c 20 72 65   other fossil re
0910: 70 6f 73 69 74 6f 72 69 65 73 20 66 6f 72 20 76  positories for v
0920: 61 72 69 6f 75 73 20 73 6d 61 6c 6c 20 70 72 6f  arious small pro
0930: 6a 65 63 74 73 2e 0a 54 68 65 20 64 6f 63 75 6d  jects..The docum
0940: 65 6e 74 61 74 69 6f 6e 20 66 69 6c 65 73 20 66  entation files f
0950: 6f 72 20 0a 3c 61 20 68 72 65 66 3d 22 68 74 74  or .<a href="htt
0960: 70 3a 2f 2f 77 77 77 2e 73 71 6c 69 74 65 2e 6f  p://www.sqlite.o
0970: 72 67 2f 22 3e 53 51 4c 69 74 65 3c 2f 61 3e 20  rg/">SQLite</a> 
0980: 61 72 65 20 68 6f 73 74 65 64 20 69 6e 20 61 0a  are hosted in a.
0990: 66 6f 73 73 69 6c 20 72 65 70 6f 73 69 74 6f 72  fossil repositor
09a0: 79 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 3a  y <a href="http:
09b0: 2f 2f 77 77 77 2e 73 71 6c 69 74 65 2e 6f 72 67  //www.sqlite.org
09c0: 2f 64 6f 63 73 72 63 2f 22 3e 68 65 72 65 3c 2f  /docsrc/">here</
09d0: 61 3e 2c 0a 66 6f 72 20 65 78 61 6d 70 6c 65 2e  a>,.for example.
09e0: 0a 4f 74 68 65 72 20 70 72 6f 6a 65 63 74 73 20  .Other projects 
09f0: 61 72 65 20 61 6c 73 6f 20 61 64 6f 70 74 69 6e  are also adoptin
0a00: 67 20 66 6f 73 73 69 6c 2e 20 20 42 75 74 20 66  g fossil.  But f
0a10: 6f 73 73 69 6c 20 64 6f 65 73 20 6e 6f 74 20 79  ossil does not y
0a20: 65 74 20 68 61 76 65 0a 74 68 65 20 6d 61 73 73  et have.the mass
0a30: 69 76 65 20 75 73 65 72 20 62 61 73 65 20 6f 66  ive user base of
0a40: 20 67 69 74 20 6f 72 20 6d 65 72 63 75 72 69 61   git or mercuria
0a50: 6c 2e 0a 3c 2f 62 6c 6f 63 6b 71 75 6f 74 65 3e  l..</blockquote>
0a60: 0a 0a 3c 62 3e 46 6f 73 73 69 6c 20 6c 6f 6f 6b  ..<b>Fossil look
0a70: 73 20 6c 69 6b 65 20 74 68 65 20 62 75 67 20 74  s like the bug t
0a80: 72 61 63 6b 65 72 20 74 68 61 74 20 77 6f 75 6c  racker that woul
0a90: 64 20 62 65 20 69 6e 20 79 6f 75 72 20 0a 4c 69  d be in your .Li
0aa0: 6e 6b 73 79 73 20 52 6f 75 74 65 72 27 73 20 61  nksys Router's a
0ab0: 64 6d 69 6e 69 73 74 72 61 74 69 6f 6e 20 73 63  dministration sc
0ac0: 72 65 65 6e 2e 3c 2f 70 3e 0a 0a 3c 62 6c 6f 63  reen.</p>..<bloc
0ad0: 6b 71 75 6f 74 65 3e 0a 3c 70 3e 49 20 74 61 6b  kquote>.<p>I tak
0ae0: 65 20 61 20 70 72 61 67 6d 61 74 69 63 20 61 70  e a pragmatic ap
0af0: 70 72 6f 61 63 68 20 74 6f 20 73 6f 66 74 77 61  proach to softwa
0b00: 72 65 3a 20 66 6f 72 6d 20 66 6f 6c 6c 6f 77 73  re: form follows
0b10: 20 66 75 6e 63 74 69 6f 6e 2e 0a 54 6f 20 6d 65   function..To me
0b20: 2c 20 69 74 20 69 73 20 6d 6f 72 65 20 69 6d 70  , it is more imp
0b30: 6f 72 74 61 6e 74 20 74 6f 20 68 61 76 65 20 61  ortant to have a
0b40: 20 72 65 6c 69 61 62 6c 65 2c 20 66 61 73 74 2c   reliable, fast,
0b50: 20 65 66 66 69 63 69 65 6e 74 2c 0a 65 6e 64 75   efficient,.endu
0b60: 72 69 6e 67 2c 20 61 6e 64 20 73 69 6d 70 6c 65  ring, and simple
0b70: 20 44 56 43 53 20 74 68 61 6e 20 6f 6e 65 20 74   DVCS than one t
0b80: 68 61 74 20 6c 6f 6f 6b 73 20 70 72 65 74 74 79  hat looks pretty
0b90: 2e 3c 2f 70 3e 0a 0a 3c 70 3e 4f 6e 20 74 68 65  .</p>..<p>On the
0ba0: 20 6f 74 68 65 72 20 68 61 6e 64 2c 20 69 66 20   other hand, if 
0bb0: 79 6f 75 20 68 61 76 65 20 70 61 74 63 68 65 73  you have patches
0bc0: 20 74 68 61 74 20 69 6d 70 72 6f 76 65 20 74 68   that improve th
0bd0: 65 20 61 70 70 61 72 61 6e 63 65 0a 6f 66 20 46  e apparance.of F
0be0: 6f 73 73 69 6c 20 77 69 74 68 6f 75 74 20 73 65  ossil without se
0bf0: 72 69 6f 75 73 6c 79 20 63 6f 6d 70 72 6f 6d 69  riously compromi
0c00: 73 69 6e 67 20 69 74 73 20 72 65 6c 69 61 62 6c  sing its reliabl
0c10: 69 74 79 2c 20 70 65 72 66 6f 72 6d 61 6e 63 65  ity, performance
0c20: 2c 0a 61 6e 64 2f 6f 72 20 6d 61 69 6e 74 61 69  ,.and/or maintai
0c30: 6e 61 62 69 6c 69 74 79 2c 20 49 20 77 69 6c 6c  nability, I will
0c40: 20 62 65 20 68 61 70 70 79 20 74 6f 20 61 63 63   be happy to acc
0c50: 65 70 74 20 74 68 65 6d 2e 20 20 46 6f 73 73 69  ept them.  Fossi
0c60: 6c 20 69 73 0a 73 65 6c 66 2d 68 6f 73 74 69 6e  l is.self-hostin
0c70: 67 2e 20 20 53 65 6e 64 20 65 6d 61 69 6c 20 74  g.  Send email t
0c80: 6f 20 72 65 71 75 65 73 74 20 61 20 70 61 73 73  o request a pass
0c90: 77 6f 72 64 20 74 68 61 74 20 77 69 6c 6c 20 6c  word that will l
0ca0: 65 74 0a 79 6f 75 20 70 75 73 68 20 74 6f 20 74  et.you push to t
0cb0: 68 65 20 6d 61 69 6e 20 66 6f 73 73 69 6c 20 72  he main fossil r
0cc0: 65 70 6f 73 69 74 6f 72 79 2e 3c 2f 70 3e 0a 3c  epository.</p>.<
0cd0: 2f 62 6c 6f 63 6b 71 75 6f 74 65 3e 0a 0a 3c 62  /blockquote>..<b
0ce0: 3e 49 74 20 77 6f 75 6c 64 20 62 65 20 75 73 65  >It would be use
0cf0: 66 75 6c 20 74 6f 20 68 61 76 65 20 61 20 73 65  ful to have a se
0d00: 70 61 72 61 74 65 20 61 70 70 6c 69 63 61 74 69  parate applicati
0d10: 6f 6e 20 74 68 61 74 0a 6b 65 65 70 73 20 74 68  on that.keeps th
0d20: 65 20 62 75 67 2d 74 72 61 63 6b 69 6e 67 20 64  e bug-tracking d
0d30: 61 74 61 62 61 73 65 20 69 6e 20 61 20 76 65 72  atabase in a ver
0d40: 73 69 6f 6e 65 64 20 66 69 6c 65 2e 20 54 68 61  sioned file. Tha
0d50: 74 20 66 69 6c 65 20 63 61 6e 0a 74 68 65 6e 20  t file can.then 
0d60: 62 65 20 70 75 73 68 65 64 20 61 6e 64 20 70 75  be pushed and pu
0d70: 6c 6c 65 64 20 61 6c 6f 6e 67 20 77 69 74 68 20  lled along with 
0d80: 74 68 65 20 72 65 73 74 20 72 65 70 6f 73 69 74  the rest reposit
0d90: 6f 72 79 2e 3c 2f 62 3e 0a 0a 3c 62 6c 6f 63 6b  ory.</b>..<block
0da0: 71 75 6f 74 65 3e 0a 3c 70 3e 46 6f 73 73 69 6c  quote>.<p>Fossil
0db0: 20 61 6c 72 65 61 64 79 20 3c 75 3e 64 6f 65 73   already <u>does
0dc0: 3c 2f 75 3e 20 70 75 73 68 20 61 6e 64 20 70 75  </u> push and pu
0dd0: 6c 6c 20 62 75 67 73 20 61 6c 6f 6e 67 20 77 69  ll bugs along wi
0de0: 74 68 20 74 68 65 20 66 69 6c 65 73 0a 69 6e 20  th the files.in 
0df0: 79 6f 75 72 20 72 65 70 6f 73 69 74 6f 72 79 2e  your repository.
0e00: 20 20 0a 42 75 74 20 66 6f 73 73 69 6c 20 64 6f    .But fossil do
0e10: 65 73 20 3c 75 3e 6e 6f 74 3c 2f 75 3e 20 74 72  es <u>not</u> tr
0e20: 61 63 6b 20 62 75 67 73 20 61 73 20 66 69 6c 65  ack bugs as file
0e30: 73 20 69 6e 20 74 68 65 20 73 6f 75 72 63 65 20  s in the source 
0e40: 74 72 65 65 2e 0a 54 68 61 74 20 61 70 70 72 6f  tree..That appro
0e50: 61 63 68 20 74 6f 20 62 75 67 20 74 72 61 63 6b  ach to bug track
0e60: 69 6e 67 20 77 61 73 20 72 65 6a 65 63 74 65 64  ing was rejected
0e70: 20 66 6f 72 20 74 68 72 65 65 20 72 65 61 73 6f   for three reaso
0e80: 6e 73 3a 3c 2f 70 3e 0a 0a 3c 6f 6c 3e 0a 3c 6c  ns:</p>..<ol>.<l
0e90: 69 3e 20 20 43 68 65 63 6b 2d 69 6e 73 20 69 6e  i>  Check-ins in
0ea0: 20 66 6f 73 73 69 6c 20 61 72 65 20 69 6d 6d 75   fossil are immu
0eb0: 74 61 62 6c 65 2e 20 20 53 6f 20 69 66 0a 20 20  table.  So if.  
0ec0: 20 20 20 20 74 69 63 6b 65 74 73 20 77 65 72 65      tickets were
0ed0: 20 70 61 72 74 20 6f 66 20 74 68 65 20 63 68 65   part of the che
0ee0: 63 6b 2d 69 6e 2c 20 74 68 65 6e 20 74 68 65 72  ck-in, then ther
0ef0: 65 20 77 6f 75 6c 64 20 62 65 20 6e 6f 20 77 61  e would be no wa
0f00: 79 20 74 6f 20 61 64 64 0a 20 20 20 20 20 20 6e  y to add.      n
0f10: 65 77 20 74 69 63 6b 65 74 73 20 74 6f 20 61 20  ew tickets to a 
0f20: 63 68 65 63 6b 2d 69 6e 20 61 73 20 6e 65 77 20  check-in as new 
0f30: 62 75 67 73 20 61 72 65 20 64 69 73 63 6f 76 65  bugs are discove
0f40: 72 65 64 2e 0a 0a 3c 6c 69 3e 20 20 41 6e 79 20  red...<li>  Any 
0f50: 70 72 6f 6a 65 63 74 20 6f 66 20 72 65 61 73 6f  project of reaso
0f60: 6e 61 62 6c 65 20 73 69 7a 65 20 61 6e 64 20 63  nable size and c
0f70: 6f 6d 70 6c 65 78 69 74 79 20 77 69 6c 6c 20 67  omplexity will g
0f80: 65 6e 65 72 61 74 65 20 74 68 6f 75 73 61 6e 64  enerate thousand
0f90: 73 0a 20 20 20 20 20 20 61 6e 64 20 74 68 6f 75  s.      and thou
0fa0: 73 61 6e 64 73 20 6f 66 20 74 69 63 6b 65 74 73  sands of tickets
0fb0: 2c 20 61 6e 64 20 77 65 20 64 6f 20 6e 6f 74 20  , and we do not 
0fc0: 77 61 6e 74 20 61 6c 6c 20 74 68 6f 73 65 20 74  want all those t
0fd0: 69 63 6b 65 74 20 66 69 6c 65 73 0a 20 20 20 20  icket files.    
0fe0: 20 20 63 6c 75 74 74 65 72 69 6e 67 20 74 68 65    cluttering the
0ff0: 20 73 6f 75 72 63 65 20 74 72 65 65 2e 0a 0a 3c   source tree...<
1000: 6c 69 3e 20 20 57 65 20 77 61 6e 74 20 74 69 63  li>  We want tic
1010: 6b 65 74 73 20 74 6f 20 62 65 20 6d 61 6e 61 67  kets to be manag
1020: 65 64 20 66 72 6f 6d 20 74 68 65 20 77 65 62 20  ed from the web 
1030: 69 6e 74 65 72 66 61 63 65 20 61 6e 64 20 74 6f  interface and to
1040: 20 68 61 76 65 20 61 0a 20 20 20 20 20 20 70 65   have a.      pe
1050: 72 6d 69 73 73 69 6f 6e 20 73 79 73 74 65 6d 20  rmission system 
1060: 74 68 61 74 20 69 73 20 64 69 73 74 69 6e 63 74  that is distinct
1070: 20 66 72 6f 6d 20 63 68 65 63 6b 2d 69 6e 20 70   from check-in p
1080: 65 72 6d 69 73 73 69 6f 6e 73 2e 0a 20 20 20 20  ermissions..    
1090: 20 20 49 6e 20 6f 74 68 65 72 20 77 6f 72 64 73    In other words
10a0: 2c 20 77 65 20 64 6f 20 6e 6f 74 20 77 61 6e 74  , we do not want
10b0: 20 74 6f 20 72 65 73 74 72 69 63 74 20 74 68 65   to restrict the
10c0: 20 63 72 65 61 74 69 6f 6e 20 61 6e 64 20 65 64   creation and ed
10d0: 69 74 69 6e 67 0a 20 20 20 20 20 20 6f 66 20 74  iting.      of t
10e0: 69 63 6b 65 74 73 20 74 6f 20 64 65 76 65 6c 6f  ickets to develo
10f0: 70 65 72 73 20 77 69 74 68 20 63 68 65 63 6b 2d  pers with check-
1100: 69 6e 20 70 72 69 76 69 6c 65 67 65 73 20 61 6e  in privileges an
1110: 64 20 61 6e 20 69 6e 73 74 61 6c 6c 65 64 0a 20  d an installed. 
1120: 20 20 20 20 20 63 6f 70 79 20 6f 66 20 74 68 65       copy of the
1130: 20 66 6f 73 73 69 6c 20 65 78 65 63 75 74 61 62   fossil executab
1140: 6c 65 2e 20 20 43 61 73 75 61 6c 20 70 61 73 73  le.  Casual pass
1150: 65 72 73 2d 62 79 20 6f 6e 20 74 68 65 20 69 6e  ers-by on the in
1160: 74 65 72 6e 65 74 20 73 68 6f 75 6c 64 0a 20 20  ternet should.  
1170: 20 20 20 20 62 65 20 70 65 72 6d 69 74 74 65 64      be permitted
1180: 20 74 6f 20 63 72 65 61 74 65 20 74 69 63 6b 65   to create ticke
1190: 74 73 2e 0a 3c 2f 6f 6c 3e 0a 0a 3c 70 3e 54 68  ts..</ol>..<p>Th
11a0: 65 73 65 20 70 6f 69 6e 74 73 20 61 72 65 20 72  ese points are r
11b0: 65 69 74 65 72 61 74 65 64 20 69 6e 20 74 68 65  eiterated in the
11c0: 20 6f 70 65 6e 69 6e 67 20 70 61 72 61 67 72 61   opening paragra
11d0: 70 68 73 20 6f 66 0a 74 68 65 20 3c 61 20 68 72  phs of.the <a hr
11e0: 65 66 3d 22 62 75 67 74 68 65 6f 72 79 2e 77 69  ef="bugtheory.wi
11f0: 6b 69 22 3e 42 75 67 2d 54 72 61 63 6b 69 6e 67  ki">Bug-Tracking
1200: 20 49 6e 20 46 6f 73 73 69 6c 3c 2f 61 3e 20 64   In Fossil</a> d
1210: 6f 63 75 6d 65 6e 74 2e 3c 2f 70 3e 0a 3c 2f 62  ocument.</p>.</b
1220: 6c 6f 63 6b 71 75 6f 74 65 3e 0a 0a 3c 62 3e 46  lockquote>..<b>F
1230: 6f 73 73 69 6c 20 69 73 20 61 6c 72 65 61 64 79  ossil is already
1240: 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 61 20 70   the name of a p
1250: 6c 61 6e 39 20 76 65 72 73 69 6f 6e 65 64 20 0a  lan9 versioned .
1260: 61 70 70 65 6e 64 2d 6f 6e 6c 79 20 66 69 6c 65  append-only file
1270: 73 79 73 74 65 6d 2e 3c 2f 62 3e 0a 0a 3c 62 6c  system.</b>..<bl
1280: 6f 63 6b 71 75 6f 74 65 3e 0a 49 20 64 69 64 20  ockquote>.I did 
1290: 6e 6f 74 20 6b 6e 6f 77 20 74 68 61 74 2e 20 20  not know that.  
12a0: 50 65 72 68 61 70 73 20 74 68 65 79 20 73 65 6c  Perhaps they sel
12b0: 65 63 74 65 64 20 74 68 65 20 6e 61 6d 65 20 66  ected the name f
12c0: 6f 72 20 74 68 65 20 73 61 6d 65 20 72 65 61 73  or the same reas
12d0: 6f 6e 20 74 68 61 74 0a 49 20 64 69 64 3a 20 62  on that.I did: b
12e0: 65 63 61 75 73 65 20 61 20 72 65 70 6f 73 69 74  ecause a reposit
12f0: 6f 72 79 20 77 69 74 68 20 69 6d 6d 75 74 61 62  ory with immutab
1300: 6c 65 20 61 72 74 69 66 61 63 74 73 20 70 72 65  le artifacts pre
1310: 73 65 72 76 65 73 0a 61 6e 20 65 78 63 65 6c 6c  serves.an excell
1320: 65 6e 74 20 66 6f 73 73 69 6c 20 72 65 63 6f 72  ent fossil recor
1330: 64 20 6f 66 20 61 20 6c 6f 6e 67 2d 72 75 6e 6e  d of a long-runn
1340: 69 6e 67 20 70 72 6f 6a 65 63 74 2e 0a 3c 2f 62  ing project..</b
1350: 6c 6f 63 6b 71 75 6f 74 65 3e 0a 0a 3c 62 3e 54  lockquote>..<b>T
1360: 68 65 20 69 64 65 61 20 6f 66 20 73 74 6f 72 69  he idea of stori
1370: 6e 67 20 61 20 72 65 70 6f 73 69 74 6f 72 79 20  ng a repository 
1380: 69 6e 20 61 20 62 69 6e 61 72 79 20 62 6c 6f 62  in a binary blob
1390: 20 6c 69 6b 65 20 61 6e 0a 53 51 4c 69 74 65 20   like an.SQLite 
13a0: 64 61 74 61 62 61 73 65 20 74 65 72 72 69 66 69  database terrifi
13b0: 65 73 20 6d 65 2e 3c 2f 62 3e 0a 0a 3c 62 6c 6f  es me.</b>..<blo
13c0: 63 6b 71 75 6f 74 65 3e 0a 54 68 65 20 75 73 65  ckquote>.The use
13d0: 20 6f 66 20 53 51 4c 69 74 65 20 74 6f 20 73 74   of SQLite to st
13e0: 6f 72 65 20 74 68 65 20 64 61 74 61 62 61 73 65  ore the database
13f0: 20 69 73 20 6c 69 6b 65 6c 79 20 6d 6f 72 65 20   is likely more 
1400: 73 74 61 62 6c 65 20 61 6e 64 20 73 65 63 75 72  stable and secur
1410: 65 0a 74 68 61 6e 20 61 6e 79 20 6f 74 68 65 72  e.than any other
1420: 20 61 70 70 72 6f 61 63 68 2c 20 64 75 65 20 74   approach, due t
1430: 6f 20 74 68 65 20 66 61 63 74 20 74 68 61 74 20  o the fact that 
1440: 53 51 4c 69 74 65 20 69 73 20 74 72 61 6e 73 61  SQLite is transa
1450: 63 74 69 6f 6e 61 6c 2e 0a 46 6f 73 73 69 6c 20  ctional..Fossil 
1460: 61 6c 73 6f 20 69 6d 70 6c 65 6d 65 6e 74 73 20  also implements 
1470: 73 65 76 65 72 61 6c 20 69 6e 74 65 72 6e 61 6c  several internal
1480: 0a 3c 61 20 68 72 65 66 3d 22 73 65 6c 66 63 68  .<a href="selfch
1490: 65 63 6b 2e 77 69 6b 69 22 3e 73 65 6c 66 2d 63  eck.wiki">self-c
14a0: 68 65 63 6b 73 3c 2f 61 3e 20 74 6f 20 69 6e 73  hecks</a> to ins
14b0: 75 72 65 20 74 68 61 74 20 6e 6f 20 69 6e 66 6f  ure that no info
14c0: 72 6d 61 74 69 6f 6e 0a 69 73 20 65 76 65 72 20  rmation.is ever 
14d0: 6c 6f 73 74 2e 0a 3c 2f 62 6c 6f 63 6b 71 75 6f  lost..</blockquo
14e0: 74 65 3e 0a 0a 0a 3c 62 3e 49 20 61 6d 20 64 75  te>...<b>I am du
14f0: 62 69 6f 75 73 20 6f 66 20 74 68 65 20 62 65 6e  bious of the ben
1500: 65 66 69 74 73 20 6f 66 20 69 6e 63 6c 75 64 69  efits of includi
1510: 6e 67 20 77 69 6b 69 73 20 61 6e 64 20 62 75 67  ng wikis and bug
1520: 20 74 72 61 63 6b 65 72 73 0a 64 69 72 65 63 74   trackers.direct
1530: 6c 79 20 69 6e 20 74 68 65 20 56 43 53 20 2d 20  ly in the VCS - 
1540: 65 69 74 68 65 72 20 74 68 65 79 20 61 72 65 20  either they are 
1550: 75 6e 64 65 72 2d 66 65 61 74 75 72 65 64 20 63  under-featured c
1560: 6f 6d 70 61 72 65 64 20 74 6f 20 66 75 6c 6c 0a  ompared to full.
1570: 73 6f 66 74 77 61 72 65 20 6c 69 6b 65 20 54 72  software like Tr
1580: 61 63 2c 20 6f 72 20 74 68 65 20 56 43 53 20 69  ac, or the VCS i
1590: 73 20 6d 61 73 73 69 76 65 6c 79 20 62 6c 6f 61  s massively bloa
15a0: 74 65 64 20 63 6f 6d 70 61 72 65 64 20 74 6f 0a  ted compared to.
15b0: 53 75 62 76 65 72 73 69 6f 6e 20 6f 72 20 42 61  Subversion or Ba
15c0: 7a 61 61 72 2e 3c 2f 62 3e 0a 0a 3c 62 6c 6f 63  zaar.</b>..<bloc
15d0: 6b 71 75 6f 74 65 3e 0a 3c 70 3e 49 20 68 61 76  kquote>.<p>I hav
15e0: 65 20 6e 6f 20 64 6f 75 62 74 20 74 68 61 74 20  e no doubt that 
15f0: 54 72 61 63 20 68 61 73 20 6d 61 6e 79 20 66 65  Trac has many fe
1600: 61 74 75 72 65 73 20 74 68 61 74 20 66 6f 73 73  atures that foss
1610: 69 6c 20 6c 61 63 6b 73 2e 20 20 42 75 74 20 74  il lacks.  But t
1620: 68 61 74 0a 69 73 20 6e 6f 74 20 74 68 65 20 70  hat.is not the p
1630: 6f 69 6e 74 2e 20 20 46 6f 73 73 69 6c 20 68 61  oint.  Fossil ha
1640: 73 20 73 65 76 65 72 61 6c 20 6b 65 79 20 66 65  s several key fe
1650: 61 74 75 72 65 73 20 74 68 61 74 20 54 72 61 63  atures that Trac
1660: 20 6c 61 63 6b 73 20 61 6e 64 20 74 68 61 74 0a   lacks and that.
1670: 49 20 6e 65 65 64 3a 20 20 6d 6f 73 74 20 6e 6f  I need:  most no
1680: 74 61 62 6c 79 20 74 68 65 20 66 61 63 74 20 74  tably the fact t
1690: 68 61 74 20 0a 66 6f 73 73 69 6c 20 73 75 70 70  hat .fossil supp
16a0: 6f 72 74 73 20 64 69 73 63 6f 6e 6e 65 63 74 65  orts disconnecte
16b0: 64 20 6f 70 65 72 61 74 69 6f 6e 2e 3c 2f 70 3e  d operation.</p>
16c0: 0a 0a 3c 70 3e 41 73 20 66 6f 72 20 62 6c 6f 61  ..<p>As for bloa
16d0: 74 3a 20 20 46 6f 73 73 69 6c 20 69 73 20 61 20  t:  Fossil is a 
16e0: 73 69 6e 67 6c 65 20 73 65 6c 66 2d 63 6f 6e 74  single self-cont
16f0: 61 69 6e 65 64 20 65 78 65 63 75 74 61 62 6c 65  ained executable
1700: 2e 0a 59 6f 75 20 64 6f 20 6e 6f 74 20 6e 65 65  ..You do not nee
1710: 64 20 61 6e 79 20 6f 74 68 65 72 20 70 61 63 6b  d any other pack
1720: 61 67 65 73 20 0a 28 64 69 66 66 2c 20 70 61 74  ages .(diff, pat
1730: 63 68 2c 20 6d 65 72 67 65 2c 20 63 76 73 2c 20  ch, merge, cvs, 
1740: 73 76 6e 2c 20 72 63 73 2c 20 67 69 74 2c 20 70  svn, rcs, git, p
1750: 79 74 68 6f 6e 2c 20 70 65 72 6c 2c 20 74 63 6c  ython, perl, tcl
1760: 2c 20 61 70 61 63 68 65 2c 0a 73 71 6c 69 74 65  , apache,.sqlite
1770: 2c 20 61 6e 64 20 73 6f 20 66 6f 72 74 68 29 0a  , and so forth).
1780: 69 6e 20 6f 72 64 65 72 20 74 6f 20 72 75 6e 20  in order to run 
1790: 66 6f 73 73 69 6c 2e 20 20 46 6f 73 73 69 6c 20  fossil.  Fossil 
17a0: 72 75 6e 73 20 6a 75 73 74 20 66 69 6e 65 20 69  runs just fine i
17b0: 6e 20 61 20 63 68 72 6f 6f 74 20 6a 61 69 6c 20  n a chroot jail 
17c0: 61 6c 6c 0a 62 79 20 69 74 73 65 6c 66 2e 20 20  all.by itself.  
17d0: 41 6e 64 20 74 68 65 20 73 65 6c 66 2d 63 6f 6e  And the self-con
17e0: 74 61 69 6e 65 64 20 66 6f 73 73 69 6c 0a 65 78  tained fossil.ex
17f0: 65 63 75 74 61 62 6c 65 20 69 73 20 6d 75 63 68  ecutable is much
1800: 20 6c 65 73 73 20 74 68 61 6e 20 31 4d 42 20 69   less than 1MB i
1810: 6e 20 73 69 7a 65 2e 0a 46 6f 73 73 69 6c 20 69  n size..Fossil i
1820: 73 20 74 68 65 20 76 65 72 79 20 6f 70 70 6f 73  s the very oppos
1830: 69 74 65 20 6f 66 20 62 6c 6f 61 74 2e 3c 2f 70  ite of bloat.</p
1840: 3e 0a 3c 2f 62 6c 6f 63 6b 71 75 6f 74 65 3e 0a  >.</blockquote>.
1850: 0a 0a 3c 2f 6e 6f 77 69 6b 69 3e 0a              ..</nowiki>.