# hg pull

## pull changes from the specified source

Contents

- Synopsis
- Description
- Options

# Synopsis

    hg pull [-u] [-f] [-r REV]... [-e CMD] [--remotecmd CMD] [SOURCE]...

# Description

Pull changes from a remote repository to a local one.

This finds all changes from the repository at the specified path or URL and adds them to a local repository (the current one unless -R is specified). By default, this does not update the copy of the project in the working directory.

When cloning from servers that support it, Mercurial may fetch pre-generated data. When this is done, hooks operating on incoming changesets and changegroups may fire more than once, once for each pre-generated bundle and as well as for any additional remaining data. See `hg help -e clonebundles` for more.

Use `hg incoming` if you want to see what would have been added by a pull at the time you issued this command. If you then decide to add those changes to the repository, you should use `hg pull -r X` where `X` is the last changeset listed by `hg incoming`.

If SOURCE is omitted, the 'default' path will be used. See `hg help urls` for more information.

If multiple sources are specified, they will be pulled sequentially as if the command was run multiple time. If --update is specify and the command will stop at the first failed --update.

Specifying bookmark as `.` is equivalent to specifying the active bookmark's name.

One can use the --remote-hidden flag to pull changesets hidden on the remote. This flag is "best effort", and will only work if the server supports the feature and is configured to allow the user to access hidden changesets. This option is experimental and backwards compatibility is not garanteed.

Returns 0 on success, 1 if an update had unresolved files.

# Options

`-u, --update` | update to new branch head if new descendants were pulled
`-f, --force` | run even when remote repository is unrelated
`--confirm` | confirm pull before applying changes
`-r, --rev <REV[+]>`
| a remote changeset intended to be added
`-B, --bookmark <BOOKMARK[+]>`
| bookmark to pull
`-b, --branch <BRANCH[+]>`
| a specific branch you would like to pull
`--remote-hidden`
| include changesets hidden on the remote (EXPERIMENTAL)
`-e, --ssh <CMD>`
| specify ssh command to use
`--remotecmd <CMD>`
| specify hg command to run on the remote side
`--insecure` | do not verify server certificate (ignoring web.cacerts config)

[+] marked option can be specified multiple times