Fossil

Check-in [1eb067d4]
Login

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

Overview
Comment:Adjust some wikilinks, clean up main ref page, add "new" command.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1:1eb067d45626121fb666d111b654eaf47943c351
User & Date: kejoki 2008-12-12 21:55:46
Context
2008-12-12
22:19
/timeline.rss now accepts the same filter parameters as /timeline (e.g. y=ci for commits and y=w for wiki) check-in: 90adbd84 user: stephan tags: trunk
21:55
Adjust some wikilinks, clean up main ref page, add "new" command. check-in: 1eb067d4 user: kejoki tags: trunk
2008-12-09
20:25
Change the add command CLI doc to reflect recursive add of directories. check-in: 83447b7b user: kejoki tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to kktodo.wiki.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
..
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
<h3>kkinnell</h3>

.plan -- <i>Fossil, the DG</i> Bwahahahaha! The cover art could be an <i>homo erectus</i> skull lying on some COBOL code...

  1.  Command line interface reference docs
     <ul>
         <li> Finish initial pages.</li>
	 <li> Start on tech-spec (serious, not "chatty") reference pages.</li>
	 <li> Edit, edit, edit.</li>
     </ul>

  2.  Support docs
     <ul>
	 <li>Basic explanation of Distributed SCM.</i>
................................................................................
	     <ul>
	         <li>Open, close, commit, checkout, update, merge.</li>
	     </ul>
	     </li>
	     <li>Hmmm.  Experimenting.</li>
	     <ul>
	         <li>The road less travelled, or where'd that
		 fork come from?</l>
	     </ul>
	     <li>Oops!  Going back in time.</li>








	 </ul>
	 </li>
         <li>Basic explanation of <i>merge</i>.
	 <ol>
	     <li>Leaves, branches and baselines.</li>
	     <li><i>update</i> merges vs. <i>merge</i> merges.
	     All merges are equal, but some are more equal than others.</li>
	 </ol>
	 </li>
     </ul>



  42.  General
     <ul>
	 <li>Co-ordinate style and tone with drh, other devs. (documentation
         standard?  yuck.)</li>
     </ul>







|







 







|


>
>
>
>
>
>
>
>




|





>
>







1
2
3
4
5
6
7
8
9
10
11
12
13
14
..
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
<h3>kkinnell</h3>

.plan -- <i>Fossil, the DG</i> Bwahahahaha! The cover art could be an <i>homo erectus</i> skull lying on some COBOL code...

  1.  Command line interface reference docs
     <ul>
         <li> <font color="#bb4466">Finish initial pages.</font></li>
	 <li> Start on tech-spec (serious, not "chatty") reference pages.</li>
	 <li> Edit, edit, edit.</li>
     </ul>

  2.  Support docs
     <ul>
	 <li>Basic explanation of Distributed SCM.</i>
................................................................................
	     <ul>
	         <li>Open, close, commit, checkout, update, merge.</li>
	     </ul>
	     </li>
	     <li>Hmmm.  Experimenting.</li>
	     <ul>
	         <li>The road less travelled, or where'd that
		 fork come from?</li>
	     </ul>
	     <li>Oops!  Going back in time.</li>
	     <ul>
	         <li>Versions</li>
		 <ul>
		     <li>What <i>is</i> a version?</li>
		     <li>Is it a "version" or a "tag"?</li>
		     <li>DSCM redux: Revisionist versioning.</li>
		 </ul>
	     </ul>
	 </ul>
	 </li>
         <li>Basic explanation of <i>merge</i>.
	 <ol>
	     <li>Leaves, branches and baselines: We want a shrubbery!</li>
	     <li><i>update</i> merges vs. <i>merge</i> merges.
	     All merges are equal, but some are more equal than others.</li>
	 </ol>
	 </li>
     </ul>

  3.  Configuration

  42.  General
     <ul>
	 <li>Co-ordinate style and tone with drh, other devs. (documentation
         standard?  yuck.)</li>
     </ul>

Changes to www/cmd_all.wiki.

2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
..
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59

The <code>all</code> command will let you perform (some) commands on
<em>all</em> of your repositories, and provides a way of finding all
of your repositories as well.

There are some commands you might especially want to perform on every
repository you've got, once in a while.  <code> fossil&nbsp;all
</code> includes four of the most likely as sub-commands: 
<code><a href="cmd_pull.wiki">pull</a></code>,
<code><a href="cmd_push.wiki">push</a></code>,
<code><a href="cmd_rebuild.wiki">rebuild</a></code> and 
<code><a href="cmd_sync.wiki">sync</a></code>.

Follow the links to find out what each of those do, and then a moment
of thought will tell you why you might want to have them available for
all repositories.

Certainly you'll want your repositories all rebuilt when you upgrade
<b>fossil</b> after there has been a change in the repository
................................................................................
moving your repositories around.  This is easy to do inadvertently if
you have a cavalier attitude about repos, but you'll know pretty
quickly that you've done it&#8212;many commands you try to use from
inside of a checkout won't work correctly.  The <i>.fossil</i> file is
an <b>sqlite</b> db file which fossil uses to keeping track of
repository locations. Advice: if you move your repositories around,
let fossil know you did;
<code><a href="cmd_close.wiki">close</a></code> them before you move
them, and then <code><a href="cmd_open.wiki">open</a></code> them from
their new locations.

See also: <a href="cmd_pull.wiki">fossil pull</a>,
<a href="cmd_push.wiki">fossil push</a>,
<a href="cmd_rebuild.wiki">fossil rebuild</a>,
<a href="cmd_sync.wiki">fossil sync</a>,
<a href="cmd_open.wiki">fossil open</a>,
<a href="cmd_close.wiki">fossil close</a>,
<a href="reference.wiki">Reference</a>,
<b><a href="http://www.sqlite.org">sqlite</a></b>







|
|
|
|
|







 







|
|


|
|
|
|
|
|
|
|
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
..
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59

The <code>all</code> command will let you perform (some) commands on
<em>all</em> of your repositories, and provides a way of finding all
of your repositories as well.

There are some commands you might especially want to perform on every
repository you've got, once in a while.  <code> fossil&nbsp;all
</code> includes four of the most likely as sub-commands:
[./cmd_pull.wiki | <code>pull</code>],
[./cmd_push.wiki | <code>push</code>],
[./cmd_rebuild.wiki | <code>rebuild</code>] and
[./cmd_sync.wiki | <code>sync</code>].

Follow the links to find out what each of those do, and then a moment
of thought will tell you why you might want to have them available for
all repositories.

Certainly you'll want your repositories all rebuilt when you upgrade
<b>fossil</b> after there has been a change in the repository
................................................................................
moving your repositories around.  This is easy to do inadvertently if
you have a cavalier attitude about repos, but you'll know pretty
quickly that you've done it&#8212;many commands you try to use from
inside of a checkout won't work correctly.  The <i>.fossil</i> file is
an <b>sqlite</b> db file which fossil uses to keeping track of
repository locations. Advice: if you move your repositories around,
let fossil know you did;
[./cmd_close.wiki | <code>close</code>] them before you move
them, and then [./cmd_open.wiki | <code>open</code>] them from
their new locations.

