##// END OF EJS Templates
changing-files: cache the various property...
marmoute -
r46198:d3148337 default
parent child Browse files
Show More
@@ -69,7 +69,7 b' class ChangingFiles(object):'
69 69 and self.copied_from_p2 == other.copied_from_p2
70 70 )
71 71
72 @property
72 @util.propertycache
73 73 def added(self):
74 74 """files actively added in the changeset
75 75
@@ -83,6 +83,8 b' class ChangingFiles(object):'
83 83 return frozenset(self._added)
84 84
85 85 def mark_added(self, filename):
86 if 'added' in vars(self):
87 del self.added
86 88 self._added.add(filename)
87 89 self.mark_touched(filename)
88 90
@@ -90,7 +92,7 b' class ChangingFiles(object):'
90 92 for f in filenames:
91 93 self.mark_added(f)
92 94
93 @property
95 @util.propertycache
94 96 def merged(self):
95 97 """files actively merged during a merge
96 98
@@ -101,6 +103,8 b' class ChangingFiles(object):'
101 103 return frozenset(self._merged)
102 104
103 105 def mark_merged(self, filename):
106 if 'merged' in vars(self):
107 del self.merged
104 108 self._merged.add(filename)
105 109 self.mark_touched(filename)
106 110
@@ -108,7 +112,7 b' class ChangingFiles(object):'
108 112 for f in filenames:
109 113 self.mark_merged(f)
110 114
111 @property
115 @util.propertycache
112 116 def removed(self):
113 117 """files actively removed by the changeset
114 118
@@ -145,6 +149,8 b' class ChangingFiles(object):'
145 149 return frozenset(self._removed)
146 150
147 151 def mark_removed(self, filename):
152 if 'removed' in vars(self):
153 del self.removed
148 154 self._removed.add(filename)
149 155 self.mark_touched(filename)
150 156
@@ -152,34 +158,40 b' class ChangingFiles(object):'
152 158 for f in filenames:
153 159 self.mark_removed(f)
154 160
155 @property
161 @util.propertycache
156 162 def touched(self):
157 163 """files either actively modified, added or removed"""
158 164 return frozenset(self._touched)
159 165
160 166 def mark_touched(self, filename):
167 if 'touched' in vars(self):
168 del self.touched
161 169 self._touched.add(filename)
162 170
163 171 def update_touched(self, filenames):
164 172 for f in filenames:
165 173 self.mark_touched(f)
166 174
167 @property
175 @util.propertycache
168 176 def copied_from_p1(self):
169 177 return self._p1_copies.copy()
170 178
171 179 def mark_copied_from_p1(self, source, dest):
180 if 'copied_from_p1' in vars(self):
181 del self.copied_from_p1
172 182 self._p1_copies[dest] = source
173 183
174 184 def update_copies_from_p1(self, copies):
175 185 for dest, source in copies.items():
176 186 self.mark_copied_from_p1(source, dest)
177 187
178 @property
188 @util.propertycache
179 189 def copied_from_p2(self):
180 190 return self._p2_copies.copy()
181 191
182 192 def mark_copied_from_p2(self, source, dest):
193 if 'copied_from_p2' in vars(self):
194 del self.copied_from_p2
183 195 self._p2_copies[dest] = source
184 196
185 197 def update_copies_from_p2(self, copies):
General Comments 0
You need to be logged in to leave comments. Login now