checkout
The checkout
command is how a project version goes from
the repository to the chosen project directory.
Without going into detail about getting/opening a repository, once you
have a repository and a place in which the repository has been
opened, you can "check out" a "version" of the files which make up the
repository at somewhen.
The term "checkout" is traditional in source management systems, but a
bit of an anachronism in a distributed system like fossil.
"Checking out" a version of a project means getting all of the source
artifacts out into the standard environment---currently the
shell/file-system.
Traditionally, the version is some "incrementing" code like
v1.3.2rcQuink or f451 or something. In distributed SCM systems it's
some absolutely unique identifier, usually the result of a one-way
hash (SHA1, in fossil's case.) The fossil term for these is
artifact IDs.
fossil checkout
id will check out the
version corresponding to id into the source tree.
checkout
requires you to pick a precise version to put into
the "on-disk" source tree, and leaves any edited files which are already
in the tree intact.
update
, on the other hand, merges edits into the
version you choose (if you choose one; you can default the version.)
Since a version is required, and fossil's artifact IDs are
fairly long, there are two good ways to refer to the version. You can
use a unique proper prefix of the version (six or eight characters is
more than enough in most cases) or you can [./cmd_tag.wiki |
tag] your check-ins and use the tags for checkouts, reverting,
branching (tags are the best way to branch) and so forth. Both
methods work throughout fossil.
See also [./cmd_tag.wiki | fossil tag],
[./cmd_revert.wiki | fossil revert],
[./cmd_update.wiki | fossil update],
[./cmd_push.wiki | fossil push],
[./cmd_pull.wiki | fossil pull],
[./cmd_clone.wiki | fossil clone],
[./cmd_open.wiki | fossil open],
[./cmd_close.wiki | fossil close],
[./cmd_new.wiki | fossil new],
[./reference.wiki | Reference]