Mercurial > public > mercurial-scm > hg
comparison mercurial/revlog.py @ 25459:0bda5bfaf0b1
revlog: move size limit check to addrevision
This lets us add the name of the indexfile to the message.
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Thu, 04 Jun 2015 14:57:58 -0500 |
parents | eee88912db0a |
children | 328739ea70c3 |
comparison
equal
deleted
inserted
replaced
25458:4642f0b803ae | 25459:0bda5bfaf0b1 |
---|---|
165 # call the C implementation to parse the index data | 165 # call the C implementation to parse the index data |
166 index, cache = parsers.parse_index2(data, inline) | 166 index, cache = parsers.parse_index2(data, inline) |
167 return index, getattr(index, 'nodemap', None), cache | 167 return index, getattr(index, 'nodemap', None), cache |
168 | 168 |
169 def packentry(self, entry, node, version, rev): | 169 def packentry(self, entry, node, version, rev): |
170 uncompressedlength = entry[2] | |
171 if uncompressedlength > _maxentrysize: | |
172 raise RevlogError( | |
173 _("size of %d bytes exceeds maximum revlog storage of 2GiB") | |
174 % uncompressedlength) | |
175 | |
176 p = _pack(indexformatng, *entry) | 170 p = _pack(indexformatng, *entry) |
177 if rev == 0: | 171 if rev == 0: |
178 p = _pack(versionformat, version) + p[4:] | 172 p = _pack(versionformat, version) + p[4:] |
179 return p | 173 return p |
180 | 174 |
1188 use different hashing method (and override checkhash() in such case) | 1182 use different hashing method (and override checkhash() in such case) |
1189 """ | 1183 """ |
1190 if link == nullrev: | 1184 if link == nullrev: |
1191 raise RevlogError(_("attempted to add linkrev -1 to %s") | 1185 raise RevlogError(_("attempted to add linkrev -1 to %s") |
1192 % self.indexfile) | 1186 % self.indexfile) |
1187 | |
1188 if len(text) > _maxentrysize: | |
1189 raise RevlogError( | |
1190 _("%s: size of %d bytes exceeds maximum revlog storage of 2GiB") | |
1191 % (self.indexfile, len(text))) | |
1192 | |
1193 node = node or self.hash(text, p1, p2) | 1193 node = node or self.hash(text, p1, p2) |
1194 if node in self.nodemap: | 1194 if node in self.nodemap: |
1195 return node | 1195 return node |
1196 | 1196 |
1197 dfh = None | 1197 dfh = None |