comparison src/org/tmatesoft/hg/internal/RevlogStream.java @ 538:dd4f6311af52

Commit: first working version
author Artem Tikhomirov <tikhomirov.artem@gmail.com>
date Tue, 05 Feb 2013 22:30:21 +0100
parents 243202f1bda5
children 9edfd5a223b8
comparison
equal deleted inserted replaced
537:5a455624be4f 538:dd4f6311af52
221 } finally { 221 } finally {
222 daIndex.done(); 222 daIndex.done();
223 } 223 }
224 return BAD_REVISION; 224 return BAD_REVISION;
225 } 225 }
226
227 public long newEntryOffset() {
228 if (revisionCount() == 0) {
229 return 0;
230 }
231 DataAccess daIndex = getIndexStream();
232 int lastRev = revisionCount() - 1;
233 try {
234 int recordOffset = getIndexOffsetInt(lastRev);
235 daIndex.seek(recordOffset);
236 long value = daIndex.readLong();
237 value = value >>> 16;
238 int compressedLen = daIndex.readInt();
239 return lastRev == 0 ? compressedLen : value + compressedLen;
240 } catch (IOException ex) {
241 throw new HgInvalidControlFileException("Linked revision lookup failed", ex, indexFile).setRevisionIndex(lastRev);
242 } finally {
243 daIndex.done();
244 }
245 }
246
226 247
227 248
228 // should be possible to use TIP, ALL, or -1, -2, -n notation of Hg 249 // should be possible to use TIP, ALL, or -1, -2, -n notation of Hg
229 // ? boolean needsNodeid 250 // ? boolean needsNodeid
230 public void iterate(int start, int end, boolean needData, Inspector inspector) throws HgInvalidRevisionException, HgInvalidControlFileException { 251 public void iterate(int start, int end, boolean needData, Inspector inspector) throws HgInvalidRevisionException, HgInvalidControlFileException {