comparison src/org/tmatesoft/hg/repo/HgInternals.java @ 348:a0864b2892cd

Expose errors reading mercurial control files with exception
author Artem Tikhomirov <tikhomirov.artem@gmail.com>
date Thu, 24 Nov 2011 02:57:03 +0100
parents 8da7ade36c57
children 2fadf8695f8a
comparison
equal deleted inserted replaced
347:8da7ade36c57 348:a0864b2892cd
23 import java.io.IOException; 23 import java.io.IOException;
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.HgInvalidControlFileException;
28 import org.tmatesoft.hg.core.HgInvalidRevisionException; 29 import org.tmatesoft.hg.core.HgInvalidRevisionException;
29 import org.tmatesoft.hg.core.SessionContext; 30 import org.tmatesoft.hg.core.SessionContext;
30 import org.tmatesoft.hg.internal.Experimental; 31 import org.tmatesoft.hg.internal.Experimental;
31 import org.tmatesoft.hg.internal.RelativePathRewrite; 32 import org.tmatesoft.hg.internal.RelativePathRewrite;
32 import org.tmatesoft.hg.util.FileIterator; 33 import org.tmatesoft.hg.util.FileIterator;
52 53
53 public HgInternals(HgRepository hgRepo) { 54 public HgInternals(HgRepository hgRepo) {
54 repo = hgRepo; 55 repo = hgRepo;
55 } 56 }
56 57
57 public void dumpDirstate() { 58 public HgDirstate getDirstate() throws HgInvalidControlFileException {
58 getDirstate().dump();
59 }
60
61 public HgDirstate getDirstate() {
62 return repo.loadDirstate(new PathPool(new PathRewrite.Empty())); 59 return repo.loadDirstate(new PathPool(new PathRewrite.Empty()));
63 } 60 }
64 61
65 // tests 62 // tests
66 public HgDirstate createDirstate(boolean caseSensitiveFileSystem) { 63 public HgDirstate createDirstate(boolean caseSensitiveFileSystem) throws HgInvalidControlFileException {
67 PathRewrite canonicalPath = null; 64 PathRewrite canonicalPath = null;
68 if (!caseSensitiveFileSystem) { 65 if (!caseSensitiveFileSystem) {
69 canonicalPath = new PathRewrite() { 66 canonicalPath = new PathRewrite() {
70 67
71 public CharSequence rewrite(CharSequence path) { 68 public CharSequence rewrite(CharSequence path) {
72 return path.toString().toLowerCase(); 69 return path.toString().toLowerCase();
73 } 70 }
74 }; 71 };
75 } 72 }
76 return new HgDirstate(repo, new File(repo.getRepositoryRoot(), "dirstate"), new PathPool(new PathRewrite.Empty()), canonicalPath); 73 HgDirstate ds = new HgDirstate(repo, new File(repo.getRepositoryRoot(), "dirstate"), new PathPool(new PathRewrite.Empty()), canonicalPath);
74 ds.read();
75 return ds;
77 } 76 }
78 77
79 public Path[] checkKnown(HgDirstate dirstate, Path[] toCheck) { 78 public Path[] checkKnown(HgDirstate dirstate, Path[] toCheck) {
80 Path[] rv = new Path[toCheck.length]; 79 Path[] rv = new Path[toCheck.length];
81 for (int i = 0; i < toCheck.length; i++) { 80 for (int i = 0; i < toCheck.length; i++) {