workingctx: call _dirstatestatus in status
authorSean Farley <sean.michael.farley@gmail.com>
Tue, 22 Apr 2014 13:20:30 -0500
changeset 21398 ed608a544719
parent 21397 38743c59f3f8
child 21399 3b6b1b407e99
workingctx: call _dirstatestatus in status Rip out the call from workingctx.status to localrepo.status.
mercurial/context.py
--- a/mercurial/context.py	Tue Apr 22 13:14:51 2014 -0500
+++ b/mercurial/context.py	Tue Apr 22 13:20:30 2014 -0500
@@ -1236,21 +1236,28 @@
 
         return [modified, added, removed, deleted, unknown, ignored, clean]
 
-    def status(self, ignored=False, clean=False, unknown=False):
+    def status(self, ignored=False, clean=False, unknown=False, match=None):
         """Explicit status query
         Unless this method is used to query the working copy status, the
         _status property will implicitly read the status using its default
         arguments."""
-        stat = self._repo.status(ignored=ignored, clean=clean, unknown=unknown)
+        listignored, listclean, listunknown = ignored, clean, unknown
+        s = self._dirstatestatus(match=match, ignored=listignored,
+                                 clean=listclean, unknown=listunknown)
+        modified, added, removed, deleted, unknown, ignored, clean = s
+
+        modified = self._filtersuspectsymlink(modified)
+
         self._unknown = self._ignored = self._clean = None
-        if unknown:
-            self._unknown = stat[4]
-        if ignored:
-            self._ignored = stat[5]
-        if clean:
-            self._clean = stat[6]
-        self._status = stat[:4]
-        return stat
+        if listunknown:
+            self._unknown = unknown
+        if listignored:
+            self._ignored = ignored
+        if listclean:
+            self._clean = clean
+        self._status = modified, added, removed, deleted
+
+        return modified, added, removed, deleted, unknown, ignored, clean
 
 
 class committablefilectx(basefilectx):