# HG changeset patch # User Anton Shestakov <a...@dwimlabs.net> # Date 1569139071 -25200 # Sun Sep 22 14:57:51 2019 +0700 # Node ID b85dea9c83a01ae6c6045b7dc5e4aa10dfbec8c7 # Parent 2c9d35029c27f3d0e63afc8f618268f079f337c3 # EXP-Topic stack-object stack: add indexedrevs property to contain a list of stack revs and its base
Sometimes we need to access a specific stack revision by its index, but stack.revs doesn't support indexing. Obviously we can just do list(st.revs), but it's more convenient to have a property specifically for this task. indexedrevs also contains stack base at index 0, so actual stack revisions start from index 1. diff --git a/mercurial/stack.py b/mercurial/stack.py --- a/mercurial/stack.py +++ b/mercurial/stack.py @@ -31,3 +31,11 @@ class stack(object): return bool(self.revs) __bool__ = __nonzero__ + + @property + def indexedrevs(self): + if self.revs: + base = self._repo[self.revs.first()].p1() + else: + base = self._repo['.'] + return [base.rev()] + list(self.revs) _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel