# HG changeset patch # User Pierre-Yves David # Date 1498521100 -7200 # Node ID 4e30168d79390d2ac50b7c266d99396d291638bb # Parent 07439e9f245b1ef649f4a2341d98791f2fcff936 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. diff -r 07439e9f245b -r 4e30168d7939 mercurial/debugcommands.py --- 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) diff -r 07439e9f245b -r 4e30168d7939 mercurial/obsolete.py --- 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') diff -r 07439e9f245b -r 4e30168d7939 mercurial/obsutil.py --- 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