Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/revlog.py @ 11931:6051db1327f8
revlog: append delta against p1
author | Pradeepkumar Gayam <in3xes@gmail.com> |
---|---|
date | Tue, 10 Aug 2010 22:27:41 +0530 |
parents | 12547cedc264 |
children | 927ada259634 |
comparison
equal
deleted
inserted
replaced
11930:12547cedc264 | 11931:6051db1327f8 |
---|---|
1155 | 1155 |
1156 curr = len(self) | 1156 curr = len(self) |
1157 prev = curr - 1 | 1157 prev = curr - 1 |
1158 base = self.base(prev) | 1158 base = self.base(prev) |
1159 offset = self.end(prev) | 1159 offset = self.end(prev) |
1160 flags = 0 | |
1160 | 1161 |
1161 if curr: | 1162 if curr: |
1162 if not d: | 1163 if not d: |
1163 ptext = self.revision(self.node(prev)) | 1164 if self._parentdelta: |
1165 ptext = self.revision(p1) | |
1166 flags = REVIDX_PARENTDELTA | |
1167 else: | |
1168 ptext = self.revision(self.node(prev)) | |
1164 d = mdiff.textdiff(ptext, text) | 1169 d = mdiff.textdiff(ptext, text) |
1165 data = compress(d) | 1170 data = compress(d) |
1166 l = len(data[1]) + len(data[0]) | 1171 l = len(data[1]) + len(data[0]) |
1167 dist = l + offset - self.start(base) | 1172 dist = l + offset - self.start(base) |
1168 | 1173 |
1173 (self.flags(base) & REVIDX_PUNCHED_FLAG)): | 1178 (self.flags(base) & REVIDX_PUNCHED_FLAG)): |
1174 data = compress(text) | 1179 data = compress(text) |
1175 l = len(data[1]) + len(data[0]) | 1180 l = len(data[1]) + len(data[0]) |
1176 base = curr | 1181 base = curr |
1177 | 1182 |
1178 e = (offset_type(offset, 0), l, len(text), | 1183 e = (offset_type(offset, flags), l, len(text), |
1179 base, link, self.rev(p1), self.rev(p2), node) | 1184 base, link, self.rev(p1), self.rev(p2), node) |
1180 self.index.insert(-1, e) | 1185 self.index.insert(-1, e) |
1181 self.nodemap[node] = curr | 1186 self.nodemap[node] = curr |
1182 | 1187 |
1183 entry = self._io.packentry(e, self.node, self.version, curr) | 1188 entry = self._io.packentry(e, self.node, self.version, curr) |