comparison src/org/tmatesoft/hg/core/HgCloneCommand.java @ 571:e4ee4bf4c7d0

Let session context control creation of Path instances
author Artem Tikhomirov <tikhomirov.artem@gmail.com>
date Thu, 11 Apr 2013 16:27:06 +0200
parents 9edfd5a223b8
children 5e0313485eef
comparison
equal deleted inserted replaced
570:36853bb80a35 571:e4ee4bf4c7d0
144 private final File hgDir; 144 private final File hgDir;
145 private final PathRewrite storagePathHelper; 145 private final PathRewrite storagePathHelper;
146 private final ProgressSupport progressSupport; 146 private final ProgressSupport progressSupport;
147 private final CancelSupport cancelSupport; 147 private final CancelSupport cancelSupport;
148 private final SessionContext ctx; 148 private final SessionContext ctx;
149 private final Path.Source pathFactory;
149 private FileOutputStream indexFile; 150 private FileOutputStream indexFile;
150 private String filename; // human-readable name of the file being written, for log/exception purposes 151 private String filename; // human-readable name of the file being written, for log/exception purposes
151 152
152 private final TreeMap<Nodeid, Integer> changelogIndexes = new TreeMap<Nodeid, Integer>(); 153 private final TreeMap<Nodeid, Integer> changelogIndexes = new TreeMap<Nodeid, Integer>();
153 private boolean collectChangelogIndexes = false; 154 private boolean collectChangelogIndexes = false;
172 repoInit.setRequires(STORE | FNCACHE | DOTENCODE); 173 repoInit.setRequires(STORE | FNCACHE | DOTENCODE);
173 storagePathHelper = repoInit.buildDataFilesHelper(sessionCtx); 174 storagePathHelper = repoInit.buildDataFilesHelper(sessionCtx);
174 progressSupport = progress; 175 progressSupport = progress;
175 cancelSupport = cancel; 176 cancelSupport = cancel;
176 revlogDataZip = new RevlogCompressor(sessionCtx); 177 revlogDataZip = new RevlogCompressor(sessionCtx);
178 pathFactory = ctx.getPathFactory();
177 } 179 }
178 180
179 public void initEmptyRepository() throws IOException { 181 public void initEmptyRepository() throws IOException {
180 repoInit.initEmptyRepository(hgDir); 182 repoInit.initEmptyRepository(hgDir);
181 try { 183 try {
241 243
242 public void fileStart(String name) { 244 public void fileStart(String name) {
243 try { 245 try {
244 revlogHeader.offset(0).baseRevision(-1); 246 revlogHeader.offset(0).baseRevision(-1);
245 revisionSequence.clear(); 247 revisionSequence.clear();
246 fncacheFile.add(Path.create(name)); 248 fncacheFile.add(pathFactory.path(name));
247 File file = new File(hgDir, filename = storagePathHelper.rewrite(name).toString()); 249 File file = new File(hgDir, filename = storagePathHelper.rewrite(name).toString());
248 file.getParentFile().mkdirs(); 250 file.getParentFile().mkdirs();
249 indexFile = new FileOutputStream(file); 251 indexFile = new FileOutputStream(file);
250 } catch (IOException ex) { 252 } catch (IOException ex) {
251 String m = String.format("Failed to write file %s", filename); 253 String m = String.format("Failed to write file %s", filename);