Fossil has two commands that look like they do the same thing on initial
examination, fossil update
and fossil checkout
, but
there are several key differences:
fossil checkout
aborts if there are changed files in the local directory unless you give the--force
option, whereasfossil update
merges upstream changes with your local changes. Since Fossil tends to follow the CVS command design, and CVS popularized the merge on update workflow, we expect that Fossil’s update behavior is more likely to be what you want.Update triggers an autosync attempt; checkout does not.
Several features in
fossil update
do not exist infossil checkout
, so developing a habit to typefossil up
means you’re more likely to have the features you want at hand.Inversely, the
fossil checkout --keep
feature doesn’t exist infossil update
, but it’s a rarely-needed operation, so it doesn’t provide a good reason to develop a habit of usingfossil checkout
instead.
In summary, these are two separate commands; neither is an alias for the
other. They overlap enough that they can be used interchangeably for
some use cases, but update
is more powerful and more broadly useful.