Mercurial > hg4j
comparison src/org/tmatesoft/hg/core/HgChangesetFileSneaker.java @ 423:9c9c442b5f2e
Major refactoring of exception handling. Low-level API uses RuntimeExceptions, while checked are left for higher level
| author | Artem Tikhomirov <tikhomirov.artem@gmail.com> |
|---|---|
| date | Fri, 23 Mar 2012 22:51:18 +0100 |
| parents | ccd7d25e5aea |
| children | 31a89587eb04 |
comparison
equal
deleted
inserted
replaced
| 422:5d1cc7366d04 | 423:9c9c442b5f2e |
|---|---|
| 16 */ | 16 */ |
| 17 package org.tmatesoft.hg.core; | 17 package org.tmatesoft.hg.core; |
| 18 | 18 |
| 19 import org.tmatesoft.hg.internal.ManifestRevision; | 19 import org.tmatesoft.hg.internal.ManifestRevision; |
| 20 import org.tmatesoft.hg.repo.HgDataFile; | 20 import org.tmatesoft.hg.repo.HgDataFile; |
| 21 import org.tmatesoft.hg.repo.HgInvalidControlFileException; | |
| 22 import org.tmatesoft.hg.repo.HgInvalidStateException; | |
| 21 import org.tmatesoft.hg.repo.HgManifest; | 23 import org.tmatesoft.hg.repo.HgManifest; |
| 22 import org.tmatesoft.hg.repo.HgRepository; | 24 import org.tmatesoft.hg.repo.HgRepository; |
| 25 import org.tmatesoft.hg.repo.HgRuntimeException; | |
| 23 import org.tmatesoft.hg.util.Path; | 26 import org.tmatesoft.hg.util.Path; |
| 24 import org.tmatesoft.hg.util.Status; | 27 import org.tmatesoft.hg.util.Status; |
| 25 | 28 |
| 26 /** | 29 /** |
| 27 * Primary purpose is to provide information about file revisions at specific changeset. Multiple {@link #check(Path)} calls | 30 * Primary purpose is to provide information about file revisions at specific changeset. Multiple {@link #check(Path)} calls |
| 143 dataFile = repo.getFileNode(file); | 146 dataFile = repo.getFileNode(file); |
| 144 toExtract = cachedManifest.nodeid(file); | 147 toExtract = cachedManifest.nodeid(file); |
| 145 extractRevFlags = cachedManifest.flags(file); | 148 extractRevFlags = cachedManifest.flags(file); |
| 146 } | 149 } |
| 147 } | 150 } |
| 148 } catch (HgException ex) { | 151 } catch (HgRuntimeException ex) { |
| 149 checkResult = new Status(Status.Kind.ERROR, phaseMsg, ex); | 152 checkResult = new Status(Status.Kind.ERROR, phaseMsg, ex); |
| 150 return checkResult; | 153 return checkResult; |
| 151 } | 154 } |
| 152 if (toExtract != null) { | 155 if (toExtract != null) { |
| 153 fileRevision = new HgFileRevision(repo, toExtract, extractRevFlags, dataFile.getPath()); | 156 fileRevision = new HgFileRevision(repo, toExtract, extractRevFlags, dataFile.getPath()); |
| 210 return fileRevision.getRevision(); | 213 return fileRevision.getRevision(); |
| 211 } | 214 } |
| 212 | 215 |
| 213 private void assertCheckRan() { | 216 private void assertCheckRan() { |
| 214 if (checkResult == null) { | 217 if (checkResult == null) { |
| 215 throw new HgBadStateException("Shall invoke #check(Path) first"); | 218 throw new HgInvalidStateException("Shall invoke #check(Path) first"); |
| 216 } | 219 } |
| 217 } | 220 } |
| 218 | 221 |
| 219 } | 222 } |
