# hg copy

## mark files as copied for the next commit

Contents

- Synopsis
- Description
- Options
- Aliases

# Synopsis

    hg copy [OPTION]... (SOURCE... DEST | --forget DEST...)

# Description

Mark dest as having copies of source files. If dest is a directory, copies are put in that directory. If dest is a file, the source must be a single file.

By default, this command copies the contents of files as they exist in the working directory. If invoked with -A/--after, the operation is recorded, but no copying is performed.

To undo marking a destination file as copied, use --forget. With that option, all given (positional) arguments are unmarked as copies. The destination file(s) will be left in place (still tracked). Note that `hg copy --forget` behaves the same way as `hg rename --forget`.

This command takes effect with the next commit by default.

Returns 0 on success, 1 if errors are encountered.

# Options

`--forget` | unmark a destination file as copied
`-A, --after` | record a copy that has already occurred
`--at-rev <REV>` | (un)mark copies in the given revision (EXPERIMENTAL)
`-f, --force` | forcibly copy over an existing managed file
`-I, --include <PATTERN[+]>`
| include names matching the given patterns
`-X, --exclude <PATTERN[+]>`
| exclude names matching the given patterns
`-n, --dry-run` | do not perform actions, just print output

[+] marked option can be specified multiple times

# Aliases

    cp