Mercurial > jhg
comparison src/com/tmate/hgkit/ll/LocalHgRepo.java @ 64:19e9e220bf68
Convenient commands constitute hi-level API. org.tmatesoft namespace, GPL2 statement
author | Artem Tikhomirov <tikhomirov.artem@gmail.com> |
---|---|
date | Fri, 21 Jan 2011 05:56:43 +0100 |
parents | b771e94a4f7c |
children |
comparison
equal
deleted
inserted
replaced
63:a47530a2ea12 | 64:19e9e220bf68 |
---|---|
11 import java.lang.ref.SoftReference; | 11 import java.lang.ref.SoftReference; |
12 import java.util.Arrays; | 12 import java.util.Arrays; |
13 import java.util.HashMap; | 13 import java.util.HashMap; |
14 import java.util.TreeSet; | 14 import java.util.TreeSet; |
15 | 15 |
16 import org.tmatesoft.hg.core.Path; | |
17 import org.tmatesoft.hg.util.PathRewrite; | |
18 | |
16 import com.tmate.hgkit.fs.DataAccessProvider; | 19 import com.tmate.hgkit.fs.DataAccessProvider; |
17 import com.tmate.hgkit.fs.FileWalker; | 20 import com.tmate.hgkit.fs.FileWalker; |
18 | 21 |
19 /** | 22 /** |
20 * @author artem | 23 * @author artem |
22 public class LocalHgRepo extends HgRepository { | 25 public class LocalHgRepo extends HgRepository { |
23 | 26 |
24 private File repoDir; // .hg folder | 27 private File repoDir; // .hg folder |
25 private final String repoLocation; | 28 private final String repoLocation; |
26 private final DataAccessProvider dataAccess; | 29 private final DataAccessProvider dataAccess; |
30 private final PathRewrite normalizePath = new PathRewrite() { | |
31 | |
32 public String rewrite(String path) { | |
33 return normalize(path); | |
34 } | |
35 }; | |
27 | 36 |
28 public LocalHgRepo(String repositoryPath) { | 37 public LocalHgRepo(String repositoryPath) { |
29 setInvalid(true); | 38 setInvalid(true); |
30 repoLocation = repositoryPath; | 39 repoLocation = repositoryPath; |
31 dataAccess = null; | 40 dataAccess = null; |
100 RevlogStream content = resolve(storagePath); | 109 RevlogStream content = resolve(storagePath); |
101 // XXX no content when no file? or HgDataFile.exists() to detect that? How about files that were removed in previous releases? | 110 // XXX no content when no file? or HgDataFile.exists() to detect that? How about files that were removed in previous releases? |
102 return new HgDataFile(this, nPath, content); | 111 return new HgDataFile(this, nPath, content); |
103 } | 112 } |
104 | 113 |
114 @Override | |
115 public HgDataFile getFileNode(Path path) { | |
116 return getFileNode(path.toString()); | |
117 } | |
118 | |
119 @Override | |
120 public PathRewrite getPathHelper() { | |
121 return normalizePath; | |
122 } | |
123 | |
105 private boolean revlogv1; | 124 private boolean revlogv1; |
106 private boolean store; | 125 private boolean store; |
107 private boolean fncache; | 126 private boolean fncache; |
108 private boolean dotencode; | 127 private boolean dotencode; |
109 | 128 |