77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
-
-
+
+
-
+
|
<h2 id="clone">Cloning An Existing Repository</h2>
Most fossil operations interact with a repository that is on the
local disk drive, not on a remote system. Hence, before accessing
a remote repository it is necessary to make a local copy of that
repository. Making a local copy of a remote repository is called
"cloning".
repository, a process called
"[/help/clone | cloning]".
Clone a remote repository as follows: ([/help/clone | more info])
This is done as follows:
<pre><b>fossil clone</b> <i>URL repository-filename</i>
</pre>
The <i>URL</i> specifies the fossil repository
you want to clone. The <i>repository-filename</i> is the new local
filename into which the cloned repository will be written. For
|
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
|
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
|
-
+
-
-
+
-
-
|
[https://www.mercurial-scm.org/|Mercurial].
Fossil can also import [https://subversion.apache.org/|Subversion projects] directly.
<h2 id="checkout">Checking Out A Local Tree</h2>
To work on a project in fossil, you need to check out a local
copy of the source tree. Create the directory you want to be
the root of your tree and cd into that directory. Then
the root of your tree, <tt>cd</tt> into that directory, and then:
do this: ([/help/open | more info])
<pre><b>fossil open</b> <i>repository-filename</i></pre>
for example:
For example:
<pre><b>fossil open ../myclone.fossil
BUILD.txt
COPYRIGHT-BSD2.txt
README.md
︙
</tt></b></pre>
(or "fossil open ..\myclone.fossil" on Windows).
This leaves you with the newest version of the tree
checked out.
From anywhere underneath the root of your local tree, you
can type commands like the following to find out the status of
your local tree:
<pre>
|
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
|
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
|
-
-
+
+
-
-
+
-
+
-
-
-
-
+
-
-
-
+
+
+
+
+
+
+
+
-
-
+
+
+
|
<a href="./checkin_names.wiki">Checkin Names document</a> is a complete reference, including
how timestamps can also be used.
<h2 id="config">Configuring Your Local Repository</h2>
When you create a new repository, either by cloning an existing
project or create a new project of your own, you usually want to do some
local configuration. This is easily accomplished using the web-server
that is built into fossil. Start the fossil web server like this:
local configuration. This is most easily accomplished using the web-server
that is built into Fossil, like so:
([/help/ui | more info])
<pre>
<b>fossil ui</b> <i>repository-filename</i>
</pre>
You can omit the <i>repository-filename</i> from the command above
You can shorten that to just [/help/ui | <b>fossil ui</b>]
if you are inside a checked-out local tree.
This starts a web server then automatically launches your
After the internal web server starts, Fossil automatically launches your
web browser and makes it point to this web server. If your system
has an unusual configuration, fossil might not be able to figure out
how to start your web browser. In that case, first tell fossil
where to find your web browser using a command like this:
default web browser, pointed at itself. You may override that default so:
<pre>
<b>fossil setting web-browser</b> <i>path-to-web-browser</i>
</pre>
By default, fossil does not require a login for HTTP connections
coming in from the IP loopback address 127.0.0.1. You can, and perhaps
should, change this after you create a few users.
Fossil binds this web server to the IP loopback address (127.0.0.1)
which it treats specially when launched this way, bypassing all user
controls. Why is that a good idea, you ask? Because it is a safe
presumption that only someone with direct file access to the repository
database file could be using the resulting web interface. Anyone who can
modify the repo DB directly could give themselves any and all access
with a SQL query, or even by direct file manipulation; no amount of
access control matters to such a user.
When you are finished configuring, just press Control-C or use
the <b>kill</b> command to shut down the mini-server.
Once you are finished configuring Fossil, you may safely Control-C out
of the <b>fossil ui</b> command to shut down this privileged
built-in web server.
<h2 id="sharing">Sharing Changes</h2>
When [./concepts.wiki#workflow|autosync] is turned off,
the changes you [/help/commit | commit] are only
on your local repository.
To share those changes with other repositories, do:
|