comparison src/org/tmatesoft/hg/internal/RevlogStream.java @ 297:e7ca6f16d074

Better message for incorrect range requested
author Artem Tikhomirov <tikhomirov.artem@gmail.com>
date Sat, 17 Sep 2011 00:48:34 +0200
parents 981f9f50bb6c
children 650b45d290b1
comparison
equal deleted inserted replaced
296:02f2963c70fa 297:e7ca6f16d074
205 start = indexSize - 1; 205 start = indexSize - 1;
206 } 206 }
207 if (start < 0 || start >= indexSize) { 207 if (start < 0 || start >= indexSize) {
208 throw new IllegalArgumentException(String.format("Bad left range boundary %d in [0..%d]", start, indexSize-1)); 208 throw new IllegalArgumentException(String.format("Bad left range boundary %d in [0..%d]", start, indexSize-1));
209 } 209 }
210 if (end < start || end >= indexSize) { 210 if (end >= indexSize) {
211 throw new IllegalArgumentException(String.format("Bad right range boundary %d in [0..%d]", end, indexSize-1)); 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));
212 } 215 }
213 // XXX may cache [start .. end] from index with a single read (pre-read) 216 // XXX may cache [start .. end] from index with a single read (pre-read)
214 217
215 ReaderN1 r = new ReaderN1(needData, inspector); 218 ReaderN1 r = new ReaderN1(needData, inspector);
216 try { 219 try {
519 return true; 522 return true;
520 } 523 }
521 } 524 }
522 525
523 526
524 private static int[] toArray(List<Integer> l) {
525 int[] rv = new int[l.size()];
526 for (int i = 0; i < rv.length; i++) {
527 rv[i] = l.get(i);
528 }
529 return rv;
530 }
531
532
533 // mpatch.c : apply() 527 // mpatch.c : apply()
534 // FIXME need to implement patch merge (fold, combine, gather and discard from aforementioned mpatch.[c|py]), also see Revlog and Mercurial PDF 528 // FIXME need to implement patch merge (fold, combine, gather and discard from aforementioned mpatch.[c|py]), also see Revlog and Mercurial PDF
535 public/*for HgBundle; until moved to better place*/static byte[] apply(DataAccess baseRevisionContent, int outcomeLen, List<PatchRecord> patch) throws IOException { 529 public/*for HgBundle; until moved to better place*/static byte[] apply(DataAccess baseRevisionContent, int outcomeLen, List<PatchRecord> patch) throws IOException {
536 int last = 0, destIndex = 0; 530 int last = 0, destIndex = 0;
537 if (outcomeLen == -1) { 531 if (outcomeLen == -1) {