Mercurial > hg4j
comparison src/org/tmatesoft/hg/internal/RevlogStream.java @ 300:650b45d290b1
Share range check code
author | Artem Tikhomirov <tikhomirov.artem@gmail.com> |
---|---|
date | Sat, 17 Sep 2011 13:41:04 +0200 |
parents | e7ca6f16d074 |
children | 694ebabb5cb3 |
comparison
equal
deleted
inserted
replaced
299:45dc79e545f5 | 300:650b45d290b1 |
---|---|
25 import java.util.List; | 25 import java.util.List; |
26 import java.util.zip.Inflater; | 26 import java.util.zip.Inflater; |
27 | 27 |
28 import org.tmatesoft.hg.core.HgBadStateException; | 28 import org.tmatesoft.hg.core.HgBadStateException; |
29 import org.tmatesoft.hg.core.Nodeid; | 29 import org.tmatesoft.hg.core.Nodeid; |
30 import org.tmatesoft.hg.repo.HgInternals; | |
30 import org.tmatesoft.hg.repo.HgRepository; | 31 import org.tmatesoft.hg.repo.HgRepository; |
31 | 32 |
32 | 33 |
33 /** | 34 /** |
34 * ? Single RevlogStream per file per repository with accessor to record access session (e.g. with back/forward operations), | 35 * ? Single RevlogStream per file per repository with accessor to record access session (e.g. with back/forward operations), |
202 end = indexSize - 1; | 203 end = indexSize - 1; |
203 } | 204 } |
204 if (start == TIP) { | 205 if (start == TIP) { |
205 start = indexSize - 1; | 206 start = indexSize - 1; |
206 } | 207 } |
207 if (start < 0 || start >= indexSize) { | 208 HgInternals.checkRevlogRange(start, end, indexSize-1); |
208 throw new IllegalArgumentException(String.format("Bad left range boundary %d in [0..%d]", start, indexSize-1)); | |
209 } | |
210 if (end >= indexSize) { | |
211 throw new IllegalArgumentException(String.format("Bad right range boundary %d in [0..%d]", end, indexSize-1)); | |
212 } | |
213 if (end < start) { | |
214 throw new IllegalArgumentException(String.format("Bad range [%d..%d]", start, end)); | |
215 } | |
216 // XXX may cache [start .. end] from index with a single read (pre-read) | 209 // XXX may cache [start .. end] from index with a single read (pre-read) |
217 | 210 |
218 ReaderN1 r = new ReaderN1(needData, inspector); | 211 ReaderN1 r = new ReaderN1(needData, inspector); |
219 try { | 212 try { |
220 r.start(end - start + 1); | 213 r.start(end - start + 1); |