hg-resolve - Man Page

redo merges or set/view the merge status of files

Synopsis

hg resolve [OPTION]... [FILE]...

Description

Merges with unresolved conflicts are often the result of non-interactive merging using the internal:merge configuration setting, or a command-line merge tool like diff3. The resolve command is used to manage the files involved in a merge, after hg merge has been run, and before hg commit is run (i.e. the working directory must have two parents). See hg help merge-tools for information on configuring merge tools.

The resolve command can be used in the following ways:

·

hg resolve [--re-merge] [--tool TOOL] FILE...: attempt to re-merge the specified files, discarding any previous merge attempts. Re-merging is not performed for files already marked as resolved. Use --all/-a to select all unresolved files. --tool can be used to specify the merge tool used for the given files. It overrides the HGMERGE environment variable and your configuration files.  Previous file contents are saved with a .orig suffix.

·

hg resolve -m [FILE]: mark a file as having been resolved (e.g. after having manually fixed-up the files). The default is to mark all unresolved files.

·

hg resolve -u [FILE]...: mark a file as unresolved. The default is to mark all resolved files.

·

hg resolve -l: list files which had or still have conflicts. In the printed list, U = unresolved and R = resolved. You can use set:unresolved() or set:resolved() to filter the list. See hg help filesets for details.

Note

Mercurial will not let you commit files with unresolved merge conflicts. You must use hg resolve -m ... before you can commit after a conflicting merge.

Template:

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

mergestatus

String. Character denoting merge conflicts, U or R.

path

String. Repository-absolute path of the file.

Returns 0 on success, 1 if any files fail a resolve attempt.

Options

-a,  --all

select all unresolved files

-l,  --list

list state of files needing merge

-m,  --mark

mark files as resolved

-u,  --unmark

mark files as unresolved

-n,  --no-status

hide status prefix

--re-merge

re-merge files

-t,--tool <TOOL>

specify merge tool

-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