312 nodemap[e[6]] = n |
312 nodemap[e[6]] = n |
313 n += 1 |
313 n += 1 |
314 |
314 |
315 return index, nodemap, None |
315 return index, nodemap, None |
316 |
316 |
317 def packentry(self, entry, node, version): |
317 def packentry(self, entry, node, version, rev): |
318 e2 = (getoffset(entry[0]), entry[1], entry[3], entry[4], |
318 e2 = (getoffset(entry[0]), entry[1], entry[3], entry[4], |
319 node(entry[5]), node(entry[6]), entry[7]) |
319 node(entry[5]), node(entry[6]), entry[7]) |
320 return _pack(indexformatv0, *e2) |
320 return _pack(indexformatv0, *e2) |
321 |
321 |
322 # index ng: |
322 # index ng: |
386 e[0] = offset_type(0, type) |
386 e[0] = offset_type(0, type) |
387 index[0] = e |
387 index[0] = e |
388 |
388 |
389 return index, nodemap, cache |
389 return index, nodemap, cache |
390 |
390 |
391 def packentry(self, entry, node, version): |
391 def packentry(self, entry, node, version, rev): |
392 p = _pack(indexformatng, *entry) |
392 p = _pack(indexformatng, *entry) |
393 if not entry[3] and not getoffset(entry[0]) and entry[5] == nullrev: |
393 if rev == 0: |
394 p = _pack(versionformat, version) + p[4:] |
394 p = _pack(versionformat, version) + p[4:] |
395 return p |
395 return p |
396 |
396 |
397 class revlog(object): |
397 class revlog(object): |
398 """ |
398 """ |
970 df.close() |
970 df.close() |
971 fp = self.opener(self.indexfile, 'w', atomictemp=True) |
971 fp = self.opener(self.indexfile, 'w', atomictemp=True) |
972 self.version &= ~(REVLOGNGINLINEDATA) |
972 self.version &= ~(REVLOGNGINLINEDATA) |
973 self._inline = False |
973 self._inline = False |
974 for i in xrange(self.count()): |
974 for i in xrange(self.count()): |
975 e = self._io.packentry(self.index[i], self.node, self.version) |
975 e = self._io.packentry(self.index[i], self.node, self.version, i) |
976 fp.write(e) |
976 fp.write(e) |
977 |
977 |
978 # if we don't call rename, the temp file will never replace the |
978 # if we don't call rename, the temp file will never replace the |
979 # real index |
979 # real index |
980 fp.rename() |
980 fp.rename() |
1025 e = (offset_type(offset, 0), l, len(text), |
1025 e = (offset_type(offset, 0), l, len(text), |
1026 base, link, self.rev(p1), self.rev(p2), node) |
1026 base, link, self.rev(p1), self.rev(p2), node) |
1027 self.index.insert(-1, e) |
1027 self.index.insert(-1, e) |
1028 self.nodemap[node] = curr |
1028 self.nodemap[node] = curr |
1029 |
1029 |
1030 entry = self._io.packentry(e, self.node, self.version) |
1030 entry = self._io.packentry(e, self.node, self.version, curr) |
1031 if not self._inline: |
1031 if not self._inline: |
1032 transaction.add(self.datafile, offset) |
1032 transaction.add(self.datafile, offset) |
1033 transaction.add(self.indexfile, curr * len(entry)) |
1033 transaction.add(self.indexfile, curr * len(entry)) |
1034 if data[0]: |
1034 if data[0]: |
1035 dfh.write(data[0]) |
1035 dfh.write(data[0]) |
1177 else: |
1177 else: |
1178 e = (offset_type(end, 0), len(cdelta), textlen, base, |
1178 e = (offset_type(end, 0), len(cdelta), textlen, base, |
1179 link, self.rev(p1), self.rev(p2), node) |
1179 link, self.rev(p1), self.rev(p2), node) |
1180 self.index.insert(-1, e) |
1180 self.index.insert(-1, e) |
1181 self.nodemap[node] = r |
1181 self.nodemap[node] = r |
1182 entry = self._io.packentry(e, self.node, self.version) |
1182 entry = self._io.packentry(e, self.node, self.version, r) |
1183 if self._inline: |
1183 if self._inline: |
1184 ifh.write(entry) |
1184 ifh.write(entry) |
1185 ifh.write(cdelta) |
1185 ifh.write(cdelta) |
1186 self.checkinlinesize(transaction, ifh) |
1186 self.checkinlinesize(transaction, ifh) |
1187 if not self._inline: |
1187 if not self._inline: |