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 } | 
