hg resolve#
redo merges or set/view the merge status of files#
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 andR
= resolved. You can useset:unresolved()
orset: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
orR
.- path:
String. Repository-absolute path of the file.
Returns 0 on success, 1 if any files fail a resolve attempt.