changeset 48710:b0aa9b0b9c21

convert: use the merge action constant The constant exists, lets use them. Otherwise we cannot make these constant more powerful. Differential Revision: https://phab.mercurial-scm.org/D12113
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Fri, 28 Jan 2022 16:25:41 +0100
parents d536d4afe003
children 9bc86adf32f6
files hgext/convert/hg.py mercurial/mergestate.py
diffstat 2 files changed, 12 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/hgext/convert/hg.py	Fri Jan 28 16:11:42 2022 +0100
+++ b/hgext/convert/hg.py	Fri Jan 28 16:25:41 2022 +0100
@@ -38,6 +38,7 @@
     lock as lockmod,
     logcmdutil,
     merge as mergemod,
+    mergestate,
     phases,
     pycompat,
     util,
@@ -241,7 +242,7 @@
 
             # If the file requires actual merging, abort. We don't have enough
             # context to resolve merges correctly.
-            if action in [b'm', b'dm', b'cd', b'dc']:
+            if action in mergestate.CONVERT_MERGE_ACTIONS:
                 raise error.Abort(
                     _(
                         b"unable to convert merge commit "
@@ -250,7 +251,7 @@
                     )
                     % (file, p1ctx, p2ctx)
                 )
-            elif action == b'k':
+            elif action == mergestate.ACTION_KEEP:
                 # 'keep' means nothing changed from p1
                 continue
             else:
--- a/mercurial/mergestate.py	Fri Jan 28 16:11:42 2022 +0100
+++ b/mercurial/mergestate.py	Fri Jan 28 16:25:41 2022 +0100
@@ -129,6 +129,15 @@
     ACTION_KEEP_NEW,
 )
 
+# Used by concert to detect situation it does not like, not sure what the exact
+# criteria is
+CONVERT_MERGE_ACTIONS = (
+    ACTION_MERGE,
+    ACTION_DIR_RENAME_MOVE_LOCAL,
+    ACTION_CHANGED_DELETED,
+    ACTION_DELETED_CHANGED,
+)
+
 
 class _mergestate_base(object):
     """track 3-way merge state of individual files