Mercurial > public > mercurial-scm > hg-stable
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': |