Mercurial > jhg
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); | 
