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

# hg-archive(1)

create an unversioned archive of a repository revision

## NAME

hg archive - create an unversioned archive of a repository revision

## SYNOPSIS

```
hg archive [OPTION]... DEST
```

## DESCRIPTION

By default, the revision used is the parent of the working directory; use -r/--rev to specify a different revision.

The archive type is automatically detected based on file extension (to override, use -t/--type).

Examples:

- •

  create a zip file containing the 1.0 release:

  ```
  hg archive -r 1.0 project-1.0.zip
  ```

- •

  create a tarball excluding .hg files:

  ```
  hg archive project.tar.gz -X ".hg*"
  ```

  Valid types are:

- **files**

  a directory full of files (default)

- **tar**

  tar archive, uncompressed

- **tbz2**

  tar archive, compressed using bzip2

- **tgz**

  tar archive, compressed using gzip

- **txz**

  tar archive, compressed using lzma (only in Python 3)

- **uzip**

  zip archive, uncompressed

- **zip**

  zip archive, compressed using deflate

  The exact name of the destination archive or directory is given using a format string; see **hg help export** for details.

  Each member added to an archive file has a directory prefix prepended. Use -p/--prefix to specify a format string for the prefix. The default is the basename of the archive, with suffixes removed.

  Returns 0 on success.

## OPTIONS

- **--no-decode**

  do not pass files through decoders

- **-p,***--prefix* **\<PREFIX\>**

  directory prefix for files in archive

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

  revision to distribute

- **-t,***--type* **\<TYPE\>**

  type of distribution to create

- **-S, --subrepos**

  recurse into subrepositories

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

  include names matching the given patterns

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

  exclude names matching the given patterns

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