##// END OF EJS Templates
localrepo: optimize internode status calls using withflags...
Jesse Glick -
r16646:a1dcd842 default
parent child Browse files
Show More
@@ -1420,10 +1420,11 b' class localrepository(repo.repository):'
1420 mf2 = mfmatches(ctx2)
1420 mf2 = mfmatches(ctx2)
1421
1421
1422 modified, added, clean = [], [], []
1422 modified, added, clean = [], [], []
1423 withflags = mf1.withflags() | mf2.withflags()
1423 for fn in mf2:
1424 for fn in mf2:
1424 if fn in mf1:
1425 if fn in mf1:
1425 if (fn not in deleted and
1426 if (fn not in deleted and
1426 (mf1.flags(fn) != mf2.flags(fn) or
1427 ((fn in withflags and mf1.flags(fn) != mf2.flags(fn)) or
1427 (mf1[fn] != mf2[fn] and
1428 (mf1[fn] != mf2[fn] and
1428 (mf2[fn] or ctx1[fn].cmp(ctx2[fn]))))):
1429 (mf2[fn] or ctx1[fn].cmp(ctx2[fn]))))):
1429 modified.append(fn)
1430 modified.append(fn)
@@ -19,6 +19,8 b' class manifestdict(dict):'
19 self._flags = flags
19 self._flags = flags
20 def flags(self, f):
20 def flags(self, f):
21 return self._flags.get(f, "")
21 return self._flags.get(f, "")
22 def withflags(self):
23 return set(self._flags.keys())
22 def set(self, f, flags):
24 def set(self, f, flags):
23 self._flags[f] = flags
25 self._flags[f] = flags
24 def copy(self):
26 def copy(self):
General Comments 0
You need to be logged in to leave comments. Login now