mercurial/revset.py
changeset 43650 d212d657ba0e
parent 43592 61d7bca16dff
child 43726 6c6d67fc45cb
equal deleted inserted replaced
43649:d649de29f1ff 43650:d212d657ba0e
   671     The field parameter says which kind is desired:
   671     The field parameter says which kind is desired:
   672     0: modified
   672     0: modified
   673     1: added
   673     1: added
   674     2: removed
   674     2: removed
   675     """
   675     """
       
   676     label = {0: 'modified', 1: 'added', 2: 'removed'}[field]
   676     hasset = matchmod.patkind(pat) == b'set'
   677     hasset = matchmod.patkind(pat) == b'set'
   677 
   678 
   678     mcache = [None]
   679     mcache = [None]
   679 
   680 
   680     def matches(x):
   681     def matches(x):
   689             if fname not in c.files():
   690             if fname not in c.files():
   690                 return False
   691                 return False
   691         else:
   692         else:
   692             if not any(m(f) for f in c.files()):
   693             if not any(m(f) for f in c.files()):
   693                 return False
   694                 return False
   694         files = repo.status(c.p1().node(), c.node())[field]
   695         files = getattr(repo.status(c.p1().node(), c.node()), label)
   695         if fname is not None:
   696         if fname is not None:
   696             if fname in files:
   697             if fname in files:
   697                 return True
   698                 return True
   698         else:
   699         else:
   699             if any(m(f) for f in files):
   700             if any(m(f) for f in files):