We probably need some notes on branching.

For now, here is a response to ticket [f90265fc83]:

# create testing branch<br>
fossil tag branch testing <i>uuid1</i>

# where <i>uuid1</i> is the point at which you want to branch<br>
# Note that the above command creates a new checkin which is a<br>
# sibling of <i>uuid1</i> and identical to it.<br>

# You still need to tell fossil to use it in the working directory<br>
fossil update testing<br>

# do some experimental work<br>
...<br>

# back to main branch<br>
fossil update <i>uuid1</i><br>
fossil update<br>

# The second update is needed because the main branch may have<br>
# moved on from <i>uuid1</i>.


Note that fossil has no concept of a default branch, and in the presence of multiple forks and branches you are usually safer to give an explicit argument to <b>fossil update</b>.

Because fossil supports distributed operation, forks which are not deliberate branches can be quite common, and there is probably no safe algorithm for "the latest non-branch UUID".


<hr><div id="6f02643c22ea3612"><i>On 2008-10-19 14:52:08 UTC anonymous added:</i><br />
Here is an example of branches work with mercurial<br>
<br>
# switch to testing branch<br>
hg branch testing<br>
... do some commits<br>
<br>
# switch to default branch<br>
hg branch default<br>
... do another commits<br>
<br>
# continue testing work<br>
hg branch testing<br>
<br>
But with fossil i need to use UUID? How can i automate this work?

... commits</div id="6f02643c22ea3612">