Mercurial > hg4j
comparison src/org/tmatesoft/hg/repo/HgRepository.java @ 252:a6d19adc2636
HgRepository.getWorkingCopyBranchName() to retrieve branch associated with working directory
author | Artem Tikhomirov <tikhomirov.artem@gmail.com> |
---|---|
date | Mon, 15 Aug 2011 18:51:41 +0200 |
parents | df9d2854d3d6 |
children | 35125450c804 |
comparison
equal
deleted
inserted
replaced
251:8c951645bea0 | 252:a6d19adc2636 |
---|---|
55 | 55 |
56 // if new constants added, consider fixing HgInternals#wrongLocalRevision | 56 // if new constants added, consider fixing HgInternals#wrongLocalRevision |
57 public static final int TIP = -3; | 57 public static final int TIP = -3; |
58 public static final int BAD_REVISION = Integer.MIN_VALUE; | 58 public static final int BAD_REVISION = Integer.MIN_VALUE; |
59 public static final int WORKING_COPY = -2; | 59 public static final int WORKING_COPY = -2; |
60 | |
61 public static final String DEFAULT_BRANCH_NAME = "default"; | |
60 | 62 |
61 // temp aux marker method | 63 // temp aux marker method |
62 public static IllegalStateException notImplemented() { | 64 public static IllegalStateException notImplemented() { |
63 return new IllegalStateException("Not implemented"); | 65 return new IllegalStateException("Not implemented"); |
64 } | 66 } |
178 // only from readGlobal. Need to reconsider exceptions thrown from there | 180 // only from readGlobal. Need to reconsider exceptions thrown from there |
179 ex.printStackTrace(); // XXX need to decide what to do this. failure to read single revision shall not break complete cycle | 181 ex.printStackTrace(); // XXX need to decide what to do this. failure to read single revision shall not break complete cycle |
180 } | 182 } |
181 } | 183 } |
182 } | 184 } |
183 tags.readGlobal(new File(repoDir.getParentFile(), ".hgtags")); // XXX replace with HgDataFile.workingCopy | 185 tags.readGlobal(new File(getWorkingDir(), ".hgtags")); // XXX replace with HgDataFile.workingCopy |
184 tags.readLocal(new File(repoDir, "localtags")); | 186 tags.readLocal(new File(repoDir, "localtags")); |
185 } catch (IOException ex) { | 187 } catch (IOException ex) { |
186 ex.printStackTrace(); // FIXME log or othewise report | 188 ex.printStackTrace(); // FIXME log or othewise report |
187 } | 189 } |
188 } | 190 } |
233 | 235 |
234 @Experimental(reason="return type and possible values (presently null, perhaps Nodeid.NULL) may get changed") | 236 @Experimental(reason="return type and possible values (presently null, perhaps Nodeid.NULL) may get changed") |
235 public Pair<Nodeid,Nodeid> getWorkingCopyParents() { | 237 public Pair<Nodeid,Nodeid> getWorkingCopyParents() { |
236 Nodeid[] p = loadDirstate().parents(); | 238 Nodeid[] p = loadDirstate().parents(); |
237 return new Pair<Nodeid,Nodeid>(NULL == p[0] ? null : p[0], NULL == p[1] ? null : p[1]); | 239 return new Pair<Nodeid,Nodeid>(NULL == p[0] ? null : p[0], NULL == p[1] ? null : p[1]); |
240 } | |
241 | |
242 /** | |
243 * @return name of the branch associated with working directory, never <code>null</code>. | |
244 */ | |
245 public String getWorkingCopyBranchName() { | |
246 return loadDirstate().branch(); | |
238 } | 247 } |
239 | 248 |
240 /** | 249 /** |
241 * @return location where user files (shall) reside | 250 * @return location where user files (shall) reside |
242 */ | 251 */ |
261 return repoDir; | 270 return repoDir; |
262 } | 271 } |
263 | 272 |
264 // XXX package-local, unless there are cases when required from outside (guess, working dir/revision walkers may hide dirstate access and no public visibility needed) | 273 // XXX package-local, unless there are cases when required from outside (guess, working dir/revision walkers may hide dirstate access and no public visibility needed) |
265 /*package-local*/ final HgDirstate loadDirstate() { | 274 /*package-local*/ final HgDirstate loadDirstate() { |
266 return new HgDirstate(getDataAccess(), new File(repoDir, "dirstate")); | 275 return new HgDirstate(this, new File(repoDir, "dirstate")); |
267 } | 276 } |
268 | 277 |
269 // package-local, see comment for loadDirstate | 278 // package-local, see comment for loadDirstate |
270 /*package-local*/ final HgIgnore getIgnore() { | 279 /*package-local*/ final HgIgnore getIgnore() { |
271 // TODO read config for additional locations | 280 // TODO read config for additional locations |
272 if (ignore == null) { | 281 if (ignore == null) { |
273 ignore = new HgIgnore(); | 282 ignore = new HgIgnore(); |
274 try { | 283 try { |
275 File ignoreFile = new File(repoDir.getParentFile(), ".hgignore"); | 284 File ignoreFile = new File(getWorkingDir(), ".hgignore"); |
276 ignore.read(ignoreFile); | 285 ignore.read(ignoreFile); |
277 } catch (IOException ex) { | 286 } catch (IOException ex) { |
278 ex.printStackTrace(); // log warn | 287 ex.printStackTrace(); // log warn |
279 } | 288 } |
280 } | 289 } |