##// END OF EJS Templates
workingctx: use inheritance for _buildstatus while keeping the fastpath...
Sean Farley -
r21480:d19f491e default
parent child Browse files
Show More
@@ -1327,6 +1327,21 b' class workingctx(committablectx):'
1327
1327
1328 return [modified, added, removed, deleted, unknown, ignored, clean]
1328 return [modified, added, removed, deleted, unknown, ignored, clean]
1329
1329
1330 def _buildstatus(self, other, s, match, listignored, listclean,
1331 listunknown):
1332 """build a status with respect to another context
1333
1334 This includes logic for maintaining the fast path of status when
1335 comparing the working directory against its parent, which is to skip
1336 building a new manifest if self (working directory) is not comparing
1337 against its parent (repo['.']).
1338 """
1339 if other != self._repo['.']:
1340 s = super(workingctx, self)._buildstatus(other, s, match,
1341 listignored, listclean,
1342 listunknown)
1343 return s
1344
1330 def status(self, ignored=False, clean=False, unknown=False, match=None):
1345 def status(self, ignored=False, clean=False, unknown=False, match=None):
1331 """Explicit status query
1346 """Explicit status query
1332 Unless this method is used to query the working copy status, the
1347 Unless this method is used to query the working copy status, the
@@ -1551,11 +1551,8 b' class localrepository(object):'
1551
1551
1552 r = [[], [], [], [], [], [], []]
1552 r = [[], [], [], [], [], [], []]
1553 r = ctx2._prestatus(ctx1, r, match, listignored, listclean, listunknown)
1553 r = ctx2._prestatus(ctx1, r, match, listignored, listclean, listunknown)
1554
1554 r = ctx2._buildstatus(ctx1, r, match, listignored, listclean,
1555 if not parentworking:
1555 listunknown)
1556 r = ctx2._buildstatus(ctx1, r, match, listignored, listclean,
1557 listunknown)
1558
1559 r = ctx2._poststatus(ctx1, r, match, listignored, listclean,
1556 r = ctx2._poststatus(ctx1, r, match, listignored, listclean,
1560 listunknown)
1557 listunknown)
1561
1558
General Comments 0
You need to be logged in to leave comments. Login now