equal
deleted
inserted
replaced
704 t1 = self.wread(fn) |
704 t1 = self.wread(fn) |
705 return self.file(fn).cmp(mf.get(fn, nullid), t1) |
705 return self.file(fn).cmp(mf.get(fn, nullid), t1) |
706 |
706 |
707 def mfmatches(node): |
707 def mfmatches(node): |
708 change = self.changelog.read(node) |
708 change = self.changelog.read(node) |
709 mf = dict(self.manifest.read(change[0])) |
709 mf = self.manifest.read(change[0]).copy() |
710 for fn in mf.keys(): |
710 for fn in mf.keys(): |
711 if not match(fn): |
711 if not match(fn): |
712 del mf[fn] |
712 del mf[fn] |
713 return mf |
713 return mf |
714 |
714 |
749 if wlock is not None: |
749 if wlock is not None: |
750 self.dirstate.update([f], "n") |
750 self.dirstate.update([f], "n") |
751 else: |
751 else: |
752 # we are comparing working dir against non-parent |
752 # we are comparing working dir against non-parent |
753 # generate a pseudo-manifest for the working dir |
753 # generate a pseudo-manifest for the working dir |
|
754 # XXX: create it in dirstate.py ? |
754 mf2 = mfmatches(self.dirstate.parents()[0]) |
755 mf2 = mfmatches(self.dirstate.parents()[0]) |
755 for f in lookup + modified + added: |
756 for f in lookup + modified + added: |
756 mf2[f] = "" |
757 mf2[f] = "" |
|
758 mf2.set(f, execf=util.is_exec(self.wjoin(f), mf2.execf(f))) |
757 for f in removed: |
759 for f in removed: |
758 if f in mf2: |
760 if f in mf2: |
759 del mf2[f] |
761 del mf2[f] |
760 else: |
762 else: |
761 # we are comparing two revisions |
763 # we are comparing two revisions |
769 # reasonable order |
771 # reasonable order |
770 mf2keys = mf2.keys() |
772 mf2keys = mf2.keys() |
771 mf2keys.sort() |
773 mf2keys.sort() |
772 for fn in mf2keys: |
774 for fn in mf2keys: |
773 if mf1.has_key(fn): |
775 if mf1.has_key(fn): |
774 if mf1[fn] != mf2[fn] and (mf2[fn] != "" or fcmp(fn, mf1)): |
776 if mf1.flags(fn) != mf2.flags(fn) or \ |
|
777 (mf1[fn] != mf2[fn] and (mf2[fn] != "" or fcmp(fn, mf1))): |
775 modified.append(fn) |
778 modified.append(fn) |
776 elif list_clean: |
779 elif list_clean: |
777 clean.append(fn) |
780 clean.append(fn) |
778 del mf1[fn] |
781 del mf1[fn] |
779 else: |
782 else: |