changeset 11837:b9d316bcc013

Merge with stable
author Martin Geisler <mg@aragost.com>
date Fri, 13 Aug 2010 10:28:59 +0200
parents 7c9beccb0533 (current diff) 53fdc0989047 (diff)
children d4bfa07f269f
files mercurial/commands.py
diffstat 4 files changed, 82 insertions(+), 28 deletions(-) [+]
line wrap: on
line diff
--- a/doc/hgrc.5.txt	Fri Aug 13 10:10:11 2010 +0200
+++ b/doc/hgrc.5.txt	Fri Aug 13 10:28:59 2010 +0200
@@ -307,8 +307,8 @@
 Use the ``[defaults]`` section to define command defaults, i.e. the
 default options/arguments to pass to the specified commands.
 
-The following example makes :hg:`log` run in verbose mode, and :hg:`hg
-status` show only the modified files, by default::
+The following example makes :hg:`log` run in verbose mode, and
+:hg:`status` show only the modified files, by default::
 
   [defaults]
   log = -v
--- a/mercurial/commands.py	Fri Aug 13 10:10:11 2010 +0200
+++ b/mercurial/commands.py	Fri Aug 13 10:28:59 2010 +0200
@@ -2948,31 +2948,35 @@
         wlock.release()
 
 def resolve(ui, repo, *pats, **opts):
-    """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.
+    """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`` hgrc 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).
+
+    The resolve command can be used in the following ways:
+
+    - :hg:`resolve 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 selects all unresolved files.
+
+    - :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.
+
+    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.
 
     Returns 0 on success, 1 if any files fail a resolve attempt.
     """
@@ -4340,7 +4344,7 @@
          [('a', 'all', None, _('select all unresolved files')),
           ('l', 'list', None, _('list state of files needing merge')),
           ('m', 'mark', None, _('mark files as resolved')),
-          ('u', 'unmark', None, _('unmark files as resolved')),
+          ('u', 'unmark', None, _('mark files as unresolved')),
           ('n', 'no-status', None, _('hide status prefix'))]
           + walkopts,
           _('[OPTION]... [FILE]...')),
--- a/tests/test-convert-svn-sink	Fri Aug 13 10:10:11 2010 +0200
+++ b/tests/test-convert-svn-sink	Fri Aug 13 10:28:59 2010 +0200
@@ -134,3 +134,15 @@
 hg convert -d svn b
 echo % expect 4 changes
 svnupanddisplay b-hg-wc 0
+
+echo % tags are not supported, but must not break conversion
+
+rm -rf a a-hg a-hg-wc
+hg init a
+echo a > a/a
+hg --cwd a ci -d '0 0' -A -m 'Add file a'
+hg --cwd a tag -d '1 0' -m 'Tagged as v1.0' v1.0
+
+hg convert -d svn a
+svnupanddisplay a-hg-wc 2
+rm -rf a a-hg a-hg-wc
--- a/tests/test-convert-svn-sink.out	Fri Aug 13 10:10:11 2010 +0200
+++ b/tests/test-convert-svn-sink.out	Fri Aug 13 10:28:59 2010 +0200
@@ -335,3 +335,41 @@
 <msg>base</msg>
 </logentry>
 </log>
+% tags are not supported, but must not break conversion
+adding a
+assuming destination a-hg
+initializing svn repository 'a-hg'
+initializing svn working copy 'a-hg-wc'
+scanning source...
+sorting...
+converting...
+1 Add file a
+0 Tagged as v1.0
+writing Subversion tags is not yet implemented
+At revision 2.
+ 2 2 test .
+ 2 1 test a
+ 2 2 test .hgtags
+<?xml version="1.0"?>
+<log>
+<logentry
+   revision="2">
+<author>test</author>
+<date/>
+<paths>
+<path
+   action="A">/.hgtags</path>
+</paths>
+<msg>Tagged as v1.0</msg>
+</logentry>
+<logentry
+   revision="1">
+<author>test</author>
+<date/>
+<paths>
+<path
+   action="A">/a</path>
+</paths>
+<msg>Add file a</msg>
+</logentry>
+</log>