Patchwork [4,of,9] merge: remove no longer required ACTION_GET_OTHER_AND_STORE

login
register
mail settings
Submitter Pulkit Goyal
Date July 30, 2020, 6:53 a.m.
Message ID <94e7528a24c54cdd8da2.1596092006@workspace>
Download mbox | patch
Permalink /patch/46942/
State New
Headers show

Comments

Pulkit Goyal - July 30, 2020, 6:53 a.m.
# HG changeset patch
# User Pulkit Goyal <7895pulkit@gmail.com>
# Date 1594725028 -19800
#      Tue Jul 14 16:40:28 2020 +0530
# Node ID 94e7528a24c54cdd8da2e1470a101d55ac87a1dd
# Parent  15b6efc31daf8fa412f9379dc55ab7e0df87b50b
# EXP-Topic merge-refactor
merge: remove no longer required ACTION_GET_OTHER_AND_STORE

In 1b8fd4af33189c84feadb47c74d659ec31cde3b9 I (ab)used merge actions to pass
info from manifestmerge() to applyupdates() and store info in mergestate.

In previous patches, we introduced a separate return value from manifestmerge()
and calculateupdates() and an argument to applyupdates() which achieved the same
thing.

Let's remove this no longer required messy code.

Differential Revision: https://phab.mercurial-scm.org/D8744

Patch

diff --git a/mercurial/merge.py b/mercurial/merge.py
--- a/mercurial/merge.py
+++ b/mercurial/merge.py
@@ -706,9 +706,7 @@  def manifestmerge(
                         )
                     else:
                         actions[f] = (
-                            mergestatemod.ACTION_GET_OTHER_AND_STORE
-                            if branchmerge
-                            else mergestatemod.ACTION_GET,
+                            mergestatemod.ACTION_GET,
                             (fl2, False),
                             b'remote is newer',
                         )
@@ -722,9 +720,7 @@  def manifestmerge(
                     )
                 elif nol and n1 == a:  # local only changed 'x'
                     actions[f] = (
-                        mergestatemod.ACTION_GET_OTHER_AND_STORE
-                        if branchmerge
-                        else mergestatemod.ACTION_GET,
+                        mergestatemod.ACTION_GET,
                         (fl1, False),
                         b'remote is newer',
                     )
@@ -999,8 +995,6 @@  def calculateupdates(
 
             for f, a in sorted(pycompat.iteritems(mresult1.actions)):
                 m, args, msg = a
-                if m == mergestatemod.ACTION_GET_OTHER_AND_STORE:
-                    m = mergestatemod.ACTION_GET
                 repo.ui.debug(b' %s: %s -> %s\n' % (f, msg, m))
                 if f in fbids:
                     d = fbids[f]
@@ -1235,7 +1229,6 @@  def emptyactions():
             mergestatemod.ACTION_KEEP,
             mergestatemod.ACTION_PATH_CONFLICT,
             mergestatemod.ACTION_PATH_CONFLICT_RESOLVE,
-            mergestatemod.ACTION_GET_OTHER_AND_STORE,
         )
     }
 
@@ -1279,10 +1272,6 @@  def applyupdates(
         if op == b'other':
             ms.addmergedother(f)
 
-    # add ACTION_GET_OTHER_AND_STORE to mergestate
-    for e in actions[mergestatemod.ACTION_GET_OTHER_AND_STORE]:
-        ms.addmergedother(e[0])
-
     moves = []
     for m, l in actions.items():
         l.sort()
@@ -1827,7 +1816,6 @@  def update(
                     mergestatemod.ACTION_EXEC,
                     mergestatemod.ACTION_REMOVE,
                     mergestatemod.ACTION_PATH_CONFLICT_RESOLVE,
-                    mergestatemod.ACTION_GET_OTHER_AND_STORE,
                 ):
                     msg = _(b"conflicting changes")
                     hint = _(b"commit or update --clean to discard changes")
@@ -1898,10 +1886,6 @@  def update(
                 actions[m] = []
             actions[m].append((f, args, msg))
 
-        # ACTION_GET_OTHER_AND_STORE is a mergestatemod.ACTION_GET + store in mergestate
-        for e in actions[mergestatemod.ACTION_GET_OTHER_AND_STORE]:
-            actions[mergestatemod.ACTION_GET].append(e)
-
         if not util.fscasesensitive(repo.path):
             # check collision between files only in p2 for clean update
             if not branchmerge and (
diff --git a/mercurial/mergestate.py b/mercurial/mergestate.py
--- a/mercurial/mergestate.py
+++ b/mercurial/mergestate.py
@@ -113,8 +113,6 @@  ACTION_DIR_RENAME_MOVE_LOCAL = b'dm'
 ACTION_KEEP = b'k'
 ACTION_EXEC = b'e'
 ACTION_CREATED_MERGE = b'cm'
-# GET the other/remote side and store this info in mergestate
-ACTION_GET_OTHER_AND_STORE = b'gs'
 
 
 class mergestate(object):