[PATCH 4 of 9] revlog: add a flags method that returns revision flags
Vishakh H
vsh426 at gmail.com
Tue Jul 6 05:47:03 CDT 2010
# HG changeset patch
# User Vishakh H <vsh426 at gmail.com>
# Date 1278412035 -19800
# Branch stable
# Node ID 41e3851011511e3b7d5e9b9dc11f07e7a5fd0ce4
# Parent e9de925ecfaf793340e787d8255f3a4571cfb813
revlog: add a flags method that returns revision flags
flags returns all flags in revision by default or checks for an
optional second flag.
diff --git a/mercurial/revlog.py b/mercurial/revlog.py
--- a/mercurial/revlog.py
+++ b/mercurial/revlog.py
@@ -533,6 +533,11 @@
return self.index[rev][1]
def base(self, rev):
return self.index[rev][3]
+ def flags(self, rev, checkflag=None):
+ if checkflag:
+ return ((self.index[rev][0] & 0xFFFF) & checkflag)
+ else:
+ return (self.index[rev][0] & 0xFFFF)
def size(self, rev):
"""return the length of the uncompressed text for a given revision"""
@@ -1017,9 +1022,9 @@
base = self.base(rev)
# check rev flags
- if self.index[rev][0] & 0xFFFF:
+ if self.flags(rev):
raise RevlogError(_('incompatible revision flag %x') %
- (self.index[rev][0] & 0xFFFF))
+ self.flags(rev))
# do we have useful data cached?
if self._cache and self._cache[1] >= base and self._cache[1] < rev:
More information about the Mercurial-devel
mailing list