Mercurial > hg4j
diff src/org/tmatesoft/hg/repo/HgDirstate.java @ 291:1483e57541ef
Refactor PathRewrite to accept any char sequence, not only string
author | Artem Tikhomirov <tikhomirov.artem@gmail.com> |
---|---|
date | Wed, 14 Sep 2011 02:12:47 +0200 |
parents | 8faad08c709b |
children | 9774f47d904d |
line wrap: on
line diff
--- a/src/org/tmatesoft/hg/repo/HgDirstate.java Wed Sep 14 01:52:41 2011 +0200 +++ b/src/org/tmatesoft/hg/repo/HgDirstate.java Wed Sep 14 02:12:47 2011 +0200 @@ -33,6 +33,7 @@ import org.tmatesoft.hg.util.Pair; import org.tmatesoft.hg.util.Path; import org.tmatesoft.hg.util.PathPool; +import org.tmatesoft.hg.util.PathRewrite; /** @@ -51,17 +52,21 @@ private final HgRepository repo; private final File dirstateFile; private final PathPool pathPool; + private final PathRewrite canonicalPathRewrite; private Map<Path, Record> normal; private Map<Path, Record> added; private Map<Path, Record> removed; private Map<Path, Record> merged; + private Map<Path, Path> canonical2dirstate; // map of canonicalized file names to their originals from dirstate file private Pair<Nodeid, Nodeid> parents; private String currentBranch; - /*package-local*/ HgDirstate(HgRepository hgRepo, File dirstate, PathPool pathPool) { + // canonicalPath may be null if we don't need to check for names other than in dirstate + /*package-local*/ HgDirstate(HgRepository hgRepo, File dirstate, PathPool pathPool, PathRewrite canonicalPath) { repo = hgRepo; dirstateFile = dirstate; // XXX decide whether file names shall be kept local to reader (see #branches()) or passed from outside this.pathPool = pathPool; + canonicalPathRewrite = canonicalPath; } private void read() {