Hex Artifact Content
Not logged in

Artifact bd20a9934c56da1f3990edb0eddb606f11caf3e2:

File www/qandc.wiki part of check-in [cbc8983685] - Documentation update: Add the "Questions and Criticisms" document in response to recent comments on reddit.com. by drh on 2008-10-06 00:31:23.

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 62 3e 46 6f 73 73 69 6c 20  </p>..<b>Fossil 
00e0: 73 6f 75 6e 64 73 20 6c 69 6b 65 20 61 20 6c 6f  sounds like a lo
00f0: 74 20 6f 66 20 72 65 69 6e 76 65 6e 74 69 6f 6e  t of reinvention
0100: 20 6f 66 20 74 68 65 20 77 68 65 65 6c 2e 0a 57   of the wheel..W
0110: 68 79 20 63 72 65 61 74 65 20 79 6f 75 72 20 6f  hy create your o
0120: 77 6e 20 44 56 43 53 20 77 68 65 6e 20 79 6f 75  wn DVCS when you
0130: 20 63 6f 75 6c 64 20 68 61 76 65 20 72 65 75 73   could have reus
0140: 65 64 20 6d 65 72 63 75 72 69 61 6c 3f 3c 2f 62  ed mercurial?</b
0150: 3e 0a 0a 3c 62 6c 6f 63 6b 71 75 6f 74 65 3e 0a  >..<blockquote>.
0160: 20 20 49 20 77 72 6f 74 65 20 69 74 20 62 65 63    I wrote it bec
0170: 61 75 73 65 20 6e 6f 6e 65 20 6f 66 20 74 68 65  ause none of the
0180: 0a 20 20 6f 74 68 65 72 20 61 76 61 69 6c 61 62  .  other availab
0190: 6c 65 20 44 56 43 53 65 73 20 6d 65 74 20 6d 79  le DVCSes met my
01a0: 20 6e 65 65 64 73 2e 20 20 49 66 20 74 68 65 20   needs.  If the 
01b0: 6f 74 68 65 72 20 44 56 43 53 65 73 20 64 6f 0a  other DVCSes do.
01c0: 20 20 6d 65 65 74 20 79 6f 75 72 20 6e 65 65 64    meet your need
01d0: 73 2c 20 74 68 65 6e 20 79 6f 75 20 70 72 6f 62  s, then you prob
01e0: 61 62 6c 79 20 64 6f 20 6e 6f 74 20 6e 65 65 64  ably do not need
01f0: 20 66 6f 73 73 69 6c 2e 20 20 42 75 74 20 74 68   fossil.  But th
0200: 65 79 0a 20 20 64 6f 6e 27 74 20 6d 65 65 74 20  ey.  don't meet 
0210: 6d 69 6e 65 2c 20 61 6e 64 20 73 6f 20 66 6f 73  mine, and so fos
0220: 73 69 6c 20 69 73 20 6e 65 63 65 73 73 61 72 79  sil is necessary
0230: 20 66 6f 72 20 6d 65 2e 0a 0a 20 20 46 65 61 74   for me...  Feat
0240: 75 72 65 20 70 72 6f 76 69 64 65 64 20 62 79 20  ure provided by 
0250: 66 6f 73 73 69 6c 20 74 68 61 74 20 6f 6e 65 20  fossil that one 
0260: 64 6f 65 73 20 6e 6f 74 20 67 65 74 20 77 69 74  does not get wit
0270: 68 20 6f 74 68 65 72 0a 20 20 44 56 43 53 65 73  h other.  DVCSes
0280: 3a 0a 0a 20 20 3c 6f 6c 3e 0a 20 20 3c 6c 69 3e  :..  <ol>.  <li>
0290: 20 49 6e 74 65 67 72 61 74 65 64 20 3c 61 20 68   Integrated <a h
02a0: 72 65 66 3d 22 77 69 6b 69 74 68 65 6f 72 79 2e  ref="wikitheory.
02b0: 77 69 6b 69 22 3e 77 69 6b 69 3c 2f 61 3e 2e 20  wiki">wiki</a>. 
02c0: 3c 2f 6c 69 3e 0a 20 20 3c 6c 69 3e 20 49 6e 74  </li>.  <li> Int
02d0: 65 67 72 61 74 65 64 20 3c 61 20 68 72 65 66 3d  egrated <a href=
02e0: 22 62 75 67 74 68 65 6f 72 79 2e 77 69 6b 69 22  "bugtheory.wiki"
02f0: 3e 62 75 67 20 74 72 61 63 6b 69 6e 67 3c 2f 61  >bug tracking</a
0300: 3e 20 3c 2f 6c 69 3e 0a 20 20 3c 6c 69 3e 20 49  > </li>.  <li> I
0310: 6d 6d 75 74 61 62 6c 65 20 61 72 74 69 66 61 63  mmutable artifac
0320: 74 73 20 3c 2f 6c 69 3e 0a 20 20 3c 6c 69 3e 20  ts </li>.  <li> 
0330: 73 65 6c 66 2d 63 6f 6e 74 61 69 6e 65 64 2c 20  self-contained, 
0340: 73 74 61 6e 64 2d 61 6c 6f 6e 65 20 65 78 65 63  stand-alone exec
0350: 75 74 61 62 6c 65 20 3c 2f 6c 69 3e 0a 20 20 3c  utable </li>.  <
0360: 6c 69 3e 20 73 69 6d 70 6c 65 2c 20 77 65 6c 6c  li> simple, well
0370: 2d 64 65 66 69 6e 65 64 2c 20 0a 20 20 20 20 20  -defined, .     
0380: 20 20 3c 61 20 68 72 65 66 3d 22 66 69 6c 65 66    <a href="filef
0390: 6f 72 6d 61 74 2e 77 69 6b 69 22 3e 65 6e 64 75  ormat.wiki">endu
03a0: 72 69 6e 67 20 66 69 6c 65 20 66 6f 72 6d 61 74  ring file format
03b0: 3c 2f 61 3e 20 3c 2f 6c 69 3e 0a 20 20 3c 2f 6f  </a> </li>.  </o
03c0: 6c 3e 0a 3c 2f 62 6c 6f 63 6b 71 75 6f 74 65 3e  l>.</blockquote>
03d0: 0a 0a 3c 62 3e 57 68 79 20 73 68 6f 75 6c 64 20  ..<b>Why should 
03e0: 49 20 75 73 65 20 74 68 69 73 20 72 61 74 68 65  I use this rathe
03f0: 72 20 74 68 61 6e 20 54 72 61 63 3f 3c 2f 62 3e  r than Trac?</b>
0400: 0a 0a 3c 62 6c 6f 63 6b 71 75 6f 74 65 3e 0a 20  ..<blockquote>. 
0410: 20 3c 6f 6c 3e 0a 20 20 3c 6c 69 3e 20 46 6f 73   <ol>.  <li> Fos
0420: 73 69 6c 20 69 73 20 64 69 73 74 72 69 62 75 74  sil is distribut
0430: 65 64 2e 20 20 59 6f 75 20 63 61 6e 20 76 69 65  ed.  You can vie
0440: 77 20 61 6e 64 2f 6f 72 20 65 64 69 74 20 74 69  w and/or edit ti
0450: 63 6b 65 74 73 2c 20 77 69 6b 69 2c 20 61 6e 64  ckets, wiki, and
0460: 0a 20 20 20 20 20 20 20 63 6f 64 65 20 77 68 69  .       code whi
0470: 6c 65 20 6f 66 66 20 6e 65 74 77 6f 72 6b 2c 20  le off network, 
0480: 74 68 65 6e 20 73 79 6e 63 20 79 6f 75 72 20 63  then sync your c
0490: 68 61 6e 67 65 73 20 6c 61 74 65 72 2e 20 20 57  hanges later.  W
04a0: 69 74 68 20 54 72 61 63 2c 20 79 6f 75 0a 20 20  ith Trac, you.  
04b0: 20 20 20 20 20 63 61 6e 20 6f 6e 6c 79 20 76 69       can only vi
04c0: 65 77 20 61 6e 64 20 65 64 69 74 20 74 69 63 6b  ew and edit tick
04d0: 65 74 73 20 61 6e 64 20 77 69 6b 69 20 77 68 69  ets and wiki whi
04e0: 6c 65 20 79 6f 75 20 61 72 65 20 63 6f 6e 6e 65  le you are conne
04f0: 63 74 65 64 20 74 6f 0a 20 20 20 20 20 20 20 74  cted to.       t
0500: 68 65 20 73 65 72 76 65 72 2e 20 3c 2f 6c 69 3e  he server. </li>
0510: 0a 20 20 3c 6c 69 3e 20 46 6f 73 73 69 6c 20 69  .  <li> Fossil i
0520: 73 20 6c 69 67 68 74 77 65 69 67 68 74 20 61 6e  s lightweight an
0530: 64 20 66 75 6c 6c 79 20 73 65 6c 66 2d 63 6f 6e  d fully self-con
0540: 74 61 69 6e 65 64 2e 20 20 49 74 20 69 73 20 76  tained.  It is v
0550: 65 72 79 20 65 61 73 79 20 0a 20 20 20 20 20 20  ery easy .      
0560: 20 74 6f 20 73 65 74 75 70 20 6f 6e 20 61 20 6c   to setup on a l
0570: 6f 77 2d 72 65 73 6f 75 72 63 65 20 6d 61 63 68  ow-resource mach
0580: 69 6e 65 2e 20 46 6f 73 73 69 6c 20 64 6f 65 73  ine. Fossil does
0590: 20 6e 6f 74 20 72 65 71 75 69 72 65 20 61 6e 0a   not require an.
05a0: 20 20 20 20 20 20 20 61 64 6d 69 6e 69 73 74 61         administa
05b0: 74 6f 72 2e 3c 2f 6c 69 3e 0a 20 20 3c 6c 69 3e  tor.</li>.  <li>
05c0: 20 46 6f 73 73 69 6c 20 69 6e 74 65 67 72 61 74   Fossil integrat
05d0: 65 73 20 63 6f 64 65 20 76 65 72 73 69 6f 6e 69  es code versioni
05e0: 6e 67 20 69 6e 74 6f 20 74 68 65 20 73 61 6d 65  ng into the same
05f0: 20 72 65 70 6f 73 69 74 6f 72 79 20 77 69 74 68   repository with
0600: 0a 20 20 20 20 20 20 20 77 69 6b 69 20 61 6e 64  .       wiki and
0610: 20 74 69 63 6b 65 74 73 2e 20 20 54 68 65 72 65   tickets.  There
0620: 20 69 73 20 6e 6f 74 68 69 6e 67 20 65 78 74 72   is nothing extr
0630: 61 20 74 6f 20 61 64 64 20 6f 72 20 69 6e 73 74  a to add or inst
0640: 61 6c 6c 2e 0a 20 20 20 20 20 20 20 46 6f 73 73  all..       Foss
0650: 69 6c 20 69 73 20 61 6e 20 61 6c 6c 2d 69 6e 2d  il is an all-in-
0660: 6f 6e 65 20 74 75 72 6e 6b 65 79 20 73 6f 6c 75  one turnkey solu
0670: 74 69 6f 6e 2e 20 3c 2f 6c 69 3e 0a 20 20 3c 2f  tion. </li>.  </
0680: 6f 6c 3e 0a 3c 2f 62 6c 6f 63 6b 71 75 6f 74 65  ol>.</blockquote
0690: 3e 0a 0a 3c 62 3e 4c 6f 76 65 20 74 68 65 20 63  >..<b>Love the c
06a0: 6f 6e 63 65 70 74 20 68 65 72 65 2e 20 41 6e 79  oncept here. Any
06b0: 6f 6e 65 20 75 73 69 6e 67 20 74 68 69 73 20 66  one using this f
06c0: 6f 72 20 72 65 61 6c 20 77 6f 72 6b 20 79 65 74  or real work yet
06d0: 3f 3c 2f 62 3e 0a 0a 3c 62 6c 6f 63 6b 71 75 6f  ?</b>..<blockquo
06e0: 74 65 3e 0a 46 6f 73 73 69 6c 20 69 73 20 3c 61  te>.Fossil is <a
06f0: 20 68 72 65 66 3d 22 68 74 74 70 3a 2f 2f 77 77   href="http://ww
0700: 77 2e 66 6f 73 73 69 6c 2d 73 63 6d 2e 6f 72 67  w.fossil-scm.org
0710: 2f 22 3e 73 65 6c 66 2d 68 6f 73 74 69 6e 67 3c  /">self-hosting<
0720: 2f 61 3e 2e 20 0a 49 6e 20 66 61 63 74 2c 20 74  /a>. .In fact, t
0730: 68 69 73 20 70 61 67 65 20 77 61 73 20 70 72 6f  his page was pro
0740: 62 61 62 6c 79 20 64 65 6c 69 76 65 72 65 64 0a  bably delivered.
0750: 74 6f 20 79 6f 75 72 20 77 65 62 2d 62 72 6f 77  to your web-brow
0760: 73 65 72 20 76 69 61 20 61 20 77 6f 72 6b 69 6e  ser via a workin
0770: 67 20 66 6f 73 73 69 6c 20 69 6e 73 74 61 6e 63  g fossil instanc
0780: 65 2e 20 20 54 68 65 20 73 61 6d 65 20 76 69 72  e.  The same vir
0790: 74 75 61 6c 0a 6d 61 63 68 69 6e 65 20 74 68 61  tual.machine tha
07a0: 74 20 68 6f 73 74 73 20 68 74 74 70 3a 2f 2f 77  t hosts http://w
07b0: 77 77 2e 66 6f 73 73 69 6c 2d 73 63 6d 2e 6f 72  ww.fossil-scm.or
07c0: 67 2f 0a 28 61 20 3c 61 20 68 72 65 66 3d 22 68  g/.(a <a href="h
07d0: 74 74 70 3a 2f 2f 77 77 77 2e 6c 69 6e 6f 64 65  ttp://www.linode
07e0: 2e 63 6f 6d 2f 22 3e 4c 69 6e 6f 64 65 20 37 32  .com/">Linode 72
07f0: 30 3c 2f 61 3e 29 0a 61 6c 73 6f 20 68 6f 73 74  0</a>).also host
0800: 73 20 32 34 20 6f 74 68 65 72 20 66 6f 73 73 69  s 24 other fossi
0810: 6c 20 72 65 70 6f 73 69 74 6f 72 69 65 73 20 66  l repositories f
0820: 6f 72 20 76 61 72 69 6f 75 73 20 73 6d 61 6c 6c  or various small
0830: 20 70 72 6f 6a 65 63 74 73 2e 0a 54 68 65 20 64   projects..The d
0840: 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 69 6c  ocumentation fil
0850: 65 73 20 66 6f 72 20 0a 3c 61 20 68 72 65 66 3d  es for .<a href=
0860: 22 68 74 74 70 3a 2f 2f 77 77 77 2e 73 71 6c 69  "http://www.sqli
0870: 74 65 2e 6f 72 67 2f 22 3e 53 51 4c 69 74 65 3c  te.org/">SQLite<
0880: 2f 61 3e 20 61 72 65 20 68 6f 73 74 65 64 20 69  /a> are hosted i
0890: 6e 20 61 0a 66 6f 73 73 69 6c 20 72 65 70 6f 73  n a.fossil repos
08a0: 69 74 6f 72 79 20 3c 61 20 68 72 65 66 3d 22 68  itory <a href="h
08b0: 74 74 70 3a 2f 2f 77 77 77 2e 73 71 6c 69 74 65  ttp://www.sqlite
08c0: 2e 6f 72 67 2f 64 6f 63 73 72 63 2f 22 3e 68 65  .org/docsrc/">he
08d0: 72 65 3c 2f 61 3e 2c 0a 66 6f 72 20 65 78 61 6d  re</a>,.for exam
08e0: 70 6c 65 2e 0a 4f 74 68 65 72 20 70 72 6f 6a 65  ple..Other proje
08f0: 63 74 73 20 61 72 65 20 61 6c 73 6f 20 61 64 6f  cts are also ado
0900: 70 74 69 6e 67 20 66 6f 73 73 69 6c 2e 20 20 42  pting fossil.  B
0910: 75 74 20 66 6f 73 73 69 6c 20 64 6f 65 73 20 6e  ut fossil does n
0920: 6f 74 20 79 65 74 20 68 61 76 65 0a 74 68 65 20  ot yet have.the 
0930: 6d 61 73 73 69 76 65 20 75 73 65 72 20 62 61 73  massive user bas
0940: 65 20 6f 66 20 67 69 74 20 6f 72 20 6d 65 63 75  e of git or mecu
0950: 72 69 61 6c 2e 0a 3c 2f 62 6c 6f 63 6b 71 75 6f  rial..</blockquo
0960: 74 65 3e 0a 0a 3c 62 3e 46 6f 73 73 69 6c 20 6c  te>..<b>Fossil l
0970: 6f 6f 6b 73 20 6c 69 6b 65 20 74 68 65 20 62 75  ooks like the bu
0980: 67 20 74 72 61 63 6b 65 72 20 74 68 61 74 20 77  g tracker that w
0990: 6f 75 6c 64 20 62 65 20 69 6e 20 79 6f 75 72 20  ould be in your 
09a0: 0a 4c 69 6e 6b 73 79 73 20 52 6f 75 74 65 72 27  .Linksys Router'
09b0: 73 20 61 64 6d 69 6e 69 73 74 72 61 74 69 6f 6e  s administration
09c0: 20 73 63 72 65 65 6e 2e 3c 2f 70 3e 0a 0a 3c 62   screen.</p>..<b
09d0: 6c 6f 63 6b 71 75 6f 74 65 3e 0a 3c 70 3e 49 20  lockquote>.<p>I 
09e0: 74 61 6b 65 20 61 20 70 72 61 67 6d 61 74 69 63  take a pragmatic
09f0: 20 61 70 70 72 6f 61 63 68 20 74 6f 20 73 6f 66   approach to sof
0a00: 74 77 61 72 65 3a 20 66 6f 72 6d 20 66 6f 6c 6c  tware: form foll
0a10: 6f 77 73 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 54  ows functions..T
0a20: 6f 20 6d 65 2c 20 69 74 20 69 73 20 6d 6f 72 65  o me, it is more
0a30: 20 69 6d 70 6f 72 74 61 6e 74 20 74 6f 20 68 61   important to ha
0a40: 76 65 20 61 20 68 69 67 68 6c 79 20 72 65 6c 69  ve a highly reli
0a50: 61 62 6c 65 2c 20 66 61 73 74 2c 20 65 66 66 69  able, fast, effi
0a60: 63 69 65 6e 74 2c 0a 65 6e 64 75 72 69 6e 67 2c  cient,.enduring,
0a70: 20 61 6e 64 20 73 69 6d 70 6c 65 20 44 56 43 53   and simple DVCS
0a80: 20 74 68 61 6e 20 6f 6e 65 20 74 68 61 74 20 6c   than one that l
0a90: 6f 6f 6b 73 20 70 72 65 74 74 79 2e 3c 2f 70 3e  ooks pretty.</p>
0aa0: 0a 0a 3c 70 3e 4f 6e 20 74 68 65 20 6f 74 68 65  ..<p>On the othe
0ab0: 72 20 68 61 6e 64 2c 20 69 66 20 79 6f 75 20 68  r hand, if you h
0ac0: 61 76 65 20 70 61 74 63 68 65 73 20 74 68 61 74  ave patches that
0ad0: 20 69 6d 70 72 6f 76 65 20 74 68 65 20 61 70 70   improve the app
0ae0: 61 72 61 6e 63 65 0a 6f 66 20 46 6f 73 73 69 6c  arance.of Fossil
0af0: 20 77 69 74 68 6f 75 74 20 73 65 72 69 6f 75 73   without serious
0b00: 6c 79 20 63 6f 6d 70 72 6f 6d 69 73 69 6e 67 20  ly compromising 
0b10: 69 74 73 20 72 65 6c 69 61 62 6c 69 74 79 2c 20  its reliablity, 
0b20: 70 65 72 66 6f 72 6d 61 6e 63 65 2c 0a 61 6e 20  performance,.an 
0b30: 6d 61 69 6e 74 61 69 6e 61 62 69 6c 69 74 79 2c  maintainability,
0b40: 20 49 20 77 69 6c 6c 20 62 65 20 68 61 70 70 79   I will be happy
0b50: 20 74 6f 20 61 63 63 65 70 74 20 74 68 65 6d 2e   to accept them.
0b60: 20 20 46 6f 73 73 69 6c 20 69 73 0a 73 65 6c 66    Fossil is.self
0b70: 2d 68 6f 73 74 69 6e 67 2e 20 20 57 72 69 74 65  -hosting.  Write
0b80: 20 74 6f 20 74 68 65 20 6d 61 69 6e 74 61 69 6e   to the maintain
0b90: 65 72 73 20 66 6f 72 20 61 20 70 61 73 73 77 6f  ers for a passwo
0ba0: 72 64 20 74 68 61 74 20 77 69 6c 6c 20 6c 65 74  rd that will let
0bb0: 0a 79 6f 75 20 70 75 73 68 20 74 6f 20 74 68 65  .you push to the
0bc0: 20 6d 61 69 6e 20 66 6f 73 73 69 6c 20 72 65 70   main fossil rep
0bd0: 6f 73 69 74 6f 72 79 2e 3c 2f 70 3e 0a 3c 2f 62  ository.</p>.</b
0be0: 6c 6f 63 6b 71 75 6f 74 65 3e 0a 0a 3c 62 3e 49  lockquote>..<b>I
0bf0: 74 20 77 6f 75 6c 64 20 62 65 20 75 73 65 66 75  t would be usefu
0c00: 6c 20 74 6f 20 68 61 76 65 20 61 20 73 65 70 61  l to have a sepa
0c10: 72 61 74 65 20 61 70 70 6c 69 63 61 74 69 6f 6e  rate application
0c20: 20 74 68 61 74 0a 6b 65 65 70 73 20 74 68 65 20   that.keeps the 
0c30: 62 75 67 2d 74 72 61 63 6b 69 6e 67 20 64 61 74  bug-tracking dat
0c40: 61 62 61 73 65 20 69 6e 20 61 20 76 65 72 73 69  abase in a versi
0c50: 6f 6e 65 64 20 66 69 6c 65 64 2e 20 54 68 61 74  oned filed. That
0c60: 20 66 69 6c 65 20 63 61 6e 0a 74 68 65 6e 20 62   file can.then b
0c70: 65 20 70 75 73 68 65 64 20 61 6e 64 20 70 75 6c  e pushed and pul
0c80: 6c 65 64 20 61 6c 6f 6e 67 20 77 69 74 68 20 74  led along with t
0c90: 68 65 20 72 65 73 74 20 72 65 70 6f 73 69 74 6f  he rest reposito
0ca0: 72 79 2e 3c 2f 62 3e 0a 0a 3c 62 6c 6f 63 6b 71  ry.</b>..<blockq
0cb0: 75 6f 74 65 3e 0a 3c 70 3e 54 68 69 73 20 61 64  uote>.<p>This ad
0cc0: 64 72 65 73 73 65 64 20 69 6e 20 74 68 65 20 6f  dressed in the o
0cd0: 70 65 6e 69 6e 67 20 70 61 72 61 67 72 61 70 68  pening paragraph
0ce0: 73 20 6f 66 0a 74 68 65 20 3c 61 20 68 72 65 66  s of.the <a href
0cf0: 3d 22 62 75 67 74 68 65 6f 72 79 2e 77 69 6b 69  ="bugtheory.wiki
0d00: 22 3e 42 75 67 2d 54 72 61 63 6b 69 6e 67 20 49  ">Bug-Tracking I
0d10: 6e 20 46 6f 73 73 69 6c 3c 2f 61 3e 20 64 6f 63  n Fossil</a> doc
0d20: 75 6d 65 6e 74 2e 0a 3c 2f 62 6c 6f 63 6b 71 75  ument..</blockqu
0d30: 6f 74 65 3e 0a 0a 3c 62 3e 46 6f 73 73 69 6c 20  ote>..<b>Fossil 
0d40: 69 73 20 61 6c 72 65 61 64 79 20 74 68 65 20 6e  is already the n
0d50: 61 6d 65 20 6f 66 20 61 20 70 6c 61 6e 39 20 76  ame of a plan9 v
0d60: 65 72 73 69 6f 6e 65 64 20 0a 61 70 70 65 6e 64  ersioned .append
0d70: 2d 6f 6e 6c 79 20 66 69 6c 65 73 79 73 74 65 6d  -only filesystem
0d80: 2e 3c 2f 62 3e 0a 0a 3c 62 6c 6f 63 6b 71 75 6f  .</b>..<blockquo
0d90: 74 65 3e 0a 49 20 64 69 64 20 6e 6f 74 20 6b 6e  te>.I did not kn
0da0: 6f 77 20 74 68 61 74 2e 20 20 50 65 72 68 61 70  ow that.  Perhap
0db0: 73 20 74 68 65 79 20 63 68 6f 6f 73 65 20 74 68  s they choose th
0dc0: 65 20 6e 61 6d 65 20 66 6f 72 20 74 68 65 20 73  e name for the s
0dd0: 61 6d 65 20 72 65 61 73 6f 6e 20 74 68 61 74 0a  ame reason that.
0de0: 49 20 64 69 64 3a 20 62 65 63 61 75 73 65 20 61  I did: because a
0df0: 20 72 65 70 6f 73 69 74 6f 72 79 20 77 69 74 68   repository with
0e00: 20 69 6d 6d 75 74 61 62 6c 65 20 61 72 74 69 66   immutable artif
0e10: 61 63 74 73 20 70 72 65 73 65 72 76 65 73 0a 61  acts preserves.a
0e20: 6e 64 20 65 78 63 65 6c 6c 65 6e 74 20 66 6f 73  nd excellent fos
0e30: 73 69 6c 20 72 65 63 6f 72 64 20 6f 66 20 61 20  sil record of a 
0e40: 6c 6f 6e 67 2d 72 75 6e 6e 69 6e 67 20 70 72 6f  long-running pro
0e50: 6a 65 63 74 2e 0a 3c 2f 62 6c 6f 63 6b 71 75 6f  ject..</blockquo
0e60: 74 65 3e 0a 0a 3c 62 3e 54 68 65 20 69 64 65 61  te>..<b>The idea
0e70: 20 6f 66 20 73 74 6f 72 69 6e 67 20 61 20 72 65   of storing a re
0e80: 70 6f 73 69 74 6f 72 79 20 69 6e 20 61 20 62 69  pository in a bi
0e90: 6e 61 72 79 20 62 6c 6f 62 20 6c 69 6b 65 20 61  nary blob like a
0ea0: 6e 0a 53 51 4c 69 74 65 20 64 61 74 61 62 61 73  n.SQLite databas
0eb0: 65 20 74 65 72 72 69 66 69 65 73 20 6d 65 2e 3c  e terrifies me.<
0ec0: 2f 62 3e 0a 0a 3c 62 6c 6f 63 6b 71 75 6f 74 65  /b>..<blockquote
0ed0: 3e 0a 54 68 65 20 75 73 65 20 6f 66 20 53 51 4c  >.The use of SQL
0ee0: 69 74 65 20 74 6f 20 73 74 6f 72 65 20 74 68 65  ite to store the
0ef0: 20 64 61 74 61 62 61 73 65 20 69 73 20 6c 69 6b   database is lik
0f00: 65 6c 79 20 6d 6f 72 65 20 73 74 61 62 6c 65 20  ely more stable 
0f10: 61 6e 64 20 73 65 63 75 72 65 0a 74 68 61 6e 20  and secure.than 
0f20: 61 6e 79 20 6f 74 68 65 72 20 61 70 70 72 6f 61  any other approa
0f30: 63 68 2c 20 64 75 65 20 74 6f 20 74 68 65 20 66  ch, due to the f
0f40: 61 63 74 20 74 68 61 74 20 53 51 4c 69 74 65 20  act that SQLite 
0f50: 69 73 20 74 72 61 6e 73 61 63 74 69 6f 6e 61 6c  is transactional
0f60: 2e 0a 46 6f 73 73 69 6c 20 61 6c 73 6f 20 69 6d  ..Fossil also im
0f70: 70 6c 65 6d 65 6e 74 73 20 73 65 76 65 72 61 6c  plements several
0f80: 20 69 6e 74 65 72 6e 61 6c 0a 3c 61 20 68 72 65   internal.<a hre
0f90: 66 3d 22 73 65 6c 66 63 68 65 63 6b 2e 77 69 6b  f="selfcheck.wik
0fa0: 69 22 3e 73 65 6c 66 2d 63 68 65 63 6b 73 3c 2f  i">self-checks</
0fb0: 61 3e 20 74 6f 20 69 6e 73 75 72 65 20 74 68 61  a> to insure tha
0fc0: 74 20 6e 6f 20 69 6e 66 6f 72 6d 61 74 69 6f 6e  t no information
0fd0: 0a 69 73 20 65 76 65 72 79 20 6c 6f 73 74 2e 20  .is every lost. 
0fe0: 20 41 6e 64 2c 20 69 6e 64 65 65 64 2c 20 69 6e   And, indeed, in
0ff0: 20 6f 76 65 72 20 61 20 79 65 61 72 20 6f 66 20   over a year of 
1000: 6f 70 65 72 61 74 69 6f 6e 2c 20 74 68 65 72 65  operation, there
1010: 20 68 61 76 65 20 62 65 65 6e 0a 6e 6f 20 72 65   have been.no re
1020: 70 6f 72 74 73 20 6f 66 20 64 61 74 61 20 6c 6f  ports of data lo
1030: 73 73 20 64 75 65 20 74 6f 20 61 20 46 6f 73 73  ss due to a Foss
1040: 69 6c 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 2e 0a  il malfunction..
1050: 3c 2f 62 6c 6f 63 6b 71 75 6f 74 65 3e 0a 0a 0a  </blockquote>...
1060: 3c 62 3e 49 20 61 6d 20 64 75 62 69 6f 75 73 20  <b>I am dubious 
1070: 6f 66 20 74 68 65 20 62 65 6e 65 66 69 74 73 20  of the benefits 
1080: 6f 66 20 69 6e 63 6c 75 64 69 6e 67 20 77 69 6b  of including wik
1090: 69 73 20 61 6e 64 20 62 75 67 20 74 72 61 63 6b  is and bug track
10a0: 65 72 73 0a 64 69 72 65 63 74 6c 79 20 69 6e 20  ers.directly in 
10b0: 74 68 65 20 56 43 53 20 2d 20 65 69 74 68 65 72  the VCS - either
10c0: 20 74 68 65 79 20 61 72 65 20 75 6e 64 65 72 2d   they are under-
10d0: 66 65 61 74 75 72 65 64 20 63 6f 6d 70 61 72 65  featured compare
10e0: 64 20 74 6f 20 66 75 6c 6c 0a 73 6f 66 74 77 61  d to full.softwa
10f0: 72 65 20 6c 69 6b 65 20 54 72 61 63 2c 20 6f 72  re like Trac, or
1100: 20 74 68 65 20 56 43 53 20 69 73 20 6d 61 73 73   the VCS is mass
1110: 69 76 65 6c 79 20 62 6c 6f 61 74 65 64 20 63 6f  ively bloated co
1120: 6d 70 61 72 65 64 20 74 6f 0a 53 75 62 76 65 72  mpared to.Subver
1130: 73 69 6f 6e 20 6f 72 20 42 61 7a 61 61 72 2e 3c  sion or Bazaar.<
1140: 2f 62 3e 0a 0a 3c 62 6c 6f 63 6b 71 75 6f 74 65  /b>..<blockquote
1150: 3e 0a 3c 70 3e 49 20 68 61 76 65 20 6e 6f 20 64  >.<p>I have no d
1160: 6f 75 62 74 20 74 68 61 74 20 54 72 61 63 20 68  oubt that Trac h
1170: 61 73 20 6d 61 6e 79 20 66 65 61 74 75 72 65 73  as many features
1180: 20 74 68 61 74 20 66 6f 73 73 69 6c 20 6c 61 63   that fossil lac
1190: 6b 73 2e 20 20 42 75 74 20 74 68 61 74 0a 69 73  ks.  But that.is
11a0: 20 6e 6f 74 20 74 68 65 20 70 6f 69 6e 74 2e 20   not the point. 
11b0: 20 46 6f 73 73 69 6c 20 68 61 73 20 73 65 76 65   Fossil has seve
11c0: 72 61 6c 20 6b 65 79 20 66 65 61 74 75 72 65 73  ral key features
11d0: 20 74 68 61 74 20 54 72 61 63 20 6c 61 63 6b 73   that Trac lacks
11e0: 20 61 6e 64 20 74 68 61 74 0a 74 68 65 20 70 72   and that.the pr
11f0: 69 6d 61 72 79 20 66 6f 73 73 69 6c 20 61 75 74  imary fossil aut
1200: 68 6f 72 20 63 61 6e 6e 6f 74 20 6c 69 76 65 20  hor cannot live 
1210: 77 69 74 68 6f 75 74 3a 20 20 6d 6f 73 74 20 6e  without:  most n
1220: 6f 74 61 62 6c 79 20 74 68 65 20 66 61 63 74 20  otably the fact 
1230: 74 68 61 74 20 0a 66 6f 73 73 69 6c 20 73 75 70  that .fossil sup
1240: 70 6f 72 74 73 20 64 69 73 63 6f 6e 6e 65 63 74  ports disconnect
1250: 65 64 20 6f 70 65 72 61 74 69 6f 6e 2e 3c 2f 70  ed operation.</p
1260: 3e 0a 0a 3c 70 3e 41 73 20 66 6f 72 20 62 6c 6f  >..<p>As for blo
1270: 61 74 3a 20 20 46 6f 73 73 69 6c 20 69 73 20 61  at:  Fossil is a
1280: 20 73 69 6e 67 6c 65 20 66 75 6c 6c 79 20 73 65   single fully se
1290: 6c 66 2d 63 6f 6e 74 61 69 6e 65 64 20 65 78 65  lf-contained exe
12a0: 63 75 74 61 62 6c 65 2e 0a 59 6f 75 20 64 6f 20  cutable..You do 
12b0: 6e 6f 74 20 6e 65 65 64 20 61 6e 79 20 65 78 74  not need any ext
12c0: 65 72 6e 61 6c 20 70 61 63 6b 61 67 65 73 20 69  ernal packages i
12d0: 6e 20 6f 72 64 65 72 20 74 6f 20 72 75 6e 20 66  n order to run f
12e0: 6f 73 73 69 6c 2e 20 20 59 6f 75 20 64 6f 20 6e  ossil.  You do n
12f0: 6f 74 0a 6e 65 65 64 20 64 69 66 66 2c 20 70 61  ot.need diff, pa
1300: 74 63 68 2c 20 6d 65 72 67 65 2c 20 63 76 73 2c  tch, merge, cvs,
1310: 20 73 76 6e 2c 20 72 63 73 2c 20 70 79 74 68 6f   svn, rcs, pytho
1320: 6e 2c 20 70 65 72 6c 2c 20 74 63 6c 2c 20 73 71  n, perl, tcl, sq
1330: 6c 69 74 65 2c 20 6f 72 20 61 6e 79 74 68 69 6e  lite, or anythin
1340: 67 0a 65 6c 73 65 20 69 6e 20 6f 72 64 65 72 20  g.else in order 
1350: 74 6f 20 72 75 6e 20 66 6f 73 73 69 6c 2e 20 20  to run fossil.  
1360: 46 6f 73 73 69 6c 20 72 75 6e 73 20 6a 75 73 74  Fossil runs just
1370: 20 66 69 6e 65 20 69 6e 20 61 20 63 68 72 6f 6f   fine in a chroo
1380: 74 20 6a 61 69 6c 20 61 6c 6c 0a 62 79 20 69 74  t jail all.by it
1390: 73 65 6c 66 2e 20 20 41 6e 64 20 74 68 65 20 73  self.  And the s
13a0: 65 6c 66 2d 63 6f 6e 74 61 69 6e 65 64 20 65 78  elf-contained ex
13b0: 65 63 75 74 61 62 6c 65 20 69 73 20 6d 75 63 68  ecutable is much
13c0: 20 6c 65 73 73 20 74 68 61 6e 20 31 4d 42 20 69   less than 1MB i
13d0: 6e 20 73 69 7a 65 2e 0a 46 6f 73 73 69 6c 20 69  n size..Fossil i
13e0: 73 20 74 68 65 20 76 65 72 79 20 6f 70 70 6f 73  s the very oppos
13f0: 69 74 65 20 6f 66 20 62 6c 6f 61 74 2e 3c 2f 70  ite of bloat.</p
1400: 3e 0a 3c 2f 62 6c 6f 63 6b 71 75 6f 74 65 3e 0a  >.</blockquote>.
1410: 0a 0a 3c 2f 6e 6f 77 69 6b 69 3e 0a              ..</nowiki>.