127 if removed: |
127 if removed: |
128 # need to filter files if they are already reported as removed |
128 # need to filter files if they are already reported as removed |
129 unknown = [fn for fn in unknown if fn not in mf1] |
129 unknown = [fn for fn in unknown if fn not in mf1] |
130 ignored = [fn for fn in ignored if fn not in mf1] |
130 ignored = [fn for fn in ignored if fn not in mf1] |
131 |
131 |
132 return [modified, added, removed, deleted, unknown, ignored, clean] |
132 return scmutil.status(modified, added, removed, deleted, unknown, |
|
133 ignored, clean) |
133 |
134 |
134 @propertycache |
135 @propertycache |
135 def substate(self): |
136 def substate(self): |
136 return subrepo.state(self, self._repo.ui) |
137 return subrepo.state(self, self._repo.ui) |
137 |
138 |
302 match = ctx2._matchstatus(ctx1, match) |
303 match = ctx2._matchstatus(ctx1, match) |
303 r = [[], [], [], [], [], [], []] |
304 r = [[], [], [], [], [], [], []] |
304 r = ctx2._buildstatus(ctx1, r, match, listignored, listclean, |
305 r = ctx2._buildstatus(ctx1, r, match, listignored, listclean, |
305 listunknown) |
306 listunknown) |
306 |
307 |
307 r = scmutil.status(*r) |
|
308 if reversed: |
308 if reversed: |
309 # Reverse added and removed. Clear deleted, unknown and ignored as |
309 # Reverse added and removed. Clear deleted, unknown and ignored as |
310 # these make no sense to reverse. |
310 # these make no sense to reverse. |
311 r = scmutil.status(r.modified, r.removed, r.added, [], [], [], |
311 r = scmutil.status(r.modified, r.removed, r.added, [], [], [], |
312 r.clean) |
312 r.clean) |
1417 |
1417 |
1418 # update dirstate for files that are actually clean |
1418 # update dirstate for files that are actually clean |
1419 if fixup and listclean: |
1419 if fixup and listclean: |
1420 clean += fixup |
1420 clean += fixup |
1421 |
1421 |
1422 return [modified, added, removed, deleted, unknown, ignored, clean] |
1422 return scmutil.status(modified, added, removed, deleted, unknown, |
|
1423 ignored, clean) |
1423 |
1424 |
1424 def _buildstatus(self, other, s, match, listignored, listclean, |
1425 def _buildstatus(self, other, s, match, listignored, listclean, |
1425 listunknown): |
1426 listunknown): |
1426 """build a status with respect to another context |
1427 """build a status with respect to another context |
1427 |
1428 |
1432 """ |
1433 """ |
1433 s = self._dirstatestatus(match, listignored, listclean, listunknown) |
1434 s = self._dirstatestatus(match, listignored, listclean, listunknown) |
1434 # Filter out symlinks that, in the case of FAT32 and NTFS filesytems, |
1435 # Filter out symlinks that, in the case of FAT32 and NTFS filesytems, |
1435 # might have accidentally ended up with the entire contents of the file |
1436 # might have accidentally ended up with the entire contents of the file |
1436 # they are susposed to be linking to. |
1437 # they are susposed to be linking to. |
1437 s[0] = self._filtersuspectsymlink(s[0]) |
1438 s.modified[:] = self._filtersuspectsymlink(s.modified) |
1438 if other != self._repo['.']: |
1439 if other != self._repo['.']: |
1439 s = super(workingctx, self)._buildstatus(other, s, match, |
1440 s = super(workingctx, self)._buildstatus(other, s, match, |
1440 listignored, listclean, |
1441 listignored, listclean, |
1441 listunknown) |
1442 listunknown) |
1442 self._status = scmutil.status(*s) |
1443 self._status = s |
1443 return s |
1444 return s |
1444 |
1445 |
1445 def _matchstatus(self, other, match): |
1446 def _matchstatus(self, other, match): |
1446 """override the match method with a filter for directory patterns |
1447 """override the match method with a filter for directory patterns |
1447 |
1448 |