See also: [./cmd_pull.wiki | fossil pull],
[./cmd_push.wiki | fossil push],
[./cmd_rebuild.wiki | fossil rebuild],
[./cmd_sync.wiki | fossil sync],
[./cmd_open.wiki | fossil open],
[./cmd_close.wiki | fossil close],
[./reference.wiki | Reference],
[http://www.sqlite.org | <b>SQLite</b>]

Changes to www/cmd_extra.wiki.

5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
..
25
26
27
28
29
30
31
32
33
34
35
36
37
38

Extra files are files that exist in a checked-out project, but don't belong to
the repository.

The <code>fossil extra</code> command will get you a list of these files.

This is convenient for figuring out if you've <code>
<a href="cmd_add.wiki">add</a></code>ed every file that needs to be

in the repository before you do a commit.  It will also tell you what
will be removed if you <code><a href="cmd_clean.wiki">clean</a></code>
the project.

Suppose, for example, you have a "noodle.src" file as a scratch pad
for source code, and you don't want to include your latest
hare-brained ideas in the repository?  You don't <code>add</code> it
to the repository, of course&#8212;though there are ways you might add
it unintentionally.  If your project is big, and you want to find
................................................................................
give you a list.

If you don't think this is all that useful, then you've never had to write
a shell script that only affects project files and leaves everything
else alone.  ;)

The <code>extra</code> command is almost, but not quite entirely, the exact
opposite of the <code><a href="cmd_ls.wiki">ls</a></code> command.

See also: <a href="cmd_status.wiki">fossil status</a>,
<a href="cmd_ls.wiki">fossil ls</a>,
<a href="cmd_changes.wiki">fossil changes</a>,
<a href="cmd_clean.wiki">fossil clean</a>,
<a href="reference.wiki">Reference</a>







|


|







 







|

|
|
|
|
|
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
..
25
26
27
28
29
30
31
32
33
34
35
36
37
38

Extra files are files that exist in a checked-out project, but don't belong to
the repository.

The <code>fossil extra</code> command will get you a list of these files.

This is convenient for figuring out if you've <code>
[./cmd_add.wiki | add]</code>ed every file that needs to be

in the repository before you do a commit.  It will also tell you what
will be removed if you [./cmd_clean.wiki | <code>clean</code>]
the project.

Suppose, for example, you have a "noodle.src" file as a scratch pad
for source code, and you don't want to include your latest
hare-brained ideas in the repository?  You don't <code>add</code> it
to the repository, of course&#8212;though there are ways you might add
it unintentionally.  If your project is big, and you want to find
................................................................................
give you a list.

If you don't think this is all that useful, then you've never had to write
a shell script that only affects project files and leaves everything
else alone.  ;)

The <code>extra</code> command is almost, but not quite entirely, the exact
opposite of the [./cmd_ls.wiki | <code>ls</code>] command.

See also: [./cmd_status.wiki | fossil status],
[./cmd_ls.wiki | fossil ls],
[./cmd_changes.wiki | fossil changes],
[./cmd_clean.wiki | fossil clean],
[./reference.wiki | Reference]

Changes to www/cmd_ls.wiki.

1
2
3
4
5
6
7
8
9
10
11
12
13
..
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
..
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51

52
53
54
<h2>ls</h2>

The <code>ls</code><a href="#notes">*</a> command is informational, it doesn't do anything to
a checked-out project, but it tells you something about it.

A project consists of a "source tree" of "artifacts" (see <a href="concepts.wiki">Fossil concepts</a>.)
From a practical standpoint this is a set of files and directories rooted
at a main project directory.  The files that are under source control aren't
particularly distinguishable from those that aren't.  The <code>ls</code> and
<code>extra</code> commands provide this information.

<code>fossil ls</code> produces a listing of the files which are under source
control <i>and</i> their status within the repository.  The output is a simple
................................................................................

It's important to realize that this is the status <i>relative to the repository</i>,
it's the status as <b>fossil</b> sees it and has nothing to do with
filesystem status.  If you're new to source-management/version-control
systems, you'll probably get bit by this concept-bug at least once.

To really see the difference, issue an <code>ls</code> before and after doing
a <a href="cmd_commit.wiki"><code>commit</code></a>.  Before, the status of files may be any of the three,
but after <code>commit</code>ting changes the status will be UNCHANGED "across
the board."

By way of example, here's what I see if I <code>fossil ls</code> in the
directory where I have checked out my testing repository:
<nowiki><pre>
    $ fossil ls
................................................................................
    $ ls
    feegboing  fossil_docs.txt  manifest.uuid  noodle.txt
    _FOSSIL_   manifest         nibcrod
</pre></nowiki>

The <code>ls</code> command is almost, but not quite entirely, the exact
opposite of the
<a href="cmd_extra.wiki"><code>extra</code> command</a>.

<a name="notes">Notes:</a>
  *  If you come from the <b>Windows</b> world, it will help to know that 'ls' is the usual <b>unix</b> command for listing a directory.
  *  There are more states for a file to be in than those listed, including MISSING, EDITED, RENAMED and a couple of others.

See also: <a href="cmd_add.wiki">fossil add</a>, <a href="rm.wiki">
fossil rm</a>, <a href="cmd_extra.wiki">fossil extra</a>, 

<a href="cmd_commit.wiki">fossil commit</a>, 
<a href="concepts.wiki">Fossil concepts</a>, 
<a href="reference.wiki">Reference</a>





|







 







|







 







|





|
|
>
|
|
|
1
2
3
4
5
6
7
8
9
10
11
12
13
..
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
..
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<h2>ls</h2>

The <code>ls</code><a href="#notes">*</a> command is informational, it doesn't do anything to
a checked-out project, but it tells you something about it.

A project consists of a "source tree" of "artifacts" (see [./concepts.wiki | Fossil concepts].)
From a practical standpoint this is a set of files and directories rooted
at a main project directory.  The files that are under source control aren't
particularly distinguishable from those that aren't.  The <code>ls</code> and
<code>extra</code> commands provide this information.

<code>fossil ls</code> produces a listing of the files which are under source
control <i>and</i> their status within the repository.  The output is a simple
................................................................................

It's important to realize that this is the status <i>relative to the repository</i>,
it's the status as <b>fossil</b> sees it and has nothing to do with
filesystem status.  If you're new to source-management/version-control
systems, you'll probably get bit by this concept-bug at least once.

To really see the difference, issue an <code>ls</code> before and after doing
a [./cmd_commit.wiki | <code>commit</code>].  Before, the status of files may be any of the three,
but after <code>commit</code>ting changes the status will be UNCHANGED "across
the board."

By way of example, here's what I see if I <code>fossil ls</code> in the
directory where I have checked out my testing repository:
<nowiki><pre>
    $ fossil ls
................................................................................
    $ ls
    feegboing  fossil_docs.txt  manifest.uuid  noodle.txt
    _FOSSIL_   manifest         nibcrod
</pre></nowiki>

The <code>ls</code> command is almost, but not quite entirely, the exact
opposite of the
[./cmd_extra.wiki | <code>extra</code> command].

<a name="notes">Notes:</a>
  *  If you come from the <b>Windows</b> world, it will help to know that 'ls' is the usual <b>unix</b> command for listing a directory.
  *  There are more states for a file to be in than those listed, including MISSING, EDITED, RENAMED and a couple of others.

See also: [./cmd_add.wiki | fossil add],
[./rm.wiki | fossil rm],
[./cmd_extra.wiki | fossil extra],
[./cmd_commit.wiki | fossil commit],
[./concepts.wiki | Fossil concepts],
[./reference.wiki | Reference]

Added www/cmd_new.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
<h2>new</h2>

The <code>new</code> command allows you to create a brand new
repository.

Pragmatically, this means that an SQLite database is created with
whatever name you specified, and set up with the appropriate tables
and initial data.

