Patchwork [2,of,9,V3] obsolete: add an explicit '_succs.copy()' method

login
register
mail settings
Submitter Boris Feld
Date Aug. 21, 2017, 8:43 a.m.
Message ID <60a7a3ca1dae7dc99b8b.1503305034@FB>
Download mbox | patch
Permalink /patch/23170/
State Superseded
Headers show

Comments

Boris Feld - Aug. 21, 2017, 8:43 a.m.
# HG changeset patch
# User Boris Feld <boris.feld@octobus.net>
# Date 1499044397 -7200
#      Mon Jul 03 03:13:17 2017 +0200
# Node ID 60a7a3ca1dae7dc99b8b018b4aefa24b74d3b149
# Parent  328789121fa66b99c50ffa2fb139df700cf9fdc8
# EXP-Topic obsfatetemplate
obsolete: add an explicit '_succs.copy()' method

Mimic the standard API for copying in the _succs class, it makes the code
slightly cleaner and will be needed later for copying markers at the same time
than copying the list content.

Patch

diff -r 328789121fa6 -r 60a7a3ca1dae mercurial/obsutil.py
--- a/mercurial/obsutil.py	Mon Jul 03 00:53:55 2017 +0200
+++ b/mercurial/obsutil.py	Mon Jul 03 03:13:17 2017 +0200
@@ -330,6 +330,9 @@ 
 class _succs(list):
     """small class to represent a successors with some metadata about it"""
 
+    def copy(self):
+        return _succs(self)
+
 def successorssets(repo, initialnode, closest=False, cache=None):
     """Return set of all latest successors of initial nodes
 
@@ -530,7 +533,7 @@ 
                         productresult = []
                         for prefix in markss:
                             for suffix in cache[suc]:
-                                newss = _succs(prefix)
+                                newss = prefix.copy()
                                 for part in suffix:
                                     # do not duplicated entry in successors set
                                     # first entry wins.