Fossil SCM

fossil-scm / www / faq.wiki
1
<title>Fossil FAQ</title>
2
3
Note: See also <a href="qandc.wiki">Questions and Criticisms</a>.
4
5
<ol>
6
<li><a href="#q1">What GUIs are available for fossil?</a></li>
7
<li><a href="#q2">What is the difference between a "branch" and a "fork"?</a></li>
8
<li><a href="#q3">How do I create a new branch?</a></li>
9
<li><a href="#q4">How do I tag a check-in?</a></li>
10
<li><a href="#q5">How do I create a private branch that won't get pushed back to the
11
main repository.</a></li>
12
<li><a href="#q6">How can I delete inappropriate content from my fossil repository?</a></li>
13
<li><a href="#q7">How do I make a clone of the fossil self-hosting repository?</a></li>
14
<li><a href="#q8">How do I import or export content from and to other version control systems?</a></li>
15
</ol>
16
<hr>
17
<p id="q1"><b>(1) What GUIs are available for fossil?</b></p>
18
19
The fossil executable comes with a [./webui.wiki | web-based GUI] built in.
20
Just run:
21
22
<pre>
23
<b>fossil [/help/ui|ui]</b> <i>REPOSITORY-FILENAME</i>
24
</pre>
25
26
And your default web browser should pop up and automatically point to
27
the fossil interface. (Hint: You can omit the <i>REPOSITORY-FILENAME</i>
28
if you are within an open check-out.)</li>
29
30
<p id="q2"><b>(2) What is the difference between a "branch" and a "fork"?</b></p>
31
32
This is a big question - too big to answer in a FAQ. Please
33
read the <a href="branching.wiki">Branching, Forking, Merging,
34
and Tagging</a> document.</li>
35
36
<p id="q3"><b>(3) How do I create a new branch?</b></p>
37
38
There are lots of ways:
39
40
When you are checking in a new change using the <b>[/help/commit|commit]</b>
41
command, you can add the option "--branch <i>BRANCH-NAME</i>" to
42
make the new check-in be the first check-in for a new branch.
43
44
If you want to create a new branch whose initial content is the
45
same as an existing check-in, use this command:
46
47
<pre>
48
<b>fossil [/help/branch|branch] new</b> <i>BRANCH-NAME BASIS</i>
49
</pre>
50
51
The <i>BRANCH-NAME</i> argument is the name of the new branch and the
52
<i>BASIS</i> argument is the name of the check-in that the branch splits
53
off from.
54
55
If you already have a fork in your check-in tree and you want to convert
56
that fork to a branch, you can do this from the web interface.
57
First locate the check-in that you want to be
58
the initial check-in of your branch on the timeline and click on its
59
link so that you are on the <b>ci</b> page. Then find the "<b>edit</b>"
60
link (near the "Commands:" label) and click on that. On the
61
"Edit Check-in" page, check the box beside "Branching:" and fill in
62
the name of your new branch to the right and press the "Apply Changes"
63
button.</li>
64
65
<p id="q4"><b>(4) How do I tag a check-in?</b></p>
66
67
There are several ways:
68
69
When you are checking in a new change using the <b>[/help/commit|commit]</b>
70
command, you can add a tag to that check-in using the
71
"--tag <i>TAGNAME</i>" command-line option. You can repeat the --tag
72
option to give a check-in multiple tags. Tags need not be unique. So,
73
for example, it is common to give every released version a "release" tag.
74
75
If you want to add a tag to an existing check-in, you can use the
76
<b>[/help/tag|tag]</b> command. For example:
77
78
<pre>
79
<b>fossil [/help/branch|tag] add</b> <i>TAGNAME</i> <i>CHECK-IN</i>
80
</pre>
81
82
The CHECK-IN in the previous line can be any
83
[./checkin_names.wiki | valid check-in name format].
84
85
You can also add (and remove) tags from a check-in using the
86
[./webui.wiki | web interface]. First locate the check-in that you
87
want to tag on the timeline, then click on the link to go the detailed
88
information page for that check-in. Then find the "<b>edit</b>"
89
link (near the "Commands:" label) and click on that. There are
90
controls on the edit page that allow new tags to be added and existing
91
tags to be removed.</li>
92
93
<p id="q5"><b>(5) How do I create a private branch that won't get pushed back to the
94
main repository.</b></p>
95
96
Use the <b>--private</b> command-line option on the
97
<b>commit</b> command. The result will be a check-in which exists in
98
your local repository only and is never pushed to other repositories.
99
All descendants of a private check-in are also private.
100
101
Unless you specify something different using the <b>--branch</b> and/or
102
<b>--bgcolor</b> options, the new private check-in will be put on a branch
103
named "private" with an orange background color.
104
105
You can merge from the trunk into your private branch in order to keep
106
your private branch in sync with the latest changes on the trunk. Once
107
you have everything in your private branch the way you want it, you can
108
then merge your private branch back into the trunk and push. Only the
109
final merge operation will appear in other repositories. It will seem
110
as if all the changes that occurred on your private branch occurred in
111
a single check-in.
112
Of course, you can also keep your branch private forever simply
113
by not merging the changes in the private branch back into the trunk.
114
115
[./private.wiki | Additional information]</li>
116
117
<p id="q6"><b>(6) How can I delete inappropriate content from my fossil repository?</b></p>
118
119
See the article on [./shunning.wiki | "shunning"] for details.</li>
120
121
<p id="q7"><b>(7) How do I make a clone of the fossil self-hosting repository?</b></p>
122
123
Any of the following commands should work:
124
125
<pre>
126
fossil [/help/clone|clone] https://fossil-scm.org/ fossil.fossil
127
fossil [/help/clone|clone] https://www2.fossil-scm.org/ fossil.fossil
128
fossil [/help/clone|clone] https://www3.fossil-scm.org/site.cgi fossil.fossil
129
</pre>
130
131
Once you have the repository cloned, you can open a local check-out
132
as follows:
133
134
<pre>
135
mkdir src; cd src; fossil [/help/open|open] ../fossil.fossil
136
</pre>
137
138
Thereafter you should be able to keep your local check-out up to date
139
with the latest code in the public repository by typing:
140
141
<pre>
142
fossil [/help/update|update]
143
</pre></li>
144
145
<p id="q8"><b>(8) How do I import or export content from and to other version control systems?</b></p>
146
147
Please see [./inout.wiki | Import And Export]</li>
148
149
</ol>
150

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button