Mercurial > jhg
comparison src/org/tmatesoft/hg/repo/HgManifest.java @ 354:5f9073eabf06
Propagate errors with exceptions up to a end client
| author | Artem Tikhomirov <tikhomirov.artem@gmail.com> |
|---|---|
| date | Thu, 01 Dec 2011 05:21:40 +0100 |
| parents | d42a45a2c9d6 |
| children | 189dc6dc1c3e |
comparison
equal
deleted
inserted
replaced
| 353:0f3687e79f5a | 354:5f9073eabf06 |
|---|---|
| 24 import java.util.Arrays; | 24 import java.util.Arrays; |
| 25 import java.util.HashMap; | 25 import java.util.HashMap; |
| 26 import java.util.Map; | 26 import java.util.Map; |
| 27 | 27 |
| 28 import org.tmatesoft.hg.core.HgBadStateException; | 28 import org.tmatesoft.hg.core.HgBadStateException; |
| 29 import org.tmatesoft.hg.core.HgInvalidControlFileException; | |
| 29 import org.tmatesoft.hg.core.Nodeid; | 30 import org.tmatesoft.hg.core.Nodeid; |
| 30 import org.tmatesoft.hg.internal.DataAccess; | 31 import org.tmatesoft.hg.internal.DataAccess; |
| 31 import org.tmatesoft.hg.internal.DigestHelper; | 32 import org.tmatesoft.hg.internal.DigestHelper; |
| 32 import org.tmatesoft.hg.internal.EncodingHelper; | 33 import org.tmatesoft.hg.internal.EncodingHelper; |
| 33 import org.tmatesoft.hg.internal.Experimental; | 34 import org.tmatesoft.hg.internal.Experimental; |
| 472 } | 473 } |
| 473 for (int u : undefinedChangelogRevision) { | 474 for (int u : undefinedChangelogRevision) { |
| 474 Nodeid manifest = repo.getChangelog().range(u, u).get(0).manifest(); | 475 Nodeid manifest = repo.getChangelog().range(u, u).get(0).manifest(); |
| 475 // FIXME calculate those missing effectively (e.g. cache and sort nodeids to speed lookup | 476 // FIXME calculate those missing effectively (e.g. cache and sort nodeids to speed lookup |
| 476 // right away in the #next (may refactor ParentWalker's sequential and sorted into dedicated helper and reuse here) | 477 // right away in the #next (may refactor ParentWalker's sequential and sorted into dedicated helper and reuse here) |
| 477 changelog2manifest[u] = repo.getManifest().getLocalRevision(manifest); | 478 try { |
| 479 changelog2manifest[u] = repo.getManifest().getLocalRevision(manifest); | |
| 480 } catch (HgInvalidControlFileException ex) { | |
| 481 // FIXME need to propagate the error up to client | |
| 482 repo.getContext().getLog().error(getClass(), ex, null); | |
| 483 } | |
| 478 } | 484 } |
| 479 } | 485 } |
| 480 } | 486 } |
| 481 } | 487 } |
