comparison mercurial/hg.py @ 230:00ea3613f82c

make diffdir default to dirstate.parents() -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 make diffdir default to dirstate.parents() update various diffdir users to use default manifest hash: aeca2b9da1aca278dd5e3f27cc2906667803577d -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQFCoMPcywK+sNU5EO8RAkY8AJ90UHQXnJnkG9PJKG7IsgPeOZ2WZACgiarS HhS2zX3TRM9WdZHo5nLvZGw= =7YyP -----END PGP SIGNATURE-----
author mpm@selenic.com
date Fri, 03 Jun 2005 12:55:56 -0800
parents 1b11da6ee69e
children 15e7c6cee929
comparison
equal deleted inserted replaced
229:1b11da6ee69e 230:00ea3613f82c
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)
533 c = dc[fn] 534 c = dc[fn]
534 del dc[fn] 535 del dc[fn]
535 if not c: 536 if not c:
536 if fcmp(fn): 537 if fcmp(fn):
537 changed.append(fn) 538 changed.append(fn)
538 if c[0] == 'i': 539 elif c[0] == 'i':
539 if fn not in mf: 540 if fn not in mf:
540 added.append(fn) 541 added.append(fn)
541 elif fcmp(fn): 542 elif fcmp(fn):
542 changed.append(fn) 543 changed.append(fn)
543 elif c[0] == 'a': 544 elif c[0] == 'a':