obsutil: move the 'marker' class to the new modules
We have a new 'obsutil' module now. We move high level utility there to bring
'obsolete.py' back to a more reasonable size.
--- a/mercurial/debugcommands.py Tue Jun 27 01:48:41 2017 +0200
+++ b/mercurial/debugcommands.py Tue Jun 27 01:51:40 2017 +0200
@@ -307,7 +307,7 @@
ui.write(msg)
fm = ui.formatter('debugobsolete', opts)
for rawmarker in sorted(markers):
- m = obsolete.marker(None, rawmarker)
+ m = obsutil.marker(None, rawmarker)
fm.startitem()
fm.plain(indent_string)
cmdutil.showmarker(fm, m)
--- a/mercurial/obsolete.py Tue Jun 27 01:48:41 2017 +0200
+++ b/mercurial/obsolete.py Tue Jun 27 01:51:40 2017 +0200
@@ -465,48 +465,6 @@
for marker in markers:
yield encodeone(marker)
-
-class marker(object):
- """Wrap obsolete marker raw data"""
-
- def __init__(self, repo, data):
- # the repo argument will be used to create changectx in later version
- self._repo = repo
- self._data = data
- self._decodedmeta = None
-
- def __hash__(self):
- return hash(self._data)
-
- def __eq__(self, other):
- if type(other) != type(self):
- return False
- return self._data == other._data
-
- def precnode(self):
- """Precursor changeset node identifier"""
- return self._data[0]
-
- def succnodes(self):
- """List of successor changesets node identifiers"""
- return self._data[1]
-
- def parentnodes(self):
- """Parents of the precursors (None if not recorded)"""
- return self._data[5]
-
- def metadata(self):
- """Decoded metadata dictionary"""
- return dict(self._data[3])
-
- def date(self):
- """Creation date as (unixtime, offset)"""
- return self._data[4]
-
- def flags(self):
- """The flags field of the marker"""
- return self._data[2]
-
@util.nogc
def _addsuccessors(successors, markers):
for mark in markers:
@@ -851,7 +809,7 @@
rawmarkers = repo.obsstore.relevantmarkers(nodes)
for markerdata in rawmarkers:
- yield marker(repo, markerdata)
+ yield obsutil.marker(repo, markerdata)
# keep compatibility for the 4.3 cycle
def allprecursors(obsstore, nodes, ignoreflags=0):
@@ -864,6 +822,11 @@
util.nouideprecwarn(movemsg, '4.3')
return obsutil.allsuccessors(obsstore, nodes, ignoreflags)
+def marker(repo, data):
+ movemsg = 'obsolete.marker moved to obsutil.marker'
+ repo.ui.deprecwarn(movemsg, '4.3')
+ return obsutil.marker(repo, data)
+
def exclusivemarkers(repo, nodes):
movemsg = 'obsolete.exclusivemarkers moved to obsutil.exclusivemarkers'
repo.ui.deprecwarn(movemsg, '4.3')
--- a/mercurial/obsutil.py Tue Jun 27 01:48:41 2017 +0200
+++ b/mercurial/obsutil.py Tue Jun 27 01:51:40 2017 +0200
@@ -7,6 +7,47 @@
from __future__ import absolute_import
+class marker(object):
+ """Wrap obsolete marker raw data"""
+
+ def __init__(self, repo, data):
+ # the repo argument will be used to create changectx in later version
+ self._repo = repo
+ self._data = data
+ self._decodedmeta = None
+
+ def __hash__(self):
+ return hash(self._data)
+
+ def __eq__(self, other):
+ if type(other) != type(self):
+ return False
+ return self._data == other._data
+
+ def precnode(self):
+ """Precursor changeset node identifier"""
+ return self._data[0]
+
+ def succnodes(self):
+ """List of successor changesets node identifiers"""
+ return self._data[1]
+
+ def parentnodes(self):
+ """Parents of the precursors (None if not recorded)"""
+ return self._data[5]
+
+ def metadata(self):
+ """Decoded metadata dictionary"""
+ return dict(self._data[3])
+
+ def date(self):
+ """Creation date as (unixtime, offset)"""
+ return self._data[4]
+
+ def flags(self):
+ """The flags field of the marker"""
+ return self._data[2]
+
def closestpredecessors(repo, nodeid):
"""yield the list of next predecessors pointing on visible changectx nodes