Mercurial > jhg
comparison src/org/tmatesoft/hg/repo/HgBranches.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 | 2fadf8695f8a |
| children | 1fc0da631200 |
comparison
equal
deleted
inserted
replaced
| 422:5d1cc7366d04 | 423:9c9c442b5f2e |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright (c) 2011 TMate Software Ltd | 2 * Copyright (c) 2011-2012 TMate Software Ltd |
| 3 * | 3 * |
| 4 * This program is free software; you can redistribute it and/or modify | 4 * This program is free software; you can redistribute it and/or modify |
| 5 * it under the terms of the GNU General Public License as published by | 5 * it under the terms of the GNU General Public License as published by |
| 6 * the Free Software Foundation; version 2 of the License. | 6 * the Free Software Foundation; version 2 of the License. |
| 7 * | 7 * |
| 32 import java.util.List; | 32 import java.util.List; |
| 33 import java.util.Map; | 33 import java.util.Map; |
| 34 import java.util.TreeMap; | 34 import java.util.TreeMap; |
| 35 import java.util.regex.Pattern; | 35 import java.util.regex.Pattern; |
| 36 | 36 |
| 37 import org.tmatesoft.hg.core.HgException; | |
| 38 import org.tmatesoft.hg.core.HgInvalidControlFileException; | |
| 39 import org.tmatesoft.hg.core.HgInvalidRevisionException; | |
| 40 import org.tmatesoft.hg.core.Nodeid; | 37 import org.tmatesoft.hg.core.Nodeid; |
| 41 import org.tmatesoft.hg.internal.Experimental; | 38 import org.tmatesoft.hg.internal.Experimental; |
| 42 import org.tmatesoft.hg.repo.HgChangelog.RawChangeset; | 39 import org.tmatesoft.hg.repo.HgChangelog.RawChangeset; |
| 43 import org.tmatesoft.hg.util.ProgressSupport; | 40 import org.tmatesoft.hg.util.ProgressSupport; |
| 44 | 41 |
| 238 | 235 |
| 239 /** | 236 /** |
| 240 * Writes down information about repository branches in a format Mercurial native client can understand. | 237 * Writes down information about repository branches in a format Mercurial native client can understand. |
| 241 * Cache file gets overwritten only if it is out of date (i.e. misses some branch information) | 238 * Cache file gets overwritten only if it is out of date (i.e. misses some branch information) |
| 242 * @throws IOException if write to cache file failed | 239 * @throws IOException if write to cache file failed |
| 243 * @throws HgException subclass of {@link HgException} in case of repository access issue | 240 * @throws HgRuntimeException subclass thereof to indicate issues with the library. <em>Runtime exception</em> |
| 244 */ | 241 */ |
| 245 @Experimental(reason="Usage of cache isn't supposed to be public knowledge") | 242 @Experimental(reason="Usage of cache isn't supposed to be public knowledge") |
| 246 public void writeCache() throws IOException, HgException { | 243 public void writeCache() throws IOException, HgRuntimeException { |
| 247 if (isCacheActual) { | 244 if (isCacheActual) { |
| 248 return; | 245 return; |
| 249 } | 246 } |
| 250 File branchheadsCache = getCacheFile(); | 247 File branchheadsCache = getCacheFile(); |
| 251 if (!branchheadsCache.exists()) { | 248 if (!branchheadsCache.exists()) { |
