Mercurial > hg-stable
changeset 17072:517af63ba382
obsolete: helper class to access obsolete marker data
author | Pierre-Yves.David@ens-lyon.org |
---|---|
date | Thu, 07 Jun 2012 19:19:58 +0200 |
parents | 11f26e2669aa |
children | 3a79a5682af1 |
files | mercurial/obsolete.py |
diffstat | 1 files changed, 28 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/obsolete.py Thu Jun 07 19:15:23 2012 +0200 +++ b/mercurial/obsolete.py Thu Jun 07 19:19:58 2012 +0200 @@ -120,6 +120,34 @@ d[key] = value return d +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 precnode(self): + """Precursor changeset node identifier""" + return self._data[0] + + def succnodes(self): + """List of successor changesets node identifiers""" + return self._data[1] + + def metadata(self): + """Decoded metadata dictionary""" + if self._decodedmeta is None: + self._decodedmeta = decodemeta(self._data[3]) + return self._decodedmeta + + def date(self): + """Creation date as (unixtime, offset)""" + parts = self.metadata()['date'].split(' ') + return (float(parts[0]), int(parts[1])) + class obsstore(object): """Store obsolete markers