Mercurial > jhg
comparison src/org/tmatesoft/hg/repo/HgRepository.java @ 231:1792b37650f2
Introduced access to conflict resolution information (merge state)
author | Artem Tikhomirov <tikhomirov.artem@gmail.com> |
---|---|
date | Wed, 01 Jun 2011 05:44:25 +0200 |
parents | 1ec6b327a6ac |
children | b2cfbe46f9b6 |
comparison
equal
deleted
inserted
replaced
230:0dd9da7489dc | 231:1792b37650f2 |
---|---|
24 import java.util.HashMap; | 24 import java.util.HashMap; |
25 import java.util.List; | 25 import java.util.List; |
26 | 26 |
27 import org.tmatesoft.hg.internal.ConfigFile; | 27 import org.tmatesoft.hg.internal.ConfigFile; |
28 import org.tmatesoft.hg.internal.DataAccessProvider; | 28 import org.tmatesoft.hg.internal.DataAccessProvider; |
29 import org.tmatesoft.hg.internal.Experimental; | |
29 import org.tmatesoft.hg.internal.Filter; | 30 import org.tmatesoft.hg.internal.Filter; |
30 import org.tmatesoft.hg.internal.RequiresFile; | 31 import org.tmatesoft.hg.internal.RequiresFile; |
31 import org.tmatesoft.hg.internal.RevlogStream; | 32 import org.tmatesoft.hg.internal.RevlogStream; |
32 import org.tmatesoft.hg.util.Path; | 33 import org.tmatesoft.hg.util.Path; |
33 import org.tmatesoft.hg.util.PathRewrite; | 34 import org.tmatesoft.hg.util.PathRewrite; |
62 | 63 |
63 private HgChangelog changelog; | 64 private HgChangelog changelog; |
64 private HgManifest manifest; | 65 private HgManifest manifest; |
65 private HgTags tags; | 66 private HgTags tags; |
66 private HgBranches branches; | 67 private HgBranches branches; |
68 private HgMergeState mergeState; | |
67 | 69 |
68 // XXX perhaps, shall enable caching explicitly | 70 // XXX perhaps, shall enable caching explicitly |
69 private final HashMap<Path, SoftReference<RevlogStream>> streamsCache = new HashMap<Path, SoftReference<RevlogStream>>(); | 71 private final HashMap<Path, SoftReference<RevlogStream>> streamsCache = new HashMap<Path, SoftReference<RevlogStream>>(); |
70 | 72 |
71 private final org.tmatesoft.hg.internal.Internals impl = new org.tmatesoft.hg.internal.Internals(); | 73 private final org.tmatesoft.hg.internal.Internals impl = new org.tmatesoft.hg.internal.Internals(); |
136 this.manifest = new HgManifest(this, content); | 138 this.manifest = new HgManifest(this, content); |
137 } | 139 } |
138 return this.manifest; | 140 return this.manifest; |
139 } | 141 } |
140 | 142 |
141 public final HgTags getTags() { | 143 public HgTags getTags() { |
142 if (tags == null) { | 144 if (tags == null) { |
143 tags = new HgTags(); | 145 tags = new HgTags(); |
144 try { | 146 try { |
145 tags.readGlobal(new File(repoDir.getParentFile(), ".hgtags")); | 147 tags.readGlobal(new File(repoDir.getParentFile(), ".hgtags")); |
146 tags.readLocal(new File(repoDir, "localtags")); | 148 tags.readLocal(new File(repoDir, "localtags")); |
149 } | 151 } |
150 } | 152 } |
151 return tags; | 153 return tags; |
152 } | 154 } |
153 | 155 |
154 public final HgBranches getBranches() { | 156 public HgBranches getBranches() { |
155 if (branches == null) { | 157 if (branches == null) { |
156 branches = new HgBranches(this); | 158 branches = new HgBranches(this); |
157 branches.collect(ProgressSupport.Factory.get(null)); | 159 branches.collect(ProgressSupport.Factory.get(null)); |
158 } | 160 } |
159 return branches; | 161 return branches; |
162 } | |
163 | |
164 @Experimental(reason="Perhaps, shall not cache instance, and provide loadMergeState as it may change often") | |
165 public HgMergeState getMergeState() { | |
166 if (mergeState == null) { | |
167 mergeState = new HgMergeState(this); | |
168 } | |
169 return mergeState; | |
160 } | 170 } |
161 | 171 |
162 public HgDataFile getFileNode(String path) { | 172 public HgDataFile getFileNode(String path) { |
163 String nPath = normalizePath.rewrite(path); | 173 String nPath = normalizePath.rewrite(path); |
164 String storagePath = dataPathHelper.rewrite(nPath); | 174 String storagePath = dataPathHelper.rewrite(nPath); |