---
name: "hg-cat"
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-cat"
---

# hg-cat(1)

output the current or given revision of files

## NAME

hg cat - output the current or given revision of files

## SYNOPSIS

```
hg cat [OPTION]... FILE...
```

## DESCRIPTION

Print the specified files as they were at the given revision. If no revision is given, the parent of the working directory is used.

Output may be to a file, in which case the name of the file is given using a template string. See **hg help templates**. In addition to the common template keywords, the following formatting rules are supported:

- **%%**

  literal "%" character

- **%s**

  basename of file being printed

- **%d**

  dirname of file being printed, or '.' if in repository root

- **%p**

  root-relative path name of file being printed

- **%H**

  changeset hash (40 hexadecimal digits)

- **%R**

  changeset revision number

- **%h**

  short-form changeset hash (12 hexadecimal digits)

- **%r**

  zero-padded changeset revision number

- **%b**

  basename of the exporting repository

- **\\**

  literal "" character

  Template:

  The following keywords are supported in addition to the common template keywords and functions. See also **hg help templates**.

- **data**

  String. File content.

- **path**

  String. Repository-absolute path of the file.

  Returns 0 on success.

## OPTIONS

- **-o,***--output* **\<FORMAT\>**

  print output to file with formatted name

- **-r,***--rev* **\<REV\>**

  print the given revision

- **--decode**

  apply any matching decode filter

- **-I,***--include* **\<PATTERN\[+\]\>**

  include names matching the given patterns

- **-X,***--exclude* **\<PATTERN\[+\]\>**

  exclude names matching the given patterns

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

  display with template

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