##// END OF EJS Templates
fix localrepo.status when dealing with x-bit changes
Benoit Boissinot -
r3322:a1aad25c default
parent child Browse files
Show More
@@ -706,7 +706,7 b' class localrepository(repo.repository):'
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]
@@ -751,9 +751,11 b' class localrepository(repo.repository):'
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]
@@ -771,7 +773,8 b' class localrepository(repo.repository):'
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)
General Comments 0
You need to be logged in to leave comments. Login now