comparison src/org/tmatesoft/hg/internal/RevlogStream.java @ 617:65c01508f002

Rollback support for commands that modify repository. Strategy to keep complete copy of a file being changed
author Artem Tikhomirov <tikhomirov.artem@gmail.com>
date Wed, 15 May 2013 20:10:09 +0200
parents e1b29756f901
children 99ad1e3a4e4d
comparison
equal deleted inserted replaced
616:5e0313485eef 617:65c01508f002
27 import java.lang.ref.SoftReference; 27 import java.lang.ref.SoftReference;
28 import java.util.ArrayList; 28 import java.util.ArrayList;
29 import java.util.List; 29 import java.util.List;
30 import java.util.zip.Inflater; 30 import java.util.zip.Inflater;
31 31
32 import org.tmatesoft.hg.core.HgIOException;
32 import org.tmatesoft.hg.core.Nodeid; 33 import org.tmatesoft.hg.core.Nodeid;
33 import org.tmatesoft.hg.repo.HgInternals; 34 import org.tmatesoft.hg.repo.HgInternals;
34 import org.tmatesoft.hg.repo.HgInvalidControlFileException; 35 import org.tmatesoft.hg.repo.HgInvalidControlFileException;
35 import org.tmatesoft.hg.repo.HgInvalidRevisionException; 36 import org.tmatesoft.hg.repo.HgInvalidRevisionException;
36 import org.tmatesoft.hg.repo.HgInvalidStateException; 37 import org.tmatesoft.hg.repo.HgInvalidStateException;
99 /*package*/ DataAccess getDataStream() { 100 /*package*/ DataAccess getDataStream() {
100 DataAccessProvider dataAccess = repo.getDataAccess(); 101 DataAccessProvider dataAccess = repo.getDataAccess();
101 return dataAccess.createReader(getDataFile(), false); 102 return dataAccess.createReader(getDataFile(), false);
102 } 103 }
103 104
104 /*package*/ DataSerializer getIndexStreamWriter() { 105 /*package*/ DataSerializer getIndexStreamWriter(Transaction tr) throws HgIOException {
105 DataAccessProvider dataAccess = repo.getDataAccess(); 106 DataAccessProvider dataAccess = repo.getDataAccess();
106 return dataAccess.createWriter(indexFile, true); 107 return dataAccess.createWriter(tr, indexFile, true);
107 } 108 }
108 109
109 /*package*/ DataSerializer getDataStreamWriter() { 110 /*package*/ DataSerializer getDataStreamWriter(Transaction tr) throws HgIOException {
110 DataAccessProvider dataAccess = repo.getDataAccess(); 111 DataAccessProvider dataAccess = repo.getDataAccess();
111 return dataAccess.createWriter(getDataFile(), true); 112 return dataAccess.createWriter(tr, getDataFile(), true);
112 } 113 }
113 114
114 /** 115 /**
115 * Constructs file object that corresponds to .d revlog counterpart. 116 * Constructs file object that corresponds to .d revlog counterpart.
116 * Note, it's caller responsibility to ensure this file makes any sense (i.e. check {@link #inline} attribute) 117 * Note, it's caller responsibility to ensure this file makes any sense (i.e. check {@link #inline} attribute)