Mercurial > public > mercurial-scm > hg
comparison mercurial/revset.py @ 43650:d212d657ba0e
revset: use field names instead of field numbers on scmutil.status
As part of my pytype adventures I want to make scmutil.status no longer a
subclass of tuple. This is part of that process.
Differential Revision: https://phab.mercurial-scm.org/D7402
author | Augie Fackler <augie@google.com> |
---|---|
date | Thu, 14 Nov 2019 15:28:08 -0500 |
parents | 61d7bca16dff |
children | 6c6d67fc45cb |
comparison
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): |