resolve: rewrite help to be clearer and more complete (issue2030). stable
authorGreg Ward <greg-hg@gerg.ca>
Mon, 01 Mar 2010 15:41:21 -0500
branchstable
changeset 10559 b1339234080e
parent 10558 6505773080e4
child 10560 9134725caf1d
resolve: rewrite help to be clearer and more complete (issue2030).
mercurial/commands.py
--- a/mercurial/commands.py	Sun Feb 28 19:43:21 2010 +0100
+++ b/mercurial/commands.py	Mon Mar 01 15:41:21 2010 -0500
@@ -2529,26 +2529,31 @@
         wlock.release()
 
 def resolve(ui, repo, *pats, **opts):
-    """retry file merges from a merge or update
-
-    This command can cleanly retry unresolved file merges using file
-    revisions preserved from the last update or merge.
-
-    If a conflict is resolved manually, please note that the changes
-    will be overwritten if the merge is retried with resolve. The
-    -m/--mark switch should be used to mark the file as resolved.
-
-    You can specify a set of files to operate on, or use the -a/--all
-    switch to select all unresolved files.
-
-    This command also allows listing resolved files and manually
-    indicating whether or not files are resolved. All files must be
-    marked as resolved before a commit is permitted.
-
-    The codes used to show the status of files are::
-
-      U = unresolved
-      R = resolved
+    """various operations to help finish a merge
+
+    This command includes several actions that are often useful while
+    performing a merge, after running ``merge`` but before running
+    ``commit``.  (It is only meaningful if your working directory has
+    two parents.)  It is most relevant for merges with unresolved
+    conflicts, which are typically a result of non-interactive merging with
+    ``internal:merge`` or a command-line merge tool like ``diff3``.
+
+    The available actions are:
+
+      1) list files that were merged with conflicts (U, for unresolved)
+         and without conflicts (R, for resolved): ``hg resolve -l``
+         (this is like ``status`` for merges)
+      2) record that you have resolved conflicts in certain files:
+         ``hg resolve -m [file ...]`` (default: mark all unresolved files)
+      3) forget that you have resolved conflicts in certain files:
+         ``hg resolve -u [file ...]`` (default: unmark all resolved files)
+      4) discard your current attempt(s) at resolving conflicts and
+         restart the merge from scratch: ``hg resolve file...``
+         (or ``-a`` for all unresolved files)
+
+    Note that 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.
     """
 
     all, mark, unmark, show, nostatus = \