424 elif s == 'r': |
424 elif s == 'r': |
425 remove.append(f) |
425 remove.append(f) |
426 else: |
426 else: |
427 self.warn("%s not tracked!\n") |
427 self.warn("%s not tracked!\n") |
428 else: |
428 else: |
429 (c, a, d, u) = self.diffdir(self.root, parent) |
429 (c, a, d, u) = self.diffdir(self.root) |
430 commit = c + a |
430 commit = c + a |
431 remove = d |
431 remove = d |
432 |
432 |
433 if not commit and not remove: |
433 if not commit and not remove: |
434 self.ui.status("nothing changed\n") |
434 self.ui.status("nothing changed\n") |
499 |
499 |
500 self.dirstate.setparents(node) |
500 self.dirstate.setparents(node) |
501 self.dirstate.clear() |
501 self.dirstate.clear() |
502 self.dirstate.update([f for f,n in l], "n") |
502 self.dirstate.update([f for f,n in l], "n") |
503 |
503 |
504 def diffdir(self, path, changeset): |
504 def diffdir(self, path, changeset = None): |
505 changed = [] |
505 changed = [] |
506 added = [] |
506 added = [] |
507 unknown = [] |
507 unknown = [] |
508 mf = {} |
508 mf = {} |
509 |
509 |
510 if changeset: |
510 if changeset: |
511 change = self.changelog.read(changeset) |
511 change = self.changelog.read(changeset) |
512 mf = self.manifest.read(change[0]) |
512 mf = self.manifest.read(change[0]) |
513 |
513 dc = dict.fromkeys(mf) |
514 if changeset == self.current: |
514 else: |
|
515 changeset = self.dirstate.parents()[0] |
|
516 change = self.changelog.read(changeset) |
|
517 mf = self.manifest.read(change[0]) |
515 dc = self.dirstate.copy() |
518 dc = self.dirstate.copy() |
516 else: |
|
517 dc = dict.fromkeys(mf) |
|
518 |
519 |
519 def fcmp(fn): |
520 def fcmp(fn): |
520 t1 = file(os.path.join(self.root, fn)).read() |
521 t1 = file(os.path.join(self.root, fn)).read() |
521 t2 = self.file(fn).revision(mf[fn]) |
522 t2 = self.file(fn).revision(mf[fn]) |
522 return cmp(t1, t2) |
523 return cmp(t1, t2) |