comparison mercurial/revlog.py @ 32403:a28c76e1cea9

revlog: raise WdirUnsupported when wdirrev is passed revlog.parentrevs() is called while evaluating ^ operator in revsets. When wdir is passed, it raises IndexError. This patch raises WdirUnsupported if wdir is passed in the function. The error will be caugth in future patches.
author Pulkit Goyal <7895pulkit@gmail.com>
date Fri, 19 May 2017 19:12:06 +0530
parents d47b62368f3a
children 34e9b8b94f66
comparison
equal deleted inserted replaced
32402:c8e10565a113 32403:a28c76e1cea9
24 from .node import ( 24 from .node import (
25 bin, 25 bin,
26 hex, 26 hex,
27 nullid, 27 nullid,
28 nullrev, 28 nullrev,
29 wdirrev,
29 ) 30 )
30 from .i18n import _ 31 from .i18n import _
31 from . import ( 32 from . import (
32 ancestor, 33 ancestor,
33 error, 34 error,
479 480
480 def linkrev(self, rev): 481 def linkrev(self, rev):
481 return self.index[rev][4] 482 return self.index[rev][4]
482 483
483 def parentrevs(self, rev): 484 def parentrevs(self, rev):
484 return self.index[rev][5:7] 485 try:
486 return self.index[rev][5:7]
487 except IndexError:
488 if rev == wdirrev:
489 raise error.WdirUnsupported
490 raise
485 491
486 def node(self, rev): 492 def node(self, rev):
487 return self.index[rev][7] 493 return self.index[rev][7]
488 494
489 # Derived from index values. 495 # Derived from index values.