equal
deleted
inserted
replaced
195 self.ui.warn(_("not in dirstate: %s!\n") % f) |
195 self.ui.warn(_("not in dirstate: %s!\n") % f) |
196 pass |
196 pass |
197 |
197 |
198 def clear(self): |
198 def clear(self): |
199 self.map = {} |
199 self.map = {} |
|
200 self.copies = {} |
|
201 self.markdirty() |
|
202 |
|
203 def rebuild(self, parent, files): |
|
204 self.clear() |
|
205 umask = os.umask(0) |
|
206 os.umask(umask) |
|
207 for f, mode in files: |
|
208 if mode: |
|
209 self.map[f] = ('n', ~umask, -1, 0) |
|
210 else: |
|
211 self.map[f] = ('n', ~umask & 0666, -1, 0) |
|
212 self.pl = (parent, nullid) |
200 self.markdirty() |
213 self.markdirty() |
201 |
214 |
202 def write(self): |
215 def write(self): |
203 st = self.opener("dirstate", "w", atomic=True) |
216 st = self.opener("dirstate", "w", atomic=True) |
204 st.write("".join(self.pl)) |
217 st.write("".join(self.pl)) |
404 continue |
417 continue |
405 # check the common case first |
418 # check the common case first |
406 if type_ == 'n': |
419 if type_ == 'n': |
407 if not st: |
420 if not st: |
408 st = os.stat(fn) |
421 st = os.stat(fn) |
409 if size != st.st_size or (mode ^ st.st_mode) & 0100: |
422 if size >= 0 and (size != st.st_size |
|
423 or (mode ^ st.st_mode) & 0100): |
410 modified.append(fn) |
424 modified.append(fn) |
411 elif time != st.st_mtime: |
425 elif time != st.st_mtime: |
412 lookup.append(fn) |
426 lookup.append(fn) |
413 elif type_ == 'm': |
427 elif type_ == 'm': |
414 modified.append(fn) |
428 modified.append(fn) |