Fossil SCM

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

Keyboard Shortcuts

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