public class FSTransactionRoot extends FSRoot
Modifier and Type | Class and Description |
---|---|
private static class |
FSTransactionRoot.HashRepresentationStream |
Modifier and Type | Field and Description |
---|---|
private long |
myBaseRevision |
private java.io.File |
myTxnChangesFile |
private int |
myTxnFlags |
private java.lang.String |
myTxnID |
private java.io.File |
myTxnRevFile |
static int |
SVN_FS_TXN_CHECK_LOCKS |
static int |
SVN_FS_TXN_CHECK_OUT_OF_DATENESS |
myRootRevisionNode
Constructor and Description |
---|
FSTransactionRoot(FSFS owner,
java.lang.String txnID,
long baseRevision,
int flags) |
Modifier and Type | Method and Description |
---|---|
private static java.lang.String |
addKeys(java.lang.String key1,
java.lang.String key2) |
long |
allocateItemIndex(long offset) |
static FSTransactionInfo |
beginTransaction(long baseRevision,
int flags,
FSFS owner) |
static FSTransactionInfo |
beginTransactionForCommit(long baseRevision,
SVNProperties revisionProperties,
FSFS owner) |
FSRevisionNode |
cloneChild(FSRevisionNode parent,
java.lang.String parentPath,
java.lang.String childName,
java.lang.String copyId,
boolean isParentCopyRoot) |
private static java.lang.String |
createPre15TxnDir(long revision,
FSFS owner) |
FSID |
createSuccessor(FSID oldId,
FSRevisionNode newRevNode,
java.lang.String copyId) |
private static FSTransactionInfo |
createTxn(long baseRevision,
FSFS owner) |
private static java.lang.String |
createTxnDir(long revision,
FSFS owner) |
void |
deleteEntry(FSRevisionNode parent,
java.lang.String entryName) |
private void |
deleteEntryIfMutable(FSID id) |
java.util.Map |
getChangedPaths() |
FSCopyInheritance |
getCopyInheritance(FSParentPath child) |
java.lang.String |
getNewTxnNodeId() |
long |
getRevision() |
FSRevisionNode |
getRootRevisionNode() |
java.io.File |
getTransactionChangesFile() |
java.io.File |
getTransactionRevNodeChildrenFile(FSID id) |
java.io.File |
getTransactionRevNodePropsFile(FSID id) |
FSTransactionInfo |
getTxn() |
FSRevisionNode |
getTxnBaseRootNode() |
int |
getTxnFlags() |
java.lang.String |
getTxnID() |
java.io.File |
getWritableTransactionProtoRevFile() |
void |
incrementMergeInfoCount(FSRevisionNode node,
long increment) |
java.lang.String[] |
readNextIDs() |
private void |
removeRevisionNode(FSID id) |
void |
setEntry(FSRevisionNode parentRevNode,
java.lang.String entryName,
FSID entryId,
SVNNodeKind kind) |
void |
setProplist(FSRevisionNode node,
SVNProperties properties) |
void |
setTxnFlags(int txnFlags) |
void |
storeL2PIndexEntry(long offset,
long itemIndex) |
void |
storeP2LIndexEntry(FSP2LEntry entry) |
SVNProperties |
unparseDirEntries(java.util.Map entries) |
void |
writeChangeEntry(java.io.OutputStream changesFile,
FSPathChange pathChange,
boolean includeNodeKind) |
private void |
writeChanges(CountingOutputStream protoFile,
java.util.Map changedPaths,
boolean includeNodeKind,
boolean terminateList) |
long |
writeFinalChangedPathInfo(CountingOutputStream protoFile) |
void |
writeFinalCurrentFile(long newRevision,
java.lang.String startNodeId,
java.lang.String startCopyId) |
FSID |
writeFinalRevision(FSID newId,
CountingOutputStream protoFile,
long revision,
FSID id,
java.lang.String startNodeId,
java.lang.String startCopyId,
java.util.Collection<FSRepresentation> representations,
boolean atRoot) |
private long |
writeHashRepresentation(FSRepresentation representation,
SVNProperties hashContents,
CountingOutputStream protoFile,
java.security.MessageDigest digest,
FSP2LProtoIndex.ItemType itemType) |
checkNodeKind, detectChanged, fetchAllChanges, fetchRevNodeFromCache, getFileSize, getFileStreamForPath, getOwner, getRevisionNode, isUseLogAddressing, openPath, putRevNodeToCache, removeRevNodeFromCache, writeIndexData
public static final int SVN_FS_TXN_CHECK_OUT_OF_DATENESS
public static final int SVN_FS_TXN_CHECK_LOCKS
private java.lang.String myTxnID
private int myTxnFlags
private java.io.File myTxnChangesFile
private java.io.File myTxnRevFile
private long myBaseRevision
public FSTransactionRoot(FSFS owner, java.lang.String txnID, long baseRevision, int flags)
public long getRevision()
getRevision
in class FSRoot
public FSCopyInheritance getCopyInheritance(FSParentPath child) throws SVNException
getCopyInheritance
in class FSRoot
SVNException
public FSRevisionNode getRootRevisionNode() throws SVNException
getRootRevisionNode
in class FSRoot
SVNException
public FSRevisionNode getTxnBaseRootNode() throws SVNException
SVNException
public FSTransactionInfo getTxn() throws SVNException
SVNException
public java.util.Map getChangedPaths() throws SVNException
getChangedPaths
in class FSRoot
SVNException
public int getTxnFlags()
public void setTxnFlags(int txnFlags)
public java.lang.String getTxnID()
public SVNProperties unparseDirEntries(java.util.Map entries)
public static FSTransactionInfo beginTransactionForCommit(long baseRevision, SVNProperties revisionProperties, FSFS owner) throws SVNException
SVNException
public static FSTransactionInfo beginTransaction(long baseRevision, int flags, FSFS owner) throws SVNException
SVNException
private static FSTransactionInfo createTxn(long baseRevision, FSFS owner) throws SVNException
SVNException
private static java.lang.String createTxnDir(long revision, FSFS owner) throws SVNException
SVNException
private static java.lang.String createPre15TxnDir(long revision, FSFS owner) throws SVNException
SVNException
public void deleteEntry(FSRevisionNode parent, java.lang.String entryName) throws SVNException
SVNException
public void incrementMergeInfoCount(FSRevisionNode node, long increment) throws SVNException
SVNException
private void deleteEntryIfMutable(FSID id) throws SVNException
SVNException
private void removeRevisionNode(FSID id) throws SVNException
SVNException
public void setProplist(FSRevisionNode node, SVNProperties properties) throws SVNException
SVNException
public FSID createSuccessor(FSID oldId, FSRevisionNode newRevNode, java.lang.String copyId) throws SVNException
SVNException
public void setEntry(FSRevisionNode parentRevNode, java.lang.String entryName, FSID entryId, SVNNodeKind kind) throws SVNException
SVNException
public void writeChangeEntry(java.io.OutputStream changesFile, FSPathChange pathChange, boolean includeNodeKind) throws SVNException, java.io.IOException
SVNException
java.io.IOException
public long writeFinalChangedPathInfo(CountingOutputStream protoFile) throws SVNException, java.io.IOException
SVNException
java.io.IOException
private void writeChanges(CountingOutputStream protoFile, java.util.Map changedPaths, boolean includeNodeKind, boolean terminateList) throws SVNException, java.io.IOException
SVNException
java.io.IOException
public java.lang.String[] readNextIDs() throws SVNException
SVNException
public void writeFinalCurrentFile(long newRevision, java.lang.String startNodeId, java.lang.String startCopyId) throws SVNException, java.io.IOException
SVNException
java.io.IOException
public FSID writeFinalRevision(FSID newId, CountingOutputStream protoFile, long revision, FSID id, java.lang.String startNodeId, java.lang.String startCopyId, java.util.Collection<FSRepresentation> representations, boolean atRoot) throws SVNException, java.io.IOException
SVNException
java.io.IOException
public FSRevisionNode cloneChild(FSRevisionNode parent, java.lang.String parentPath, java.lang.String childName, java.lang.String copyId, boolean isParentCopyRoot) throws SVNException
SVNException
public java.io.File getTransactionRevNodePropsFile(FSID id)
public java.io.File getTransactionRevNodeChildrenFile(FSID id)
public java.io.File getWritableTransactionProtoRevFile() throws SVNException
SVNException
public java.io.File getTransactionChangesFile() throws SVNException
SVNException
public java.lang.String getNewTxnNodeId() throws SVNException
SVNException
public long allocateItemIndex(long offset) throws SVNException
SVNException
public void storeL2PIndexEntry(long offset, long itemIndex) throws SVNException
SVNException
public void storeP2LIndexEntry(FSP2LEntry entry) throws SVNException
SVNException
private long writeHashRepresentation(FSRepresentation representation, SVNProperties hashContents, CountingOutputStream protoFile, java.security.MessageDigest digest, FSP2LProtoIndex.ItemType itemType) throws java.io.IOException, SVNException
java.io.IOException
SVNException
private static java.lang.String addKeys(java.lang.String key1, java.lang.String key2)