# hg update

## update working directory (or switch revisions)

Contents

- Synopsis
- Description
- Options
- Aliases

# Synopsis

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

# Description

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 <TOOL>`
| specify merge tool

# Aliases

    up, checkout, co