Patchwork D11353: dirstate: drop the `_otherparent` method

login
register
mail settings
Submitter phabricator
Date Aug. 26, 2021, 2:22 p.m.
Message ID <differential-rev-PHID-DREV-mmdkgmu6l4pyegogefai-req@mercurial-scm.org>
Download mbox | patch
Permalink /patch/49668/
State Superseded
Headers show

Comments

phabricator - Aug. 26, 2021, 2:22 p.m.
marmoute created this revision.
Herald added a reviewer: hg-reviewers.
Herald added a subscriber: mercurial-patches.

REVISION SUMMARY
  It only has one caller with a lot of the logic already implemented. So lets
  inline it and cleans things up further.

REPOSITORY
  rHG Mercurial

BRANCH
  default

REVISION DETAIL
  https://phab.mercurial-scm.org/D11353

AFFECTED FILES
  mercurial/dirstate.py

CHANGE DETAILS




To: marmoute, #hg-reviewers
Cc: mercurial-patches, mercurial-devel

Patch

diff --git a/mercurial/dirstate.py b/mercurial/dirstate.py
--- a/mercurial/dirstate.py
+++ b/mercurial/dirstate.py
@@ -729,10 +729,8 @@ 
                 # (see `merged_removed` and `from_p2_removed`)
                 if entry.merged_removed or entry.from_p2_removed:
                     source = self._map.copymap.get(f)
-                    if entry.merged_removed:
-                        self._otherparent(f)
-                    elif entry.from_p2_removed:
-                        self._otherparent(f)
+                    self._addpath(f, from_p2=True)
+                    self._map.copymap.pop(f, None)
                     if source is not None:
                         self.copy(source, f)
                     return
@@ -741,19 +739,6 @@ 
         self._addpath(f, possibly_dirty=True)
         self._map.copymap.pop(f, None)
 
-    def _otherparent(self, f):
-        if not self.in_merge:
-            msg = _(b"setting %r to other parent only allowed in merges") % f
-            raise error.Abort(msg)
-        entry = self._map.get(f)
-        if entry is not None and entry.tracked:
-            # merge-like
-            self._addpath(f, merged=True)
-        else:
-            # add-like
-            self._addpath(f, from_p2=True)
-        self._map.copymap.pop(f, None)
-
     def _add(self, filename):
         """internal function to mark a file as added"""
         self._addpath(filename, added=True)