mercurial/context.py
changeset 22916 cfa8d7561938
parent 22914 c95db3208a33
child 22932 d81792872984
equal deleted inserted replaced
22915:4d680deb0d9e 22916:cfa8d7561938
  1049         else:
  1049         else:
  1050             getman = lambda f: man
  1050             getman = lambda f: man
  1051 
  1051 
  1052         copied = self._repo.dirstate.copies()
  1052         copied = self._repo.dirstate.copies()
  1053         ff = self._flagfunc
  1053         ff = self._flagfunc
  1054         modified, added, removed, deleted = self._status[:4]
  1054         for i, l in (("a", self._status.added), ("m", self._status.modified)):
  1055         for i, l in (("a", added), ("m", modified)):
       
  1056             for f in l:
  1055             for f in l:
  1057                 orig = copied.get(f, f)
  1056                 orig = copied.get(f, f)
  1058                 man[f] = getman(orig).get(orig, nullid) + i
  1057                 man[f] = getman(orig).get(orig, nullid) + i
  1059                 try:
  1058                 try:
  1060                     man.set(f, ff(f))
  1059                     man.set(f, ff(f))
  1061                 except OSError:
  1060                 except OSError:
  1062                     pass
  1061                     pass
  1063 
  1062 
  1064         for f in deleted + removed:
  1063         for f in self._status.deleted + self._status.removed:
  1065             if f in man:
  1064             if f in man:
  1066                 del man[f]
  1065                 del man[f]
  1067 
  1066 
  1068         return man
  1067         return man
  1069 
  1068 
  1087     def date(self):
  1086     def date(self):
  1088         return self._date
  1087         return self._date
  1089     def description(self):
  1088     def description(self):
  1090         return self._text
  1089         return self._text
  1091     def files(self):
  1090     def files(self):
  1092         return sorted(self._status[0] + self._status[1] + self._status[2])
  1091         return sorted(self._status.modified + self._status.added +
       
  1092                       self._status.removed)
  1093 
  1093 
  1094     def modified(self):
  1094     def modified(self):
  1095         return self._status[0]
  1095         return self._status.modified
  1096     def added(self):
  1096     def added(self):
  1097         return self._status[1]
  1097         return self._status.added
  1098     def removed(self):
  1098     def removed(self):
  1099         return self._status[2]
  1099         return self._status.removed
  1100     def deleted(self):
  1100     def deleted(self):
  1101         return self._status[3]
  1101         return self._status.deleted
  1102     def unknown(self):
  1102     def unknown(self):
  1103         return self._status[4]
  1103         return self._status.unknown
  1104     def ignored(self):
  1104     def ignored(self):
  1105         return self._status[5]
  1105         return self._status.ignored
  1106     def clean(self):
  1106     def clean(self):
  1107         return self._status[6]
  1107         return self._status.clean
  1108     def branch(self):
  1108     def branch(self):
  1109         return encoding.tolocal(self._extra['branch'])
  1109         return encoding.tolocal(self._extra['branch'])
  1110     def closesbranch(self):
  1110     def closesbranch(self):
  1111         return 'close' in self._extra
  1111         return 'close' in self._extra
  1112     def extra(self):
  1112     def extra(self):
  1405         We use this poststatus hook to filter out symlinks that might have
  1405         We use this poststatus hook to filter out symlinks that might have
  1406         accidentally ended up with the entire contents of the file they are
  1406         accidentally ended up with the entire contents of the file they are
  1407         susposed to be linking to.
  1407         susposed to be linking to.
  1408         """
  1408         """
  1409         s[0] = self._filtersuspectsymlink(s[0])
  1409         s[0] = self._filtersuspectsymlink(s[0])
  1410         self._status = s[:]
  1410         self._status = scmutil.status(*s)
  1411         return s
  1411         return s
  1412 
  1412 
  1413     def _dirstatestatus(self, match=None, ignored=False, clean=False,
  1413     def _dirstatestatus(self, match=None, ignored=False, clean=False,
  1414                         unknown=False):
  1414                         unknown=False):
  1415         '''Gets the status from the dirstate -- internal use only.'''
  1415         '''Gets the status from the dirstate -- internal use only.'''
  1611         self._node = None
  1611         self._node = None
  1612         parents = [(p or nullid) for p in parents]
  1612         parents = [(p or nullid) for p in parents]
  1613         p1, p2 = parents
  1613         p1, p2 = parents
  1614         self._parents = [changectx(self._repo, p) for p in (p1, p2)]
  1614         self._parents = [changectx(self._repo, p) for p in (p1, p2)]
  1615         files = sorted(set(files))
  1615         files = sorted(set(files))
  1616         self._status = [files, [], [], [], []]
  1616         self._status = scmutil.status(files, [], [], [], [], [], [])
  1617         self._filectxfn = filectxfn
  1617         self._filectxfn = filectxfn
  1618         self.substate = {}
  1618         self.substate = {}
  1619 
  1619 
  1620         # if store is not callable, wrap it in a function
  1620         # if store is not callable, wrap it in a function
  1621         if not callable(filectxfn):
  1621         if not callable(filectxfn):