Mercurial > jhg
comparison src/org/tmatesoft/hg/repo/HgRepository.java @ 148:1a7a9a20e1f9
Exceptions, javadoc. Initial cancel and progress support
author | Artem Tikhomirov <tikhomirov.artem@gmail.com> |
---|---|
date | Wed, 23 Feb 2011 22:36:28 +0100 |
parents | acc6151b1b7a |
children | 3a7696fb457c |
comparison
equal
deleted
inserted
replaced
147:a05145db4d0c | 148:1a7a9a20e1f9 |
---|---|
43 * @author Artem Tikhomirov | 43 * @author Artem Tikhomirov |
44 * @author TMate Software Ltd. | 44 * @author TMate Software Ltd. |
45 */ | 45 */ |
46 public final class HgRepository { | 46 public final class HgRepository { |
47 | 47 |
48 // if new constants added, consider fixing HgInternals#badLocalRevision | |
48 public static final int TIP = -1; | 49 public static final int TIP = -1; |
49 public static final int BAD_REVISION = Integer.MIN_VALUE; | 50 public static final int BAD_REVISION = Integer.MIN_VALUE; |
50 public static final int WORKING_COPY = -2; | 51 public static final int WORKING_COPY = -2; |
51 | 52 |
52 // temp aux marker method | 53 // temp aux marker method |
53 public static IllegalStateException notImplemented() { | 54 public static IllegalStateException notImplemented() { |
54 return new IllegalStateException("Not implemented"); | 55 return new IllegalStateException("Not implemented"); |
55 } | 56 } |
56 | 57 |
57 private final File repoDir; // .hg folder | 58 private final File repoDir; // .hg folder |
58 private final String repoLocation; | 59 private final String repoLocation; |
59 private final DataAccessProvider dataAccess; | 60 private final DataAccessProvider dataAccess; |
60 private final PathRewrite normalizePath; | 61 private final PathRewrite normalizePath; |
61 private final PathRewrite dataPathHelper; | 62 private final PathRewrite dataPathHelper; |
77 dataAccess = null; | 78 dataAccess = null; |
78 dataPathHelper = repoPathHelper = null; | 79 dataPathHelper = repoPathHelper = null; |
79 normalizePath = null; | 80 normalizePath = null; |
80 } | 81 } |
81 | 82 |
82 HgRepository(File repositoryRoot) throws IOException { | 83 HgRepository(String repositoryPath, File repositoryRoot) { |
83 assert ".hg".equals(repositoryRoot.getName()) && repositoryRoot.isDirectory(); | 84 assert ".hg".equals(repositoryRoot.getName()) && repositoryRoot.isDirectory(); |
85 assert repositoryPath != null; | |
86 assert repositoryRoot != null; | |
84 repoDir = repositoryRoot; | 87 repoDir = repositoryRoot; |
85 repoLocation = repositoryRoot.getParentFile().getCanonicalPath(); | 88 repoLocation = repositoryPath; |
86 dataAccess = new DataAccessProvider(); | 89 dataAccess = new DataAccessProvider(); |
87 final boolean runningOnWindows = System.getProperty("os.name").indexOf("Windows") != -1; | 90 final boolean runningOnWindows = System.getProperty("os.name").indexOf("Windows") != -1; |
88 if (runningOnWindows) { | 91 if (runningOnWindows) { |
89 normalizePath = new PathRewrite() { | 92 normalizePath = new PathRewrite() { |
90 | 93 |