938 |
938 |
939 def walk(self, match): |
939 def walk(self, match): |
940 return sorted(self._repo.dirstate.walk(match, self.substate.keys(), |
940 return sorted(self._repo.dirstate.walk(match, self.substate.keys(), |
941 True, False)) |
941 True, False)) |
942 |
942 |
943 def dirty(self, missing=False): |
943 def dirty(self, missing=False, merge=True, branch=True): |
944 "check whether a working directory is modified" |
944 "check whether a working directory is modified" |
945 # check subrepos first |
945 # check subrepos first |
946 for s in self.substate: |
946 for s in self.substate: |
947 if self.sub(s).dirty(): |
947 if self.sub(s).dirty(): |
948 return True |
948 return True |
949 # check current working dir |
949 # check current working dir |
950 return (self.p2() or self.branch() != self.p1().branch() or |
950 return ((merge and self.p2()) or |
|
951 (branch and self.branch() != self.p1().branch()) or |
951 self.modified() or self.added() or self.removed() or |
952 self.modified() or self.added() or self.removed() or |
952 (missing and self.deleted())) |
953 (missing and self.deleted())) |
953 |
954 |
954 def add(self, list, prefix=""): |
955 def add(self, list, prefix=""): |
955 join = lambda f: os.path.join(prefix, f) |
956 join = lambda f: os.path.join(prefix, f) |