Mercurial > hg4j
comparison src/org/tmatesoft/hg/repo/HgRepository.java @ 220:8de327242aa0
Basic information about branches
| author | Artem Tikhomirov <tikhomirov.artem@gmail.com> |
|---|---|
| date | Thu, 19 May 2011 04:14:45 +0200 |
| parents | 706bcc7cfee4 |
| children | 1ec6b327a6ac |
comparison
equal
deleted
inserted
replaced
| 219:d63583b47bfa | 220:8de327242aa0 |
|---|---|
| 32 import org.tmatesoft.hg.internal.RevlogStream; | 32 import org.tmatesoft.hg.internal.RevlogStream; |
| 33 import org.tmatesoft.hg.util.FileIterator; | 33 import org.tmatesoft.hg.util.FileIterator; |
| 34 import org.tmatesoft.hg.util.FileWalker; | 34 import org.tmatesoft.hg.util.FileWalker; |
| 35 import org.tmatesoft.hg.util.Path; | 35 import org.tmatesoft.hg.util.Path; |
| 36 import org.tmatesoft.hg.util.PathRewrite; | 36 import org.tmatesoft.hg.util.PathRewrite; |
| 37 import org.tmatesoft.hg.util.ProgressSupport; | |
| 37 | 38 |
| 38 | 39 |
| 39 | 40 |
| 40 /** | 41 /** |
| 41 * Shall be as state-less as possible, all the caching happens outside the repo, in commands/walkers | 42 * Shall be as state-less as possible, all the caching happens outside the repo, in commands/walkers |
| 63 private final PathRewrite repoPathHelper; | 64 private final PathRewrite repoPathHelper; |
| 64 | 65 |
| 65 private HgChangelog changelog; | 66 private HgChangelog changelog; |
| 66 private HgManifest manifest; | 67 private HgManifest manifest; |
| 67 private HgTags tags; | 68 private HgTags tags; |
| 69 private HgBranches branches; | |
| 70 | |
| 68 // XXX perhaps, shall enable caching explicitly | 71 // XXX perhaps, shall enable caching explicitly |
| 69 private final HashMap<Path, SoftReference<RevlogStream>> streamsCache = new HashMap<Path, SoftReference<RevlogStream>>(); | 72 private final HashMap<Path, SoftReference<RevlogStream>> streamsCache = new HashMap<Path, SoftReference<RevlogStream>>(); |
| 70 | 73 |
| 71 private final org.tmatesoft.hg.internal.Internals impl = new org.tmatesoft.hg.internal.Internals(); | 74 private final org.tmatesoft.hg.internal.Internals impl = new org.tmatesoft.hg.internal.Internals(); |
| 72 private HgIgnore ignore; | 75 private HgIgnore ignore; |
| 73 private ConfigFile configFile; | 76 private ConfigFile configFile; |
| 74 | 77 |
| 75 HgRepository(String repositoryPath) { | 78 HgRepository(String repositoryPath) { |
| 76 repoDir = null; | 79 repoDir = null; |
| 77 repoLocation = repositoryPath; | 80 repoLocation = repositoryPath; |
| 78 dataAccess = null; | 81 dataAccess = null; |
| 79 dataPathHelper = repoPathHelper = null; | 82 dataPathHelper = repoPathHelper = null; |
| 149 } | 152 } |
| 150 } | 153 } |
| 151 return tags; | 154 return tags; |
| 152 } | 155 } |
| 153 | 156 |
| 157 public final HgBranches getBranches() { | |
| 158 if (branches == null) { | |
| 159 branches = new HgBranches(this); | |
| 160 branches.collect(ProgressSupport.Factory.get(null)); | |
| 161 } | |
| 162 return branches; | |
| 163 } | |
| 164 | |
| 154 public HgDataFile getFileNode(String path) { | 165 public HgDataFile getFileNode(String path) { |
| 155 String nPath = normalizePath.rewrite(path); | 166 String nPath = normalizePath.rewrite(path); |
| 156 String storagePath = dataPathHelper.rewrite(nPath); | 167 String storagePath = dataPathHelper.rewrite(nPath); |
| 157 RevlogStream content = resolve(Path.create(storagePath), false); | 168 RevlogStream content = resolve(Path.create(storagePath), false); |
| 158 Path p = Path.create(nPath); | 169 Path p = Path.create(nPath); |
