Fossil

Check-in [169a10dd5e]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Added a permuted documentation index.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 169a10dd5e2d4589925c08765bef7c320d0ca9f4
User & Date: drh 2010-12-19 20:59:29.000
Context
2010-12-19
21:08
When an ambiguous command prefix is entered, report all possible matches as part of the error message. ... (check-in: 5ae54b39fd user: drh tags: trunk)
20:59
Added a permuted documentation index. ... (check-in: 169a10dd5e user: drh tags: trunk)
02:09
Clear compiler warnings on OpenBSD. No functional code changes. ... (check-in: bbbb35a3c6 user: drh tags: trunk)
Changes
Unified Diff Ignore Whitespace Patch
Changes to www/branching.wiki.
1
2
3
4
5
6
7
8
9
10
11
<title>Fossil Documentation</title>
<h1 align="center">
Branching, Forking, Merging, and Tagging
</h1>

In a simple and perfect world, the development of a project would proceed
linearly, as shown in figure 1.

<center><table border=1 cellpadding=10 hspace=10 vspace=10>
<tr><td align="center">
<img src="branch01.gif" width=280 height=68><br>
<
<
|
|









1
2
3
4
5
6
7
8
9


<title>Branching, Forking, Merging, and Tagging</title>
<h2>Background</h2>

In a simple and perfect world, the development of a project would proceed
linearly, as shown in figure 1.

<center><table border=1 cellpadding=10 hspace=10 vspace=10>
<tr><td align="center">
<img src="branch01.gif" width=280 height=68><br>
Changes to www/bugtheory.wiki.
1
2

3
4
5
6
7
8
9
<title>Fossil Documentation</title>
<h1>Bug-Tracking In <a href="index.wiki">Fossil</a></h1>


A bug-report in fossil is called a "ticket".  Tickets are tracked
separately from code check-ins.

Some other distributed bug-tracking systems store tickets as files within
the source tree and thereby leverage the syncing and merging capabilities
of the versioning system to sync and merge tickets.  This approach is
<
|
>








1
2
3
4
5
6
7
8
9

<title>Bug-Tracking In Fossil</title>
<h2>Introduction</h2>

A bug-report in fossil is called a "ticket".  Tickets are tracked
separately from code check-ins.

Some other distributed bug-tracking systems store tickets as files within
the source tree and thereby leverage the syncing and merging capabilities
of the versioning system to sync and merge tickets.  This approach is
Changes to www/custom_ticket.wiki.

1
2

3
4
5
6
7
8
9

<nowiki>
<h1 align="center">Customizing The Ticket System</h1>

<p>
This guide will explain how to add the "assigned_to" and "submitted_by" fields
to the ticket system in Fossil, as well as making the system more useful.  You
must have "admin" access to the repository to implement these instructions.
</p>

<h2>First modify the TICKET table</h2><blockquote>
>

<
>







1
2

3
4
5
6
7
8
9
10
<title>Customizing The Ticket System</title>
<nowiki>

<h2>Introduction</h2>
<p>
This guide will explain how to add the "assigned_to" and "submitted_by" fields
to the ticket system in Fossil, as well as making the system more useful.  You
must have "admin" access to the repository to implement these instructions.
</p>

<h2>First modify the TICKET table</h2><blockquote>
Changes to www/delta_encoder_algorithm.wiki.

1
2
3
4
5
6
7
8
9
10
11

<nowiki>
<h1 align="center">
Fossil Delta Encoding Algorithm
</h1>

<p>A key component for the efficient storage of multiple revisions of
a file in fossil repositories is the use of delta-compression, i.e. to
store only the changes between revisions instead of the whole
file.</p>

<p>This document describes the encoding algorithm used by Fossil to
>

<
<
|







1
2


3
4
5
6
7
8
9
10
<title>Fossil Delta Encoding Algorithm</title>
<nowiki>


<h2>Abstract</h2>

<p>A key component for the efficient storage of multiple revisions of
a file in fossil repositories is the use of delta-compression, i.e. to
store only the changes between revisions instead of the whole
file.</p>

