equal
deleted
inserted
replaced
991 arraytext = array.array('c', text) |
991 arraytext = array.array('c', text) |
992 self._revlog._fulltextcache[self._node] = arraytext |
992 self._revlog._fulltextcache[self._node] = arraytext |
993 self._data = manifestdict(text) |
993 self._data = manifestdict(text) |
994 return self._data |
994 return self._data |
995 |
995 |
|
996 def readfast(self): |
|
997 rl = self._revlog |
|
998 r = rl.rev(self._node) |
|
999 deltaparent = rl.deltaparent(r) |
|
1000 if deltaparent != revlog.nullrev and deltaparent in rl.parentrevs(r): |
|
1001 return self.readdelta() |
|
1002 return self.read() |
|
1003 |
996 def readdelta(self): |
1004 def readdelta(self): |
997 revlog = self._revlog |
1005 revlog = self._revlog |
998 if revlog._usemanifestv2: |
1006 if revlog._usemanifestv2: |
999 # Need to perform a slow delta |
1007 # Need to perform a slow delta |
1000 r0 = revlog.deltaparent(revlog.rev(self._node)) |
1008 r0 = revlog.deltaparent(revlog.rev(self._node)) |
1063 if n1: |
1071 if n1: |
1064 md[f] = n1 |
1072 md[f] = n1 |
1065 if fl1: |
1073 if fl1: |
1066 md.setflag(f, fl1) |
1074 md.setflag(f, fl1) |
1067 return md |
1075 return md |
|
1076 |
|
1077 def readfast(self): |
|
1078 rl = self._revlog |
|
1079 r = rl.rev(self._node) |
|
1080 deltaparent = rl.deltaparent(r) |
|
1081 if deltaparent != revlog.nullrev and deltaparent in rl.parentrevs(r): |
|
1082 return self.readdelta() |
|
1083 return self.read() |
1068 |
1084 |
1069 class manifest(manifestrevlog): |
1085 class manifest(manifestrevlog): |
1070 def __init__(self, opener, dir='', dirlogcache=None): |
1086 def __init__(self, opener, dir='', dirlogcache=None): |
1071 '''The 'dir' and 'dirlogcache' arguments are for internal use by |
1087 '''The 'dir' and 'dirlogcache' arguments are for internal use by |
1072 manifest.manifest only. External users should create a root manifest |
1088 manifest.manifest only. External users should create a root manifest |
1147 _("readshallowdelta() not implemented for manifestv2")) |
1163 _("readshallowdelta() not implemented for manifestv2")) |
1148 r = self.rev(node) |
1164 r = self.rev(node) |
1149 d = mdiff.patchtext(self.revdiff(self.deltaparent(r), r)) |
1165 d = mdiff.patchtext(self.revdiff(self.deltaparent(r), r)) |
1150 return manifestdict(d) |
1166 return manifestdict(d) |
1151 |
1167 |
1152 def readfast(self, node): |
|
1153 '''use the faster of readdelta or read |
|
1154 |
|
1155 This will return a manifest which is either only the files |
|
1156 added/modified relative to p1, or all files in the |
|
1157 manifest. Which one is returned depends on the codepath used |
|
1158 to retrieve the data. |
|
1159 ''' |
|
1160 r = self.rev(node) |
|
1161 deltaparent = self.deltaparent(r) |
|
1162 if deltaparent != revlog.nullrev and deltaparent in self.parentrevs(r): |
|
1163 return self.readdelta(node) |
|
1164 return self.read(node) |
|
1165 |
|
1166 def readshallowfast(self, node): |
1168 def readshallowfast(self, node): |
1167 '''like readfast(), but calls readshallowdelta() instead of readdelta() |
1169 '''like readfast(), but calls readshallowdelta() instead of readdelta() |
1168 ''' |
1170 ''' |
1169 r = self.rev(node) |
1171 r = self.rev(node) |
1170 deltaparent = self.deltaparent(r) |
1172 deltaparent = self.deltaparent(r) |