mercurial/localrepo.py
changeset 23630 b9af235810cc
parent 23561 3c2419e07df5
child 23648 915ac9403e13
equal deleted inserted replaced
23629:a04c7b74b3d5 23630:b9af235810cc
   452         return dirstate.dirstate(self.opener, self.ui, self.root, validate)
   452         return dirstate.dirstate(self.opener, self.ui, self.root, validate)
   453 
   453 
   454     def __getitem__(self, changeid):
   454     def __getitem__(self, changeid):
   455         if changeid is None:
   455         if changeid is None:
   456             return context.workingctx(self)
   456             return context.workingctx(self)
       
   457         if isinstance(changeid, slice):
       
   458             return [context.changectx(self, i)
       
   459                     for i in xrange(*changeid.indices(len(self)))
       
   460                     if i not in self.changelog.filteredrevs]
   457         return context.changectx(self, changeid)
   461         return context.changectx(self, changeid)
   458 
   462 
   459     def __contains__(self, changeid):
   463     def __contains__(self, changeid):
   460         try:
   464         try:
   461             return bool(self.lookup(changeid))
   465             return bool(self.lookup(changeid))