Mercurial > jhg
comparison src/org/tmatesoft/hg/repo/HgInternals.java @ 490:b3c16d1aede0
Refactoring: move HgRepository's implementation aspects to Internals (which is now its imlementation counterpart and primary repository class to be used by other parts of the library)
| author | Artem Tikhomirov <tikhomirov.artem@gmail.com> |
|---|---|
| date | Thu, 16 Aug 2012 17:08:34 +0200 |
| parents | e31e85cf4d4c |
| children | ba36f66c32b4 |
comparison
equal
deleted
inserted
replaced
| 489:9c0138cda59a | 490:b3c16d1aede0 |
|---|---|
| 24 import java.io.Reader; | 24 import java.io.Reader; |
| 25 import java.net.InetAddress; | 25 import java.net.InetAddress; |
| 26 import java.net.UnknownHostException; | 26 import java.net.UnknownHostException; |
| 27 | 27 |
| 28 import org.tmatesoft.hg.core.Nodeid; | 28 import org.tmatesoft.hg.core.Nodeid; |
| 29 import org.tmatesoft.hg.core.SessionContext; | |
| 30 import org.tmatesoft.hg.internal.Experimental; | 29 import org.tmatesoft.hg.internal.Experimental; |
| 31 import org.tmatesoft.hg.internal.Internals; | 30 import org.tmatesoft.hg.internal.Internals; |
| 32 import org.tmatesoft.hg.internal.RelativePathRewrite; | 31 import org.tmatesoft.hg.internal.RelativePathRewrite; |
| 33 import org.tmatesoft.hg.internal.WinToNixPathRewrite; | 32 import org.tmatesoft.hg.internal.WinToNixPathRewrite; |
| 34 import org.tmatesoft.hg.repo.HgSubrepoLocation.Kind; | 33 import org.tmatesoft.hg.repo.HgSubrepoLocation.Kind; |
| 71 public CharSequence rewrite(CharSequence path) { | 70 public CharSequence rewrite(CharSequence path) { |
| 72 return path.toString().toLowerCase(); | 71 return path.toString().toLowerCase(); |
| 73 } | 72 } |
| 74 }; | 73 }; |
| 75 } | 74 } |
| 76 HgDirstate ds = new HgDirstate(repo, new File(repo.getRepositoryRoot(), "dirstate"), new Path.SimpleSource(), canonicalPath); | 75 HgDirstate ds = new HgDirstate(repo.getImplHelper(), new Path.SimpleSource(), canonicalPath); |
| 77 ds.read(repo.getImplHelper().buildFileNameEncodingHelper()); | 76 ds.read(); |
| 78 return ds; | 77 return ds; |
| 79 } | 78 } |
| 80 | 79 |
| 81 public Path[] checkKnown(HgDirstate dirstate, Path[] toCheck) { | 80 public Path[] checkKnown(HgDirstate dirstate, Path[] toCheck) { |
| 82 Path[] rv = new Path[toCheck.length]; | 81 Path[] rv = new Path[toCheck.length]; |
| 143 File repoRoot = repo.getWorkingDir(); | 142 File repoRoot = repo.getWorkingDir(); |
| 144 Path.Source pathSrc = new Path.SimpleSource(new PathRewrite.Composite(new RelativePathRewrite(repoRoot), repo.getToRepoPathHelper())); | 143 Path.Source pathSrc = new Path.SimpleSource(new PathRewrite.Composite(new RelativePathRewrite(repoRoot), repo.getToRepoPathHelper())); |
| 145 // Impl note: simple source is enough as files in the working dir are all unique | 144 // Impl note: simple source is enough as files in the working dir are all unique |
| 146 // even if they might get reused (i.e. after FileIterator#reset() and walking once again), | 145 // even if they might get reused (i.e. after FileIterator#reset() and walking once again), |
| 147 // path caching is better to be done in the code which knows that path are being reused | 146 // path caching is better to be done in the code which knows that path are being reused |
| 148 return new FileWalker(repo.getContext(), repoRoot, pathSrc, workindDirScope); | 147 return new FileWalker(repo.getSessionContext(), repoRoot, pathSrc, workindDirScope); |
| 149 } | 148 } |
| 150 | 149 |
| 151 // expose otherwise package-local information primarily to use in our own o.t.hg.core package | |
| 152 public static SessionContext getContext(HgRepository repo) { | |
| 153 // TODO SessionContext.Source and HgRepo to implement it | |
| 154 return repo.getContext(); | |
| 155 } | |
| 156 | |
| 157 | |
| 158 // Convenient check of revision index for validity (not all negative values are wrong as long as we use negative constants) | 150 // Convenient check of revision index for validity (not all negative values are wrong as long as we use negative constants) |
| 159 public static boolean wrongRevisionIndex(int rev) { | 151 public static boolean wrongRevisionIndex(int rev) { |
| 160 // TODO Another method to check,throw and expand TIP at once (check[Revision|Revlog]Index() | 152 // TODO Another method to check,throw and expand TIP at once (check[Revision|Revlog]Index() |
| 161 return rev < 0 && rev != TIP && rev != WORKING_COPY && rev != BAD_REVISION && rev != NO_REVISION; | 153 return rev < 0 && rev != TIP && rev != WORKING_COPY && rev != BAD_REVISION && rev != NO_REVISION; |
| 162 } | 154 } |
