hg update [-C|-c|-m] [-d DATE] [[-r] REV]

aliases: up, checkout, co

update working directory (or switch revisions)

Update the repository's working directory to the specified changeset. If no changeset is specified, update to the tip of the current named branch and move the active bookmark (see 'hg help bookmarks').

Update sets the working directory's parent revision to the specified changeset (see 'hg help parents').

If the changeset is not a descendant or ancestor of the working directory's parent and there are uncommitted changes, the update is aborted. With the -c/--check option, the working directory is checked for uncommitted changes; if none are found, the working directory is updated to the specified changeset.

The -C/--clean, -c/--check, and -m/--merge options control what happens if the working directory contains uncommitted changes. At most of one of them can be specified.

  1. If no option is specified, and if the requested changeset is an ancestor or descendant of the working directory's parent, the uncommitted changes are merged into the requested changeset and the merged result is left uncommitted. If the requested changeset is not an ancestor or descendant (that is, it is on another branch), the update is aborted and the uncommitted changes are preserved.
  2. With the -m/--merge option, the update is allowed even if the requested changeset is not an ancestor or descendant of the working directory's parent.
  3. With the -c/--check option, the update is aborted and the uncommitted changes are preserved.
  4. With the -C/--clean option, uncommitted changes are discarded and the working directory is updated to the requested changeset.

To cancel an uncommitted merge (and lose your changes), use 'hg merge --abort'.

Use null as the changeset to remove the working directory (like 'hg clone -U').

If you want to revert just one file to an older revision, use 'hg revert [-r REV] NAME'.

See 'hg help dates' for a list of formats valid for -d/--date.

Returns 0 on success, 1 if there are unresolved files.

options:

-C --clean discard uncommitted changes (no backup)
-c --check require clean working directory
-m --merge merge uncommitted changes
-d --date DATE tipmost revision matching date
-r --rev REV revision
-t --tool VALUE specify merge tool

global options ([+] can be repeated):

-R --repository REPO repository root directory or name of overlay bundle file
--cwd DIR change working directory
-y --noninteractive do not prompt, automatically pick the first choice for all prompts
-q --quiet suppress output
-v --verbose enable additional output
--color TYPE when to colorize (boolean, always, auto, never, or debug)
--config CONFIG [+] set/override config option (use 'section.name=value')
--debug enable debugging output
--debugger start debugger
--encoding ENCODE set the charset encoding (default: ascii)
--encodingmode MODE set the charset encoding mode (default: strict)
--traceback always print a traceback on exception
--time time how long the command takes
--profile print command execution profile
--version output version information and exit
-h --help display help and exit
--hidden consider hidden changesets
--pager TYPE when to paginate (boolean, always, auto, or never) (default: auto)