The sync command pulls and pushes repository changes simultaneously.

This applies to repositories available via a URL, of course. If your project is strictly local you can do all of the distributed stuff as long as you are "serving" the repository via http in some fashion, but it's probably pointless to do so.

Assuming you aren't running fossil as a high-powered version of RCS, your use of sync in your projects is up to you. fossil defaults to using a setting of autosync If you have cloned a repository you will automatically sync with the original if you commit changes to your local version unless you customize your configuration.

See also: fossil pull, fossil push, fossil setting, Reference