<p>This document describes the encoding algorithm used by Fossil to
Changes to www/delta_format.wiki.

1
2
3
4
5
6
7
8
9
10
11

<nowiki>
<h1 align="center">
Fossil Delta Format
</h1>

<p>Fossil achieves efficient storage and low-bandwidth synchronization
through the use of delta-compression.  Instead of storing
or transmitting the complete content of an artifact, fossil stores or
transmits only the changes relative to a related artifact.
</p>

>

<
<
|







1
2


3
4
5
6
7
8
9
10
<title>Fossil Delta Format</title>
<nowiki>


<h2>Abstract</h2>

<p>Fossil achieves efficient storage and low-bandwidth synchronization
through the use of delta-compression.  Instead of storing
or transmitting the complete content of an artifact, fossil stores or
transmits only the changes relative to a related artifact.
</p>

Changes to www/index.wiki.
19
20
21
22
23
24
25

26
27
28
29
30
31
32
<ul>
<li> [./quickstart.wiki | Quick Start]
<li> [http://www.fossil-scm.org/download.html | Download]
<li> [./build.wiki | Install]
<li> [../COPYRIGHT-BSD2.txt | License]
<li> [/timeline | Recent changes]
<li> [./faq.wiki | FAQ]

<li> Mailing list
     <ul>
     <li> [http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users | sign-up]
     <li> [http://www.mail-archive.com/fossil-users@lists.fossil-scm.org | archives]
     <ul>
</ul>
</td></tr>







>







19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<ul>
<li> [./quickstart.wiki | Quick Start]
<li> [http://www.fossil-scm.org/download.html | Download]
<li> [./build.wiki | Install]
<li> [../COPYRIGHT-BSD2.txt | License]
<li> [/timeline | Recent changes]
<li> [./faq.wiki | FAQ]
<li> [./permutedindex.wiki | Doc Index]
<li> Mailing list
     <ul>
     <li> [http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users | sign-up]
     <li> [http://www.mail-archive.com/fossil-users@lists.fossil-scm.org | archives]
     <ul>
</ul>
</td></tr>
Added www/mkindex.tcl.




























































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#!/bin/sh
#
# Run this TCL script to generate a WIKI page that contains a 
# permuted index of the various documentation files.
#
#    tclsh mkindex.tcl >permutedindex.wiki
#

set doclist {
  bugtheory.wiki {Bug Tracking In Fossil}
  branching.wiki {Branching, Forking, Merging, and Tagging}
  build.wiki {Building and Installing Fossil}
  checkin_names.wiki {Checkin And Version Names}
  concepts.wiki {Fossil Core Concepts}
  custom_ticket.wiki {Customizing The Ticket System}
  delta_encoder_algorithm.wiki {Fossil Delta Encoding Algorithm}
  delta_format.wiki {Fossil Delta Format}
  embeddeddoc.wiki {Embedded Project Documentation}
  event.wiki {Events}
  faq.wiki {Frequently Asked Questions}
  fileformat.wiki {Fossil File Format}
  fossil-v-git.wiki {Fossil Versus Git}
  index.wiki {Home Page}
  inout.wiki {Import And Export To And From Git}
  password.wiki {Password Management And Authentication}
  pop.wiki {Principles Of Operations}
  qandc.wiki {Questions And Criticisms}
  quickstart.wiki {Fossil Quick Start Guide}
  selfcheck.wiki {Fossil Repository Integrity Self Checks}
  selfhost.wiki {Fossil Self Hosting Repositories}
  server.wiki {How To Configure A Fossil Server}
  shunning.wiki {Deleting Content From Fossil}
  stats.wiki {Performance Statistics}
  sync.wiki {The Fossil Sync Protocol}
  theory1.wiki {Thoughts On The Design Of The Fossil DVCS}
  webui.wiki {The Fossil Web Interface}
  wikitheory.wiki {Wiki In Fossil}
}

set permindex {}
set stopwords {fossil and a in of on the to}
foreach {file title} $doclist {
  set n [llength $title]
  lappend permindex [list $title $file]
  for {set i 0} {$i<$n-1} {incr i} {
    set prefix [lrange $title 0 $i]
    set suffix [lrange $title [expr {$i+1}] end]
    set firstword [string tolower [lindex $suffix 0]]
    if {[lsearch $stopwords $firstword]<0} {
      lappend permindex [list "$suffix &#151; $prefix" $file]
    }
  }
}
set permindex [lsort -dict $permindex]
puts "<title>Permuted Index Of Fossil Documentation</title>"
puts "<nowiki>"
puts "<ul>"
foreach entry $permindex {
  foreach {title file} $entry break
  puts "<li><a href=\"$file\">$title</a></li>"
}
puts "</ul>"
Added www/permutedindex.wiki.










































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
<title>Permuted Index Of Fossil Documentation</title>
<nowiki>
<ul>
<li><a href="event.wiki">Events</a></li>
<li><a href="delta_encoder_algorithm.wiki">Algorithm &#151; Fossil Delta Encoding</a></li>
<li><a href="faq.wiki">Asked Questions &#151; Frequently</a></li>
<li><a href="password.wiki">Authentication &#151; Password Management And</a></li>
<li><a href="branching.wiki">Branching, Forking, Merging, and Tagging</a></li>
<li><a href="bugtheory.wiki">Bug Tracking In Fossil</a></li>
<li><a href="build.wiki">Building and Installing Fossil</a></li>
<li><a href="checkin_names.wiki">Checkin And Version Names</a></li>
<li><a href="selfcheck.wiki">Checks &#151; Fossil Repository Integrity Self</a></li>
<li><a href="concepts.wiki">Concepts &#151; Fossil Core</a></li>
<li><a href="server.wiki">Configure A Fossil Server &#151; How To</a></li>
<li><a href="shunning.wiki">Content From Fossil &#151; Deleting</a></li>
<li><a href="concepts.wiki">Core Concepts &#151; Fossil</a></li>
<li><a href="qandc.wiki">Criticisms &#151; Questions And</a></li>
<li><a href="custom_ticket.wiki">Customizing The Ticket System</a></li>
<li><a href="shunning.wiki">Deleting Content From Fossil</a></li>
<li><a href="delta_encoder_algorithm.wiki">Delta Encoding Algorithm &#151; Fossil</a></li>
<li><a href="delta_format.wiki">Delta Format &#151; Fossil</a></li>
<li><a href="theory1.wiki">Design Of The Fossil DVCS &#151; Thoughts On The</a></li>
<li><a href="embeddeddoc.wiki">Documentation &#151; Embedded Project</a></li>
<li><a href="theory1.wiki">DVCS &#151; Thoughts On The Design Of The Fossil</a></li>
<li><a href="embeddeddoc.wiki">Embedded Project Documentation</a></li>
<li><a href="delta_encoder_algorithm.wiki">Encoding Algorithm &#151; Fossil Delta</a></li>
<li><a href="inout.wiki">Export To And From Git &#151; Import And</a></li>
<li><a href="fileformat.wiki">File Format &#151; Fossil</a></li>
<li><a href="branching.wiki">Forking, Merging, and Tagging &#151; Branching,</a></li>
<li><a href="delta_format.wiki">Format &#151; Fossil Delta</a></li>
<li><a href="fileformat.wiki">Format &#151; Fossil File</a></li>
<li><a href="concepts.wiki">Fossil Core Concepts</a></li>
<li><a href="delta_encoder_algorithm.wiki">Fossil Delta Encoding Algorithm</a></li>
<li><a href="delta_format.wiki">Fossil Delta Format</a></li>
<li><a href="fileformat.wiki">Fossil File Format</a></li>
<li><a href="quickstart.wiki">Fossil Quick Start Guide</a></li>
<li><a href="selfcheck.wiki">Fossil Repository Integrity Self Checks</a></li>
<li><a href="selfhost.wiki">Fossil Self Hosting Repositories</a></li>
<li><a href="fossil-v-git.wiki">Fossil Versus Git</a></li>
<li><a href="faq.wiki">Frequently Asked Questions</a></li>
<li><a href="shunning.wiki">From Fossil &#151; Deleting Content</a></li>
<li><a href="inout.wiki">From Git &#151; Import And Export To And</a></li>
<li><a href="fossil-v-git.wiki">Git &#151; Fossil Versus</a></li>
<li><a href="inout.wiki">Git &#151; Import And Export To And From</a></li>
<li><a href="quickstart.wiki">Guide &#151; Fossil Quick Start</a></li>
<li><a href="index.wiki">Home Page</a></li>
<li><a href="selfhost.wiki">Hosting Repositories &#151; Fossil Self</a></li>
<li><a href="server.wiki">How To Configure A Fossil Server</a></li>
<li><a href="inout.wiki">Import And Export To And From Git</a></li>
<li><a href="build.wiki">Installing Fossil &#151; Building and</a></li>
<li><a href="selfcheck.wiki">Integrity Self Checks &#151; Fossil Repository</a></li>
<li><a href="webui.wiki">Interface &#151; The Fossil Web</a></li>
<li><a href="password.wiki">Management And Authentication &#151; Password</a></li>
<li><a href="branching.wiki">Merging, and Tagging &#151; Branching, Forking,</a></li>
<li><a href="checkin_names.wiki">Names &#151; Checkin And Version</a></li>
<li><a href="pop.wiki">Operations &#151; Principles Of</a></li>
<li><a href="index.wiki">Page &#151; Home</a></li>
<li><a href="password.wiki">Password Management And Authentication</a></li>
<li><a href="stats.wiki">Performance Statistics</a></li>
<li><a href="pop.wiki">Principles Of Operations</a></li>
<li><a href="embeddeddoc.wiki">Project Documentation &#151; Embedded</a></li>
<li><a href="sync.wiki">Protocol &#151; The Fossil Sync</a></li>
<li><a href="faq.wiki">Questions &#151; Frequently Asked</a></li>
<li><a href="qandc.wiki">Questions And Criticisms</a></li>
<li><a href="quickstart.wiki">Quick Start Guide &#151; Fossil</a></li>
<li><a href="selfhost.wiki">Repositories &#151; Fossil Self Hosting</a></li>
<li><a href="selfcheck.wiki">Repository Integrity Self Checks &#151; Fossil</a></li>
<li><a href="selfcheck.wiki">Self Checks &#151; Fossil Repository Integrity</a></li>
<li><a href="selfhost.wiki">Self Hosting Repositories &#151; Fossil</a></li>
<li><a href="server.wiki">Server &#151; How To Configure A Fossil</a></li>
<li><a href="quickstart.wiki">Start Guide &#151; Fossil Quick</a></li>
<li><a href="stats.wiki">Statistics &#151; Performance</a></li>
<li><a href="sync.wiki">Sync Protocol &#151; The Fossil</a></li>
<li><a href="custom_ticket.wiki">System &#151; Customizing The Ticket</a></li>
<li><a href="branching.wiki">Tagging &#151; Branching, Forking, Merging, and</a></li>
<li><a href="sync.wiki">The Fossil Sync Protocol</a></li>
<li><a href="webui.wiki">The Fossil Web Interface</a></li>
<li><a href="theory1.wiki">Thoughts On The Design Of The Fossil DVCS</a></li>
<li><a href="custom_ticket.wiki">Ticket System &#151; Customizing The</a></li>
<li><a href="bugtheory.wiki">Tracking In Fossil &#151; Bug</a></li>
<li><a href="checkin_names.wiki">Version Names &#151; Checkin And</a></li>
<li><a href="fossil-v-git.wiki">Versus Git &#151; Fossil</a></li>
<li><a href="webui.wiki">Web Interface &#151; The Fossil</a></li>
<li><a href="wikitheory.wiki">Wiki In Fossil</a></li>
</ul>
Changes to www/selfhost.wiki.
1
2
3
4
5
6
7
8
9
<title>Fossil Self-Hosting Repositories</title>
<h1 align="center">Fossil Self-Hosting Repositories</h1>

Fossil has self-hosted since 2007-07-21.  As of this writing (2009-08-24)
there are three publicly accessible repositories for the Fossil source code:

  1.  [http://www.fossil-scm.org/]
  2.  [http://www.hwaci.com/cgi-bin/fossil]
  3.  [http://www2.fossil-scm.org/]

<







1

2
3
4
5
6
7
8
<title>Fossil Self-Hosting Repositories</title>


Fossil has self-hosted since 2007-07-21.  As of this writing (2009-08-24)
there are three publicly accessible repositories for the Fossil source code:

  1.  [http://www.fossil-scm.org/]
  2.  [http://www.hwaci.com/cgi-bin/fossil]
  3.  [http://www2.fossil-scm.org/]
Changes to www/server.wiki.

1
2
3
4
5
6
7
8
9

<nowiki>
<h1 align="center">Server Setup Guide</h1>
<p>This guide is intended to help guide you in setting up a Fossil server.</p>

<h2>Standalone server</h2><blockquote>
The easiest way to set up a Fossil server is to use the <tt>server</tt> or
<tt>ui</tt> command.  Assuming the repository you are interested in serving is
in the file "<tt>repo.fossil</tt>", you can use either of these commands to
start Fossil as a server:
>

<







1
2

3
4
5
6
7
8
9
<title>How To Configure A Fossil Server</title>
<nowiki>

<p>This guide is intended to help guide you in setting up a Fossil server.</p>

<h2>Standalone server</h2><blockquote>
The easiest way to set up a Fossil server is to use the <tt>server</tt> or
<tt>ui</tt> command.  Assuming the repository you are interested in serving is
in the file "<tt>repo.fossil</tt>", you can use either of these commands to
start Fossil as a server:
Changes to www/sync.wiki.
1
2
3
4
5
6
7
8
<h1 align="center">The Fossil Sync Protocol</h1>

<p>Fossil supports commands <b>push</b>, <b>pull</b>, and <b>sync</b>
for transferring information from one repository to another.  The
command is run on the client repository.  A URL for the server repository
is specified as part of the command.  This document describes what happens
behind the scenes in order to synchronize the information on the two
repositories.</p>
|







1
2
3
4
5
6
7
8
<title>The Fossil Sync Protocol</title>

<p>Fossil supports commands <b>push</b>, <b>pull</b>, and <b>sync</b>
for transferring information from one repository to another.  The
command is run on the client repository.  A URL for the server repository
is specified as part of the command.  This document describes what happens
behind the scenes in order to synchronize the information on the two
repositories.</p>
Changes to www/webui.wiki.
1

2
3
4
5
6
7
8
<h1 align="center">The Fossil Web Interface</h1>


One of the innovative features of fossil is its built-in web interface.
This web interface provides everything you need to run a software
development project:

  *  [./bugtheory.wiki | Ticketing and bug tracking]
  *  [./wikitheory.wiki | Wiki]
|
>







1
2
3
4
5
6
7
8
9
<title>The Fossil Web Interface</title>
<h2>Overview</h2>

One of the innovative features of fossil is its built-in web interface.
This web interface provides everything you need to run a software
development project:

  *  [./bugtheory.wiki | Ticketing and bug tracking]
  *  [./wikitheory.wiki | Wiki]
Changes to www/wikitheory.wiki.
1

2
3
4
5
6
7
8
<h1>Wiki In [./index.wiki  | Fossil]</h1>


Fossil uses [/wiki_rules | wiki markup] for many things:

   *  Stand-alone wiki pages.
   *  Description and comments in [./bugtheory.wiki | bug reports].
   *  Check-in comments.
   *  [./embeddeddoc.wiki | Embedded documentation] files whose
|
>







1
2
3
4
5
6
7
8
9
<title>Wiki In Fossil</title>
<h2>Introduction</h2>

Fossil uses [/wiki_rules | wiki markup] for many things:

   *  Stand-alone wiki pages.
   *  Description and comments in [./bugtheory.wiki | bug reports].
   *  Check-in comments.
   *  [./embeddeddoc.wiki | Embedded documentation] files whose