There's not much to <code>new</code>, it's what happens afterward that
gets a project going:

  Once you have a new repository file, you need to create and cd to a
  directory in which you will store your files, or move into an
  existing directory which contains the files for a project.

  Then, you need to [./cmd_open.wiki | <code>open</code>] the new
  repository, and get the server running so you can set up the project
  name and so forth.

  Finally, you'll [./cmd_add.wiki | <code>add</code>] files to it.  If
  you are adding exisiting files, you can add them individually, via
  globbing from the shell, or by adding the directory (which will add
  all of the directory's file-system descendants recursively.)

But you can't do all that until you create a repository file with
<code>new</code>.

See also: [./cmd_open.wiki | fossil open],
[./cmd_add.wiki | fossil add],
[./cmd_server.wiki | fossil ui],
[./reference.wiki | Reference]

Changes to www/cmd_update.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
<h2>update</h2>

What do you do if you have changes out on a repository and
you want them merged with your checkout?

You use the <code>update</code> command, that's what.

<b>fossil</b> can <a href="about_checkout.wiki">overwrite</a> any
changes you've made to your checkout, or it can
<a href="about_merge.wiki">merge</a> whatever changes have occurred
in the repo into your checkout.

Update <em>merges</em> changes from the repository into your checkout.

<b>fossil</b> uses a simple conflict resolution strategy for merges:
the latest change wins.

Local intranet <code><a href="cmd_commit.wiki">commit</a></code>s
(by someone else)
or Net <code><a href="cmd_pull.wiki">pull</a></code>s from a server
will usually require a <code>fossil&nbsp;update</code> afterward.

Local commits are likely to be made with
<a href="cmd_settings.wiki#autosync">automatic syncing</a>
set to "on", however, so if you don't use <b>fossil</b> for Net-wide
projects you may never have to use <code>update</code>.

See also: <a href="cmd_pull.wiki">fossil pull</a>,
<a href="cmd_commit.wiki">fossil commit</a>,
<a href="cmd_settings.wiki#autosync">fossil setting</a> (autosync),
<i><a href="about_checkout.wiki">checkouts</a></i>,
<i><a href="about_merge.wiki">merging</a></i>,
<a href="reference.wiki">Reference</a>





|

|

|







|

|



|



|
|
|
|
|
|
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
<h2>update</h2>

What do you do if you have changes out on a repository and
you want them merged with your checkout?

You use the <code>update</code> command.

<b>fossil</b> can [./about_checkout.wiki | overwrite] any
changes you've made to your checkout, or it can
[./about_merge.wiki | merge] whatever changes have occurred
in the repo into your checkout.

Update <em>merges</em> changes from the repository into your checkout.

<b>fossil</b> uses a simple conflict resolution strategy for merges:
the latest change wins.

Local intranet <code>[./cmd_commit.wiki | commit]</code>s
(by someone else)
or Net <code>[./cmd_pull.wiki | pull]</code>s from a server
will usually require a <code>fossil&nbsp;update</code> afterward.

Local commits are likely to be made with
[./cmd_settings.wiki#autosync | automatic syncing]
set to "on", however, so if you don't use <b>fossil</b> for Net-wide
projects you may never have to use <code>update</code>.

See also: [./cmd_pull.wiki | fossil pull],
[./cmd_commit.wiki | fossil commit],
[./cmd_settings.wiki#autosync | fossil setting] (autosync),
[./about_checkout.wiki | <i>checkouts</i>],
[./about_merge.wiki | <i>merging</i>],
[./reference.wiki | Reference]

Changes to www/reference.wiki.

18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
..
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106

107
108
109
110
111
112

113
114
115
116
117
118
119
120
121
...
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156

157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188

189
190
191
192
193
194

195
196
197
198
199
200
201

202
203
204
205
206
207
208
209
210
...
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
...
236
237
238
239
240
241
242
243

244
245
246
247
248
249
250
251
252

253
254
255
256
257

258
259
260
261
262
263

264
265
266
267
268
269
270
271
272
...
281
282
283
284
285
286
287
288
289
290
291
292
293
294

295
296
297
298
299

300
301
302
303
304
305
306
307

308
309
310
311
312
313
314
315
316

317
318
319
320
321

322
323
324
325
326

327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359

360
361
362
363
364
365
366
367
368
...
372
373
374
375
376
377
378
379

380
381
382
383
384

385
386
387
388
389
390
391

392
393
394
395
396
397
398

399
400
401
402
403
404
405
406
407
408
409

410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430

431
432
433
434
435
436
437
438
439
440
441
...
469
470
471
472
473
474
475
476

477
478
479
480
481

482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
...
538
539
540
541
542
543
544
545

546
547
548
549
550
551
552
553
554
...
557
558
559
560
561
562
563
564

565
566
567
568
569
570
571
572
573
574

575
576
577
578
579
580
581
582
583
584
585
586

587
588
589
590
591
592
593
594
595
...
608
609
610
611
612
613
614
615

616
617
618
619
620

621
622
623
624
625
626
627
628
629
...
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681

  *  Any fossil command is acceptable once enough of it has been
  entered to make the intent unambiguous.  'clo' is a proper prefix of
  both the 'clone' and 'close' commands, for instance, but 'clon' is
  enough to make the intent&#8212;the 'clone' command&#8212;unambiguous.

  You should probably start interacting with fossil at the command line
  by asking it what it can do:&nbsp;&nbsp;&nbsp;&nbsp;<a name="tof">&#7547;</a>

  <code>$ fossil help</code><nowiki><pre>
Usage: fossil help COMMAND.
Available COMMANDs:</pre><table width="80%" style="font-family: fixed, courier, monospace; ">
      <tr>
	<td><a href="#add">add</a></td>
	<td><a href="#configure">configuration</a></td>
................................................................................
      <tr>
	<td><a href="#commit">commit</a></td>
	<td><a href="#info">info</a></td>
	<td><a href="#reconstruct">reconstruct</a></td>
	<td><a href="#timeline">timeline</a></td>
      </tr>
    </table><nowiki><pre>
This is fossil version [c66ffba6da] 2008-11-10 19:54:53 UTC
</pre>
<b>What follows</b> is a survey of what you get if you type<code>
fossil&nbsp;help&nbsp;<i>command</i> </code>for all of the
commands listed above.  There are links to individual pages for each
of them; pages with content (not all of them are done) go into the command
in a bit more depth than the program help.
<pre>


    <a name="add">Usage: </a><code><a href="cmd_add.wiki">fossil add</a></code> FILE...    <a href="#tof">&#7547;</a>

    Make arrangements to add one or more files to the current checkout
    at the next commit.



    <a name="all">Usage: </a><code><a href="cmd_all.wiki">fossil all</a></code> (list|pull|push|rebuild|sync)    <a href="#tof">&#7547;</a>

    The ~/.fossil file records the location of all repositories for a
    user.  This command performs certain operations on all repositories
    that can be useful before or after a period of disconnection operation.
    Available operations are:

    list       Display the location of all repositories

................................................................................

    sync       Run a "sync" on all repositories

    Respositories are automatically added to the set of known repositories
    when one of the following commands against the repository: clone, info,
    pull, push, or sync


    <a name="cgi">Usage: </a><a href="cmd_cgi">fossil cgi</a> SCRIPT    <a href="#tof">&#7547;</a>

    The SCRIPT argument is the name of a file that is the CGI script
    that is being run.  The command name, "cgi", may be omitted if
    the GATEWAY_INTERFACE environment variable is set to "CGI" (which
    should always be the case for CGI scripts run by a webserver.)  The
    SCRIPT file should look something like this:

    #!/usr/bin/fossil
    repository: /home/somebody/project.db

    The second line defines the name of the repository.  After locating
    the repository, fossil will generate a webpage on stdout based on
    the values of standard CGI environment variables.


    <a name="changes">Usage: </a><a href="cmd_changes">fossil changes</a>    <a href="#tof">&#7547;</a>

    Report on the edit status of all files in the current checkout.
    See also the "status" and "extra" commands.



    <a name="checkout">Usage: </a><a href="checkout">fossil checkout</a> VERSION ?-f|--force?    <a href="#tof">&#7547;</a>

    Check out a version specified on the command-line.  This command
    will not overwrite edited files in the current checkout unless
    the --force option appears on the command-line.

    See also the "update" command.


    <a name="commit">Usage: </a><a href="cmd_commit.wiki">fossil commit</a> ?-m COMMENT? ?--nosign? ?FILE...?    <a href="#tof">&#7547;</a>
    fossil ci  ...  (as above)

    Create a new version containing all of the changes in the current
    checkout.  You will be prompted to enter a check-in comment unless
    the "-m" option is used to specify a comment line.  You will be
    prompted for your GPG passphrase in order to sign the new manifest
    unless the "--nosign" options is used.  All files that have
    changed will be committed unless some subset of files is specified
    on the command line.


    <a name="clean">Usage: </a><a href="cmd_clean.wiki">fossil clean</a> ?-all?    <a href="#tof">&#7547;</a>

    Delete all "extra" files in the source tree.  "Extra" files are
    files that are not officially part of the checkout.  See also
    the "extra" command. This operation cannot be undone.

    You will be prompted before removing each file. If you are
    sure you wish to remove all "extra" files you can specify the
    optional -all flag.



    <a name="clone">Usage: </a><a href="cmd_clone.wiki">fossil clone</a> URL FILENAME    <a href="#tof">&#7547;</a>

    Make a clone of a repository specified by URL in the local
    file named FILENAME.



    <a name="close">Usage: </a><a href="cmd_close.wiki">fossil close</a> ?-f|--force?    <a href="#tof">&#7547;</a>

    The opposite of "open".  Close the current database connection.
    Require a -f or --force flag if there are unsaved changed in the
    current check-out.



    <a name="configure">Usage: </a><a href="cmd_configure.wiki">fossil configure</a> METHOD ...    <a href="#tof">&#7547;</a>

    Where METHOD is one of: export import merge pull push reset.  All methods
    accept the -R or --repository option to specific a repository.

    fossil configuration export AREA FILENAME

    Write to FILENAME exported configuraton information for AREA.
    AREA can be one of:  all ticket skin project
................................................................................
    the current configuration.  Existing values take priority over
    values read from FILENAME.

    fossil configuration pull AREA ?URL?

    Pull and install the configuration from a different server
    identified by URL.  If no URL is specified, then the default
    server is used. 

    fossil configuration push AREA ?URL?

    Push the local configuration into the remote server identified
    by URL.  Admin privilege is required on the remote server for
    this to work.

    fossil configuration reset AREA
................................................................................

    Restore the configuration to the default.  AREA as above.

    WARNING: Do not import, merge, or pull configurations from an untrusted
    source.  The inbound configuration is not checked for safety and can
    introduce security vulnerabilities.



    COMMAND: deconstruct 
    <a name="deconstruct">Usage: </a><a href="cmd_deconstruct.wiki">fossil deconstruct</a> ?-R|--repository REPOSITORY? DESTINATION    <a href="#tof">&#7547;</a>

    Populates the indicated DESTINATION directory with copies of all
    artifcats contained within the repository.  Artifacts are named AA/bbbbb
    where AA is the first 2 characters of the artifact ID and bbbbb is the
    remaining 38 characters.



    <a name="rm">Usage: </a><a href="cmd_rm.wiki">fossil rm</a> FILE...    <a href="#tof">&#7547;</a>
    or: fossil del FILE...
    Remove one or more files from the tree.



    <a name="descendants">Usage: </a><a href="cmd_descendants.wiki">fossil descendants</a> ?BASELINE-ID?    <a href="#tof">&#7547;</a>

    Find all leaf descendants of the baseline specified or if the argument
    is omitted, of the baseline currently checked out.



    <a name="diff">Usage: </a><a href="cmd_diff.wiki">fossil diff</a>|gdiff ?-i? ?-r REVISION? FILE...    <a href="#tof">&#7547;</a>

    Show the difference between the current version of a file (as it
    exists on disk) and that same file as it was checked out.

    diff will show a textual diff while gdiff will attempt to run a
    graphical diff command that you have setup. If the choosen command
    is not yet configured, the internal textual diff command will be
    used.
................................................................................
    fossil setting gdiff-command tkdiff
    fossil setting gdiff-command eskill22
    fossil setting gdiff-command tortoisemerge
    fossil setting gdiff-command meld
    fossil setting gdiff-command xxdiff
    fossil setting gdiff-command kdiff3


    <a name="extra">Usage: </a><a href="cmd_extra.wiki">fossil extra</a>    <a href="#tof">&#7547;</a>

    Print a list of all files in the source tree that are not part of
    the current checkout.  See also the "clean" command.



    <a name="help">Usage: </a><a href="cmd_help.wiki">fossil help</a> COMMAND    <a href="#tof">&#7547;</a>

    Display information on how to use COMMAND



    <a name="http">Usage: </a><a href="cmd_http.wiki">fossil http</a> REPOSITORY    <a href="#tof">&#7547;</a>

    Handle a single HTTP request appearing on stdin.  The resulting webpage
    is delivered on stdout.  This method is used to launch an HTTP request
    handler from inetd, for example.  The argument is the name of the 
    repository.



    <a name="info">Usage: </a><a href="cmd_info.wiki">fossil info</a> ?ARTIFACT-ID|FILENAME?    <a href="#tof">&#7547;</a>

    With no arguments, provide information about the current tree.
    If an argument is specified, provide information about the object
    in the respository of the current tree that the argument refers
    to.  Or if the argument is the name of a repository, show
    information about that repository.



    <a name="leaves">Usage: </a><a href="cmd_leaves.wiki">fossil leaves</a>    <a href="#tof">&#7547;</a>

    Find leaves of all branches.



    <a name="ls">Usage: </a><a href="cmd_ls.wiki">fossil ls</a>    <a href="#tof">&#7547;</a>

    Show the names of all files in the current checkout



    <a name="merge">Usage: </a><a href="cmd_merge.wiki">fossil merge</a> VERSION    <a href="#tof">&#7547;</a>

    The argument is a version that should be merged into the current
    checkout. 

    Only file content is merged.  The result continues to use the
    file and directory names from the current check-out even if those
    names might have been changed in the branch being merged in.


    <a name="mv">Usage: </a><a href="cmd_mv.wiki">fossil mv|rename</a> OLDNAME NEWNAME    <a href="#tof">&#7547;</a>
       or: fossil mv|rename OLDNAME... DIR

    Move or rename one or more files within the tree

    This command does not rename the files on disk.  All this command does is
    record the fact that filenames have changed so that appropriate notations
    can be made at the next commit/checkin.

    <a name="new">Usage: </a><a href="cmd_new.wiki">fossil new</a> FILENAME

    Create a repository for a new project in the file named FILENAME.
    This command is distinct from "clone".  The "clone" command makes
    a copy of an existing project.  This command starts a new project.


    <a name="open">Usage: </a><a href="cmd_open.wiki">fossil open</a> FILENAME    <a href="#tof">&#7547;</a>

    Open a connection to the local repository in FILENAME.  A checkout
    for the repository is created with its root at the working directory.
    See also the "close" command.



    <a name="pull">Usage: </a><a href="cmd_pull.wiki">fossil pull</a> ?URL? ?-R|--respository REPOSITORY?    <a href="#tof">&#7547;</a>

    Pull changes in a remote repository into the local repository.
    The repository is identified by the -R or --repository option.
    If there is no such option then the open repository is used.
    The URL of the remote server is specified on the command line
    If no URL is specified then the URL used by the most recent
    "pull", "push", or "sync" command is used.

................................................................................

    The "USER@" and ":PORT" substrings are optional.
    The "USER" substring specifies the login user.  You will be
    prompted for the password on the command-line.  The PORT
    specifies the TCP port of the server.  The default port is
    80.



    <a name="push">Usage: </a><a href="cmd_push.wiki">fossil push</a> ?URL? ?-R|--repository REPOSITORY?    <a href="#tof">&#7547;</a>

    Push changes in the local repository over into a remote repository.
    See the "pull" command for additional information.


    <a name="rebuild">Usage: </a><a href="cmd_rebuild.wiki">fossil rebuild</a> REPOSITORY    <a href="#tof">&#7547;</a>

    Reconstruct the named repository database from the core
    records.  Run this command after updating the fossil
    executable in a way that changes the database schema.



    COMMAND: reconstruct 
    <a name="reconstruct">Usage: </a><a href="cmd_reconstruct.wiki">fossil reconstruct</a> REPOSITORY ORIGIN    <a href="#tof">&#7547;</a>

    Creates the REPOSITORY and populates it with the artifacts in the
    indicated ORIGIN directory.



    <a name="redo">Usage: </a><a href="cmd_redo.wiki">fossil redo</a> ?FILENAME...?    <a href="#tof">&#7547;</a>

    Redo the an update or merge operation that has been undone by the
    undo command.  If FILENAME is specified then restore the changes
    associated with the named file(s) but otherwise leave the update
    or merge undone.

    A single level of undo/redo is supported.  The undo/redo stack
    is cleared by the commit and checkout commands.



    <a name="revert">Usage: </a><a href="cmd_revert.wiki">fossil revert</a> ?--yes? ?-r REVISION? FILE    <a href="#tof">&#7547;</a>

    Revert to the current repository version of FILE, or to
    the version associated with baseline REVISION if the -r flag
    appears.  This command will confirm your operation unless the
    file is missing or the --yes option is used.


    <a name="server">Usage: </a><a href="cmd_server.wiki">fossil server</a> ?-P|--port TCPPORT? ?REPOSITORY?    <a href="#tof">&#7547;</a>
    Or: fossil ui ?-P|--port TCPPORT? ?REPOSITORY?

    Open a socket and begin listening and responding to HTTP requests on
    TCP port 8080, or on any other TCP port defined by the -P or
    --port option.  The optional argument is the name of the repository.
    The repository argument may be omitted if the working directory is
    within an open checkout.

    The "ui" command automatically starts a web browser after initializing
    the web server.



    COMMAND: settings
    COMMAND: unset
    <a name="setting">Usage: </a><a href="cmd_setting.wiki">fossil setting</a> ?PROPERTY? ?VALUE? ?-global?    <a href="#tof">&#7547;</a>
    fossil unset PROPERTY ?-global?

    The "setting" command with no arguments lists all properties and their
    values.  With just a property name it shows the value of that property.
    With a value argument it changes the property for the current repository.

    The "unset" command clears a property setting.

................................................................................
    then a direct HTTP connection is used.

    web-browser      A shell command used to launch your preferred
    web browser when given a URL as an argument.
    Defaults to "start" on windows, "open" on Mac,
    and "firefox" on Unix.



    <a name="status">Usage: </a><a href="cmd_status.wiki">fossil status</a>    <a href="#tof">&#7547;</a>

    Report on the status of the current checkout.



    <a name="sync">Usage: </a><a href="cmd_sync.wiki">fossil sync</a> ?URL? ?-R|--repository REPOSITORY?    <a href="#tof">&#7547;</a>

    Synchronize the local repository with a remote repository.  This is
    the equivalent of running both "push" and "pull" at the same time.
    See the "pull" command for additional information.


    <a name="tag">Usage: </a><a href="cmd_tag.wiki">fossil tag</a> SUBCOMMAND ...    <a href="#tof">&#7547;</a>

    Run various subcommands to control tags and properties

    fossil tag add ?--raw? TAGNAME BASELINE ?VALUE?

    Add a new tag or property to BASELINE. The tag will
    be usable instead of a BASELINE in commands such as
    update and merge.
................................................................................
    will be taken as an artifact or baseline ID and fossil will
    probably complain that no such revision was found. However

    fossil update tag:decaf

    will assume that "decaf" is a tag/branch name.



    <a name="timeline">Usage: </a><a href="cmd_timeline.wiki">fossil timeline</a> ?WHEN? ?BASELINE|DATETIME? ?-n|--count N?    <a href="#tof">&#7547;</a>

    Print a summary of activity going backwards in date and time
    specified or from the current date and time if no arguments
    are given.  Show as many as N (default 20) check-ins.  The
    WHEN argument can be any unique abbreviation of one of these
    keywords:

    before
................................................................................
    ancestors | parents

    The BASELINE can be any unique prefix of 4 characters or more.
    The DATETIME should be in the ISO8601 format.  For
    examples: "2007-08-18 07:21:21".  You can also say "current"
    for the current version or "now" for the current time.



    <a name="undo">Usage: </a><a href="cmd_undo.wiki">fossil undo</a> ?FILENAME...?    <a href="#tof">&#7547;</a>

    Undo the most recent update or merge operation.  If FILENAME is
    specified then restore the content of the named file(s) but otherwise
    leave the update or merge in effect.

    A single level of undo/redo is supported.  The undo/redo stack
    is cleared by the commit and checkout commands.



    <a name="update">Usage: </a><a href="cmd_update.wiki">fossil update</a> ?VERSION? ?--latest?    <a href="#tof">&#7547;</a>

    The optional argument is a version that should become the current
    version.  If the argument is omitted, then use the leaf of the
    tree that begins with the current version, if there is only a 
    single leaf.  If there are a multiple leaves, the latest is used
    if the --latest flag is present.

    This command is different from the "checkout" in that edits are
    not overwritten.  Edits are merged into the new version.



    <a name="user">Usage: </a><a href="cmd_user.wiki">fossil user</a> SUBCOMMAND ...  ?-R|--repository FILE?    <a href="#tof">&#7547;</a>

    Run various subcommands on users of the open repository or of
    the repository identified by the -R or --repository option.

    fossil user capabilities USERNAME ?STRING?

    Query or set the capabilities for user USERNAME

................................................................................
    deleted.  They can be denied all access but they must continue
    to exist in the database.

    fossil user password USERNAME

    Change the web access password for a user.



    <a name="version">Usage: </a><a href="cmd_version.wiki">fossil version</a>    <a href="#tof">&#7547;</a>

    Print the source code version number for the fossil executable.



    <a name="wiki">Usage: </a><a href="cmd_wiki.wiki">fossil wiki</a> (export|create|commit|list) WikiName    <a href="#tof">&#7547;</a>

    Run various subcommands to fetch wiki entries.

    fossil wiki export PAGENAME ?FILE?

    Sends the latest version of the PAGENAME wiki
    entry to the given file or standard output.

................................................................................
    fossil wiki diff ?ARTIFACT? ?-f infile[=stdin]? EntryName

    Diffs the local copy of a page with a given version (defaulting
    to the head version).

  </pre></nowiki>

  <hr>

    <h3>Caveats</h3>
    This is not actually a reference, it's the start of a reference.
    There are wikilinks to uncreated pages for the commands.  This was
    created by running the fossil help for each command listed by running
    fossil help...  Duplicate commands are only listed once (I
    <i>think</i>).  There are several bits of <b>fossil</b> that are not addressed
    in the help for commands (special wiki directories, special users, etc.)
    so they are (currently) not addressed here.  Clarity and brevity may be
    sacrificed for expediency at the authors indiscretion.  All spelling and
    grammatical mistakes are somebody elses fault.<code>  void * </code>
    prohibited where<code> __C_PLUS_PLUS__ </code>. Title and taxes extra.
    Not valid in Hooptigonia.
<a href="#tof">&#7547;</a>







|







 







|







<
>
|
<



<
>
|
<







 







|
|
<













|
|
<



<
>
|
<






|
|
<









|
|
<








<
>
|
<



<
>
|
<




<
>
|
<







 







|
<







 







<
>
|
|
<





<
>
|
<


<
>
|
<



<
>
|
<







 







|
|
<



<
>
|
<


<
>
|
<


|
<

<
>
|
<






<
>
|
<


<
>
|
<


<
>
|
<

|
<




|
|
<






|






|
|
<




<
>
|
<







 







<
>
|
<


<
>
|
<




<
>
|
|
<



<
>
|
<








<
>
|
<





|
|
<










<
>


|
<







 







<
>
|
<


<
>
|
<




|
|
<







 







<
>
|
<







 







<
>
|
<







<
>
|
<


|
<





<
>
|
<







 







<
>
|
<


<
>
|
<







 







|













<
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
..
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105

106
107

108
109
110

111
112

113
114
115
116
117
118
119
...
125
126
127
128
129
130
131
132
133

134
135
136
137
138
139
140
141
142
143
144
145
146
147
148

149
150
151

152
153

154
155
156
157
158
159
160
161

162
163
164
165
166
167
168
169
170
171
172

173
174
175
176
177
178
179
180

181
182

183
184
185

186
187

188
189
190
191

192
193

194
195
196
197
198
199
200
...
210
211
212
213
214
215
216
217

218
219
220
221
222
223
224
...
225
226
227
228
229
230
231

232
233
234

235
236
237
238
239

240
241

242
243

244
245

246
247
248

249
250

251
252
253
254
255
256
257
...
266
267
268
269
270
271
272
273
274

275
276
277

278
279

280
281

282
283

284
285
286

287

288
289

290
291
292
293
294
295

296
297

298
299

300
301

302
303

304
305

306
307

308
309
310
311
312
313

314
315
316
317
318
319
320
321
322
323
324
325
326
327
328

329
330
331
332

333
334

335
336
337
338
339
340
341
...
345
346
347
348
349
350
351

352
353

354
355

356
357

358
359
360
361

362
363
364

365
366
367

368
369

370
371
372
373
374
375
376
377

378
379

380
381
382
383
384
385
386

387
388
389
390
391
392
393
394
395
396

397
398
399
400

401
402
403
404
405
406
407
...
435
436
437
438
439
440
441

442
443

444
445

446
447

448
449
450
451
452
453

454
455
456
457
458
459
460
...
501
502
503
504
505
506
507

508
509

510
511
512
513
514
515
516
...
519
520
521
522
523
524
525

526
527

528
529
530
531
532
533
534

535
536

537
538
539

540
541
542
543
544

545
546

547
548
549
550
551
552
553
...
566
567
568
569
570
571
572

573
574

575
576

577
578

579
580
581
582
583
584
585
...
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636


  *  Any fossil command is acceptable once enough of it has been
  entered to make the intent unambiguous.  'clo' is a proper prefix of
  both the 'clone' and 'close' commands, for instance, but 'clon' is
  enough to make the intent&#8212;the 'clone' command&#8212;unambiguous.

  You should probably start interacting with fossil at the command line
  by asking it what it can do:&nbsp;&nbsp;&nbsp;&nbsp;<a name="tof">&#710;</a>

  <code>$ fossil help</code><nowiki><pre>
Usage: fossil help COMMAND.
Available COMMANDs:</pre><table width="80%" style="font-family: fixed, courier, monospace; ">
      <tr>
	<td><a href="#add">add</a></td>
	<td><a href="#configure">configuration</a></td>
................................................................................
      <tr>
	<td><a href="#commit">commit</a></td>
	<td><a href="#info">info</a></td>
	<td><a href="#reconstruct">reconstruct</a></td>
	<td><a href="#timeline">timeline</a></td>
      </tr>
    </table><nowiki><pre>
This is fossil version [2be82dcc2a] 2008-12-07 18:48:09 UTC
</pre>
<b>What follows</b> is a survey of what you get if you type<code>
fossil&nbsp;help&nbsp;<i>command</i> </code>for all of the
commands listed above.  There are links to individual pages for each
of them; pages with content (not all of them are done) go into the command
in a bit more depth than the program help.
<pre>

<hr><a href="#tof">&#710;</a>
    <a name="add">Usage: </a><code><a href="cmd_add.wiki">fossil add</a></code> FILE...

    Make arrangements to add one or more files to the current checkout
    at the next commit.


<hr><a href="#tof">&#710;</a>
    <a name="all">Usage: </a><code><a href="cmd_all.wiki">fossil all</a></code> (list|pull|push|rebuild|sync)

    The ~/.fossil file records the location of all repositories for a
    user.  This command performs certain operations on all repositories
    that can be useful before or after a period of disconnection operation.
    Available operations are:

    list       Display the location of all repositories

................................................................................

    sync       Run a "sync" on all repositories

    Respositories are automatically added to the set of known repositories
    when one of the following commands against the repository: clone, info,
    pull, push, or sync

<hr><a href="#tof">&#710;</a>
    <a name="cgi">Usage: </a><a href="cmd_cgi">fossil cgi</a> SCRIPT

    The SCRIPT argument is the name of a file that is the CGI script
    that is being run.  The command name, "cgi", may be omitted if
    the GATEWAY_INTERFACE environment variable is set to "CGI" (which
    should always be the case for CGI scripts run by a webserver.)  The
    SCRIPT file should look something like this:

    #!/usr/bin/fossil
    repository: /home/somebody/project.db

    The second line defines the name of the repository.  After locating
    the repository, fossil will generate a webpage on stdout based on
    the values of standard CGI environment variables.

<hr><a href="#tof">&#710;</a>
    <a name="changes">Usage: </a><a href="cmd_changes">fossil changes</a>

    Report on the edit status of all files in the current checkout.
    See also the "status" and "extra" commands.


<hr><a href="#tof">&#710;</a>
    <a name="checkout">Usage: </a><a href="checkout">fossil checkout</a> VERSION ?-f|--force?

    Check out a version specified on the command-line.  This command
    will not overwrite edited files in the current checkout unless
    the --force option appears on the command-line.

    See also the "update" command.

<hr><a href="#tof">&#710;</a>
    <a name="commit">Usage: </a><a href="cmd_commit.wiki">fossil commit</a> ?-m COMMENT? ?--nosign? ?FILE...?    fossil ci  ...  (as above)


    Create a new version containing all of the changes in the current
    checkout.  You will be prompted to enter a check-in comment unless
    the "-m" option is used to specify a comment line.  You will be
    prompted for your GPG passphrase in order to sign the new manifest
    unless the "--nosign" options is used.  All files that have
    changed will be committed unless some subset of files is specified
    on the command line.

<hr><a href="#tof">&#710;</a>
    <a name="clean">Usage: </a><a href="cmd_clean.wiki">fossil clean</a> ?-all?

    Delete all "extra" files in the source tree.  "Extra" files are
    files that are not officially part of the checkout.  See also
    the "extra" command. This operation cannot be undone.

    You will be prompted before removing each file. If you are
    sure you wish to remove all "extra" files you can specify the
    optional -all flag.


<hr><a href="#tof">&#710;</a>
    <a name="clone">Usage: </a><a href="cmd_clone.wiki">fossil clone</a> URL FILENAME

    Make a clone of a repository specified by URL in the local
    file named FILENAME.


<hr><a href="#tof">&#710;</a>
    <a name="close">Usage: </a><a href="cmd_close.wiki">fossil close</a> ?-f|--force?

    The opposite of "open".  Close the current database connection.
    Require a -f or --force flag if there are unsaved changed in the
    current check-out.


<hr><a href="#tof">&#710;</a>
    <a name="configure">Usage: </a><a href="cmd_configure.wiki">fossil configure</a> METHOD ...

    Where METHOD is one of: export import merge pull push reset.  All methods
    accept the -R or --repository option to specific a repository.

    fossil configuration export AREA FILENAME

    Write to FILENAME exported configuraton information for AREA.
    AREA can be one of:  all ticket skin project
................................................................................
    the current configuration.  Existing values take priority over
    values read from FILENAME.

    fossil configuration pull AREA ?URL?

    Pull and install the configuration from a different server
    identified by URL.  If no URL is specified, then the default
    server is used.

    fossil configuration push AREA ?URL?

    Push the local configuration into the remote server identified
    by URL.  Admin privilege is required on the remote server for
    this to work.

    fossil configuration reset AREA
................................................................................

    Restore the configuration to the default.  AREA as above.

    WARNING: Do not import, merge, or pull configurations from an untrusted
    source.  The inbound configuration is not checked for safety and can
    introduce security vulnerabilities.


<hr><a href="#tof">&#710;</a>
    COMMAND: deconstruct
    <a name="deconstruct">Usage: </a><a href="cmd_deconstruct.wiki">fossil deconstruct</a> ?-R|--repository REPOSITORY? DESTINATION

    Populates the indicated DESTINATION directory with copies of all
    artifcats contained within the repository.  Artifacts are named AA/bbbbb
    where AA is the first 2 characters of the artifact ID and bbbbb is the
    remaining 38 characters.


<hr><a href="#tof">&#710;</a>
    <a name="rm">Usage: </a><a href="cmd_rm.wiki">fossil rm</a> FILE...    or: fossil del FILE...

    Remove one or more files from the tree.


<hr><a href="#tof">&#710;</a>
    <a name="descendants">Usage: </a><a href="cmd_descendants.wiki">fossil descendants</a> ?BASELINE-ID?

    Find all leaf descendants of the baseline specified or if the argument
    is omitted, of the baseline currently checked out.


<hr><a href="#tof">&#710;</a>
    <a name="diff">Usage: </a><a href="cmd_diff.wiki">fossil diff</a>|gdiff ?-i? ?-r REVISION? FILE...

    Show the difference between the current version of a file (as it
    exists on disk) and that same file as it was checked out.

    diff will show a textual diff while gdiff will attempt to run a
    graphical diff command that you have setup. If the choosen command
    is not yet configured, the internal textual diff command will be
    used.
................................................................................
    fossil setting gdiff-command tkdiff
    fossil setting gdiff-command eskill22
    fossil setting gdiff-command tortoisemerge
    fossil setting gdiff-command meld
    fossil setting gdiff-command xxdiff
    fossil setting gdiff-command kdiff3

<hr><a href="#tof">&#710;</a>
    <a name="extra">Usage: </a><a href="cmd_extra.wiki">fossil extra</a>

    Print a list of all files in the source tree that are not part of
    the current checkout.  See also the "clean" command.


<hr><a href="#tof">&#710;</a>
    <a name="help">Usage: </a><a href="cmd_help.wiki">fossil help</a> COMMAND

    Display information on how to use COMMAND


<hr><a href="#tof">&#710;</a>
    <a name="http">Usage: </a><a href="cmd_http.wiki">fossil http</a> REPOSITORY

    Handle a single HTTP request appearing on stdin.  The resulting webpage
    is delivered on stdout.  This method is used to launch an HTTP request
    handler from inetd, for example.  The argument is the name of the    repository.



<hr><a href="#tof">&#710;</a>
    <a name="info">Usage: </a><a href="cmd_info.wiki">fossil info</a> ?ARTIFACT-ID|FILENAME?

    With no arguments, provide information about the current tree.
    If an argument is specified, provide information about the object
    in the respository of the current tree that the argument refers
    to.  Or if the argument is the name of a repository, show
    information about that repository.


<hr><a href="#tof">&#710;</a>
    <a name="leaves">Usage: </a><a href="cmd_leaves.wiki">fossil leaves</a>

    Find leaves of all branches.


<hr><a href="#tof">&#710;</a>
    <a name="ls">Usage: </a><a href="cmd_ls.wiki">fossil ls</a>

    Show the names of all files in the current checkout


<hr><a href="#tof">&#710;</a>
    <a name="merge">Usage: </a><a href="cmd_merge.wiki">fossil merge</a> VERSION

    The argument is a version that should be merged into the current
    checkout.

    Only file content is merged.  The result continues to use the
    file and directory names from the current check-out even if those
    names might have been changed in the branch being merged in.

<hr><a href="#tof">&#710;</a>
    <a name="mv">Usage: </a><a href="cmd_mv.wiki">fossil mv|rename</a> OLDNAME NEWNAME       or: fossil mv|rename OLDNAME... DIR


    Move or rename one or more files within the tree

    This command does not rename the files on disk.  All this command does is
    record the fact that filenames have changed so that appropriate notations
    can be made at the next commit/checkin.
<hr><a href="#tof">&#710;</a>
    <a name="new">Usage: </a><a href="cmd_new.wiki">fossil new</a> FILENAME

    Create a repository for a new project in the file named FILENAME.
    This command is distinct from "clone".  The "clone" command makes
    a copy of an existing project.  This command starts a new project.

<hr><a href="#tof">&#710;</a>
    <a name="open">Usage: </a><a href="cmd_open.wiki">fossil open</a> FILENAME

    Open a connection to the local repository in FILENAME.  A checkout
    for the repository is created with its root at the working directory.
    See also the "close" command.


<hr><a href="#tof">&#710;</a>
    <a name="pull">Usage: </a><a href="cmd_pull.wiki">fossil pull</a> ?URL? ?-R|--respository REPOSITORY?

    Pull changes in a remote repository into the local repository.
    The repository is identified by the -R or --repository option.
    If there is no such option then the open repository is used.
    The URL of the remote server is specified on the command line
    If no URL is specified then the URL used by the most recent
    "pull", "push", or "sync" command is used.

................................................................................

    The "USER@" and ":PORT" substrings are optional.
    The "USER" substring specifies the login user.  You will be
    prompted for the password on the command-line.  The PORT
    specifies the TCP port of the server.  The default port is
    80.


<hr><a href="#tof">&#710;</a>
    <a name="push">Usage: </a><a href="cmd_push.wiki">fossil push</a> ?URL? ?-R|--repository REPOSITORY?

    Push changes in the local repository over into a remote repository.
    See the "pull" command for additional information.

<hr><a href="#tof">&#710;</a>
    <a name="rebuild">Usage: </a><a href="cmd_rebuild.wiki">fossil rebuild</a> REPOSITORY

    Reconstruct the named repository database from the core
    records.  Run this command after updating the fossil
    executable in a way that changes the database schema.


<hr><a href="#tof">&#710;</a>
    COMMAND: reconstruct
    <a name="reconstruct">Usage: </a><a href="cmd_reconstruct.wiki">fossil reconstruct</a> REPOSITORY ORIGIN

    Creates the REPOSITORY and populates it with the artifacts in the
    indicated ORIGIN directory.


<hr><a href="#tof">&#710;</a>
    <a name="redo">Usage: </a><a href="cmd_redo.wiki">fossil redo</a> ?FILENAME...?

    Redo the an update or merge operation that has been undone by the
    undo command.  If FILENAME is specified then restore the changes
    associated with the named file(s) but otherwise leave the update
    or merge undone.

    A single level of undo/redo is supported.  The undo/redo stack
    is cleared by the commit and checkout commands.


<hr><a href="#tof">&#710;</a>
    <a name="revert">Usage: </a><a href="cmd_revert.wiki">fossil revert</a> ?--yes? ?-r REVISION? FILE

    Revert to the current repository version of FILE, or to
    the version associated with baseline REVISION if the -r flag
    appears.  This command will confirm your operation unless the
    file is missing or the --yes option is used.

<hr><a href="#tof">&#710;</a>
    <a name="server">Usage: </a><a href="cmd_server.wiki">fossil server</a> ?-P|--port TCPPORT? ?REPOSITORY?    Or: fossil ui ?-P|--port TCPPORT? ?REPOSITORY?


    Open a socket and begin listening and responding to HTTP requests on
    TCP port 8080, or on any other TCP port defined by the -P or
    --port option.  The optional argument is the name of the repository.
    The repository argument may be omitted if the working directory is
    within an open checkout.

    The "ui" command automatically starts a web browser after initializing
    the web server.


<hr><a href="#tof">&#710;</a>
    COMMAND: settings
    COMMAND: unset
    <a name="setting">Usage: </a><a href="cmd_setting.wiki">fossil setting</a> ?PROPERTY? ?VALUE? ?-global?    fossil unset PROPERTY ?-global?


    The "setting" command with no arguments lists all properties and their
    values.  With just a property name it shows the value of that property.
    With a value argument it changes the property for the current repository.

    The "unset" command clears a property setting.

................................................................................
    then a direct HTTP connection is used.

    web-browser      A shell command used to launch your preferred
    web browser when given a URL as an argument.
    Defaults to "start" on windows, "open" on Mac,
    and "firefox" on Unix.


<hr><a href="#tof">&#710;</a>
    <a name="status">Usage: </a><a href="cmd_status.wiki">fossil status</a>

    Report on the status of the current checkout.


<hr><a href="#tof">&#710;</a>
    <a name="sync">Usage: </a><a href="cmd_sync.wiki">fossil sync</a> ?URL? ?-R|--repository REPOSITORY?

    Synchronize the local repository with a remote repository.  This is
    the equivalent of running both "push" and "pull" at the same time.
    See the "pull" command for additional information.

<hr><a href="#tof">&#710;</a>
    <a name="tag">Usage: </a><a href="cmd_tag.wiki">fossil tag</a> SUBCOMMAND ...

    Run various subcommands to control tags and properties

    fossil tag add ?--raw? TAGNAME BASELINE ?VALUE?

    Add a new tag or property to BASELINE. The tag will
    be usable instead of a BASELINE in commands such as
    update and merge.
................................................................................
    will be taken as an artifact or baseline ID and fossil will
    probably complain that no such revision was found. However

    fossil update tag:decaf

    will assume that "decaf" is a tag/branch name.


<hr><a href="#tof">&#710;</a>
    <a name="timeline">Usage: </a><a href="cmd_timeline.wiki">fossil timeline</a> ?WHEN? ?BASELINE|DATETIME? ?-n|--count N?

    Print a summary of activity going backwards in date and time
    specified or from the current date and time if no arguments
    are given.  Show as many as N (default 20) check-ins.  The
    WHEN argument can be any unique abbreviation of one of these
    keywords:

    before
................................................................................
    ancestors | parents

    The BASELINE can be any unique prefix of 4 characters or more.
    The DATETIME should be in the ISO8601 format.  For
    examples: "2007-08-18 07:21:21".  You can also say "current"
    for the current version or "now" for the current time.


<hr><a href="#tof">&#710;</a>
    <a name="undo">Usage: </a><a href="cmd_undo.wiki">fossil undo</a> ?FILENAME...?

    Undo the most recent update or merge operation.  If FILENAME is
    specified then restore the content of the named file(s) but otherwise
    leave the update or merge in effect.

    A single level of undo/redo is supported.  The undo/redo stack
    is cleared by the commit and checkout commands.


<hr><a href="#tof">&#710;</a>
    <a name="update">Usage: </a><a href="cmd_update.wiki">fossil update</a> ?VERSION? ?--latest?

    The optional argument is a version that should become the current
    version.  If the argument is omitted, then use the leaf of the
    tree that begins with the current version, if there is only a    single leaf.  If there are a multiple leaves, the latest is used

    if the --latest flag is present.

    This command is different from the "checkout" in that edits are
    not overwritten.  Edits are merged into the new version.


<hr><a href="#tof">&#710;</a>
    <a name="user">Usage: </a><a href="cmd_user.wiki">fossil user</a> SUBCOMMAND ...  ?-R|--repository FILE?

    Run various subcommands on users of the open repository or of
    the repository identified by the -R or --repository option.

    fossil user capabilities USERNAME ?STRING?

    Query or set the capabilities for user USERNAME

................................................................................
    deleted.  They can be denied all access but they must continue
    to exist in the database.

    fossil user password USERNAME

    Change the web access password for a user.


<hr><a href="#tof">&#710;</a>
    <a name="version">Usage: </a><a href="cmd_version.wiki">fossil version</a>

    Print the source code version number for the fossil executable.


<hr><a href="#tof">&#710;</a>
    <a name="wiki">Usage: </a><a href="cmd_wiki.wiki">fossil wiki</a> (export|create|commit|list) WikiName

    Run various subcommands to fetch wiki entries.

    fossil wiki export PAGENAME ?FILE?

    Sends the latest version of the PAGENAME wiki
    entry to the given file or standard output.

................................................................................
    fossil wiki diff ?ARTIFACT? ?-f infile[=stdin]? EntryName

    Diffs the local copy of a page with a given version (defaulting
    to the head version).

  </pre></nowiki>

  <hr><a href="#tof">&#710;</a>

    <h3>Caveats</h3>
    This is not actually a reference, it's the start of a reference.
    There are wikilinks to uncreated pages for the commands.  This was
    created by running the fossil help for each command listed by running
    fossil help...  Duplicate commands are only listed once (I
    <i>think</i>).  There are several bits of <b>fossil</b> that are not addressed
    in the help for commands (special wiki directories, special users, etc.)
    so they are (currently) not addressed here.  Clarity and brevity may be
    sacrificed for expediency at the authors indiscretion.  All spelling and
    grammatical mistakes are somebody elses fault.<code>  void * </code>
    prohibited where<code> __C_PLUS_PLUS__ </code>. Title and taxes extra.
    Not valid in Hooptigonia.