---
name: "hg-incoming"
section: "1"
platform: "linux"
package: "mercurial"
version: "7.2.4-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/hg-incoming"
---

# hg-incoming(1)

show new changesets found in source

## NAME

hg incoming - show new changesets found in source

## SYNOPSIS

```
hg incoming [-p] [-n] [-M] [-f] [-r REV]... [--bundle FILENAME] [SOURCE]
```

## DESCRIPTION

Show new changesets found in the specified path/URL or the default pull location. These are the changesets that would have been pulled by **hg pull** at the time you issued this command.

See pull for valid source format details.

With -B/--bookmarks, the result of bookmark comparison between local and remote repositories is displayed. With -v/--verbose, status is also displayed for each bookmark like below:

```
BM1               01234567890a added
BM2               1234567890ab advanced
BM3               234567890abc diverged
BM4               34567890abcd changed
```

The action taken locally when pulling depends on the status of each bookmark:

- **added**

  pull will create it

- **advanced**

  pull will update it

- **diverged**

  pull will create a divergent bookmark

- **changed**

  result depends on remote changesets

  From the point of view of pulling behavior, bookmark existing only in the remote repository are treated as **added**, even if it is in fact locally deleted.

  For remote repository, using --bundle avoids downloading the changesets twice if the incoming is followed by a pull.

  Examples:

- •

  show incoming changes with patches and full description:

  ```
  hg incoming -vp
  ```

- •

  show incoming changes excluding merges, store a bundle:

  ```
  hg in -vpM --bundle incoming.hg
  hg pull incoming.hg
  ```

- •

  briefly list changes inside a bundle:

  ```
  hg in changes.hg -T "{desc|firstline}\n"
  ```

  Returns 0 if there are incoming changes, 1 otherwise.

## OPTIONS

- **-f, --force**

  run even if remote repository is unrelated

- **-n, --newest-first**

  show newest record first

- **--bundle** *\<FILE\>*

  file to store the bundles into

- **-r,***--rev* **\<REV\[+\]\>**

  a remote changeset intended to be added

- **-B, --bookmarks**

  compare bookmarks

- **-b,***--branch* **\<BRANCH\[+\]\>**

  a specific branch you would like to pull

- **--remote-hidden**

  include changesets hidden on the remote (EXPERIMENTAL)

- **-p, --patch**

  show patch

- **-g, --git**

  use git extended diff format

- **-l,***--limit* **\<NUM\>**

  limit number of changes displayed

- **-M, --no-merges**

  do not show merges

- **--stat**

  output diffstat-style summary of changes

- **-G, --graph**

  show the revision DAG

- **--style** *\<STYLE\>*

  display using template map file (DEPRECATED)

- **-T,***--template* **\<TEMPLATE\>**

  display with template

- **-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)

- **-S, --subrepos**

  recurse into subrepositories

  \[+\] marked option can be specified multiple times

## ALIASES

```
in
```
