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>.