mercurial/localrepo.py
changeset 7090 7b5c063b0b94
parent 7077 ccbd39cad3c3
child 7121 b801d6e5dc83
equal deleted inserted replaced
7089:c57b30f1bc15 7090:7b5c063b0b94
   963             for fn in mf.keys():
   963             for fn in mf.keys():
   964                 if not match(fn):
   964                 if not match(fn):
   965                     del mf[fn]
   965                     del mf[fn]
   966             return mf
   966             return mf
   967 
   967 
   968         ctx1 = self[node1]
   968         if isinstance(node1, context.changectx):
   969         ctx2 = self[node2]
   969             ctx1 = node1
       
   970         else:
       
   971             ctx1 = self[node1]
       
   972         if isinstance(node2, context.changectx):
       
   973             ctx2 = node2
       
   974         else:
       
   975             ctx2 = self[node2]
       
   976 
   970         working = ctx2 == self[None]
   977         working = ctx2 == self[None]
   971         parentworking = working and ctx1 == self['.']
   978         parentworking = working and ctx1 == self['.']
   972         match = match or match_.always(self.root, self.getcwd())
   979         match = match or match_.always(self.root, self.getcwd())
   973         listignored, listclean, listunknown = ignored, clean, unknown
   980         listignored, listclean, listunknown = ignored, clean, unknown
       
   981 
       
   982         # load earliest manifest first for caching reasons
       
   983         if not working and ctx2.rev() < ctx1.rev():
       
   984             ctx2.manifest()
   974 
   985 
   975         if not parentworking:
   986         if not parentworking:
   976             def bad(f, msg):
   987             def bad(f, msg):
   977                 if f not in ctx1:
   988                 if f not in ctx1:
   978                     self.ui.warn('%s: %s\n' % (self.dirstate.pathto(f), msg))
   989                     self.ui.warn('%s: %s\n' % (self.dirstate.pathto(f), msg))