public class FSFS
extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
BLOCK_SIZE_OPTION |
static java.lang.String |
CHILDREN_LOCK_KEY |
static java.lang.String |
COMMENT_LOCK_KEY |
static java.lang.String |
COMPRESS_PACKED_REVPROPS_OPTION |
static java.lang.String |
CREATION_DATE_LOCK_KEY |
static java.lang.String |
CURRENT_FILE |
static java.lang.String |
DAV_DIR |
static java.lang.String |
DB_DIR |
static int |
DB_FORMAT |
static java.lang.String |
DB_FORMAT_FILE |
static int |
DB_FORMAT_LOW |
static int |
DB_FORMAT_PRE_17 |
static boolean |
DB_FORMAT_PRE_17_USE_AS_DEFAULT |
static java.lang.String |
DB_LOCK_FILE |
static java.lang.String |
DB_LOGS_LOCK_FILE |
private static java.lang.String |
DB_TYPE |
private static long |
DEFAULT_MAX_FILES_PER_DIRECTORY |
static int |
DIGEST_SUBDIR_LEN |
static java.lang.String |
ENABLE_REP_SHARING_OPTION |
static java.lang.String |
EXPIRATION_DATE_LOCK_KEY |
static java.lang.String |
FS_TYPE_FILE |
static java.lang.String |
IO_SECTION |
static java.lang.String |
IS_DAV_COMMENT_LOCK_KEY |
static java.lang.String |
L2P_PAGE_SIZE_OPTION |
static int |
LAYOUT_FORMAT_OPTION_MINIMAL_FORMAT |
static java.lang.String |
LOCKS_DIR |
static java.lang.String |
MANIFEST_FILE |
static int |
MIN_CURRENT_TXN_FORMAT |
static int |
MIN_KIND_IN_CHANGED_FORMAT |
static int |
MIN_LOG_ADDRESSING_MINIMAL_FORMAT |
static int |
MIN_MERGE_INFO_FORMAT |
static int |
MIN_MERGEINFO_IN_CHANGED_FORMAT |
static int |
MIN_NO_GLOBAL_IDS_FORMAT |
static int |
MIN_PACKED_FORMAT |
static int |
MIN_PACKED_REVPROP_FORMAT |
static int |
MIN_PACKED_REVPROP_SQLITE_DEV_FORMAT |
static int |
MIN_PROTOREVS_DIR_FORMAT |
static int |
MIN_REP_SHARING_FORMAT |
static int |
MIN_SVNDIFF1_FORMAT |
static java.lang.String |
MIN_UNPACKED_REV |
static java.lang.String |
MIN_UNPACKED_REV_FILE |
private long |
myBlockSize |
private boolean |
myCompressPackedRevprops |
private SVNConfigFile |
myConfig |
private java.io.File |
myCurrentFile |
private int |
myDBFormat |
private java.io.File |
myDBFormatFile |
private java.io.File |
myDBRoot |
private java.lang.String |
myFSType |
private java.io.File |
myFSTypeFile |
private boolean |
myIsHooksEnabled |
private boolean |
myIsRepSharingAllowed |
private long |
myL2PPageSize |
private java.io.File |
myLocksRoot |
private long |
myMaxFilesPerDirectory |
private java.io.File |
myMinUnpackedRevFile |
private long |
myMinUnpackedRevision |
private long |
myMinUnpackedRevProp |
private java.io.File |
myNodeOriginsDir |
private long |
myP2LPageSize |
private IFSRepresentationCacheManager |
myReposCacheManager |
private int |
myReposFormat |
private java.io.File |
myRepositoryCacheFile |
private java.io.File |
myRepositoryFormatFile |
private java.io.File |
myRepositoryRoot |
private java.io.File |
myRevisionPropertiesRoot |
private java.io.File |
myRevisionsRoot |
private long |
myRevpropPackSize |
private java.io.File |
myTransactionCurrentFile |
private java.io.File |
myTransactionCurrentLockFile |
private java.io.File |
myTransactionProtoRevsRoot |
private java.io.File |
myTransactionsRoot |
private boolean |
myUseLogAddressing |
private java.lang.String |
myUUID |
private java.io.File |
myUUIDFile |
private java.io.File |
myWriteLockFile |
private long |
myYoungestRevisionCache |
static java.lang.String |
NODE_ORIGINS_DIR |
static java.lang.String |
OWNER_LOCK_KEY |
static java.lang.String |
P2L_PAGE_SIZE_OPTION |
static java.lang.String |
PACK_EXT |
static java.lang.String |
PACK_KIND_MANIFEST |
static java.lang.String |
PACK_KIND_PACK |
static java.lang.String |
PACKED_REVPROPS_SECTION |
static java.lang.String |
PATH_CONFIG |
static java.lang.String |
PATH_LOCK_KEY |
static java.lang.String |
PATH_PREFIX_NODE |
static java.lang.String |
PRE_12_COMPAT_UNNEEDED_FILE_CONTENTS |
static java.lang.String |
REP_CACHE_DB |
static java.lang.String |
REP_SHARING_SECTION |
static java.lang.String |
REPOS_FORMAT_FILE |
static int |
REPOSITORY_FORMAT |
static int |
REPOSITORY_FORMAT_LEGACY |
static java.lang.String |
REVISION_PROPERTIES_DB |
static java.lang.String |
REVISION_PROPERTIES_DIR |
static java.lang.String |
REVISION_PROPERTIES_TABLE |
static java.lang.String |
REVPROP_PACK_SIZE_OPTION |
static java.lang.String |
REVS_DIR |
static java.lang.String |
SVN_OPAQUE_LOCK_TOKEN |
static java.lang.String |
TOKEN_LOCK_KEY |
static java.lang.String |
TRANSACTION_PROTOS_DIR |
static java.lang.String |
TRANSACTIONS_DIR |
static java.lang.String |
TXN_CURRENT_FILE |
static java.lang.String |
TXN_CURRENT_LOCK_FILE |
static java.lang.String |
TXN_MERGEINFO_PATH |
static java.lang.String |
TXN_PATH_EXT |
static java.lang.String |
TXN_PATH_EXT_CHILDREN |
static java.lang.String |
TXN_PATH_EXT_PROPS |
static java.lang.String |
TXN_PATH_REV |
static java.lang.String |
UUID_FILE |
static java.lang.String |
WRITE_LOCK_FILE |
| Constructor and Description |
|---|
FSFS(java.io.File repositoryRoot) |
| Modifier and Type | Method and Description |
|---|---|
private byte[] |
applyDeltaFromFSFile(FSFile revisionFile,
int deltaSize,
java.io.InputStream baseStream,
java.lang.StringBuilder outputChecksum) |
void |
changeTransactionProperties(java.lang.String txnId,
SVNProperties txnProperties) |
void |
close() |
SVNProperties |
compoundMetaProperties(long revision) |
void |
createNewTxnNodeRevisionFromRevision(java.lang.String txnID,
FSRevisionNode sourceNode) |
FSRevisionRoot |
createRevisionRoot(long revision) |
FSTransactionRoot |
createTransactionRoot(FSTransactionInfo txn) |
private static long |
decodeUncompressedSize(java.io.InputStream inputStream,
int lengthRecordSize,
int[] outputBytesRead) |
void |
deleteLock(SVNLock lock) |
private boolean |
ensureDirExists(java.io.File dir,
boolean create) |
private void |
ensureRevisionsExists(long revision) |
SVNLock |
fetchLockFromDigestFile(java.io.File digestFile,
java.lang.String repositoryPath,
java.util.Collection children) |
static java.io.File |
findRepositoryRoot(java.io.File path) |
static java.lang.String |
findRepositoryRoot(java.lang.String host,
java.lang.String path) |
protected java.io.File |
getAbsoluteRevisionPath(long revision) |
java.lang.String |
getAndIncrementTxnKey() |
long |
getBlockSize() |
java.io.File |
getConfigFile() |
java.io.File |
getCurrentFile() |
long |
getDatedRevision(java.util.Date date) |
int |
getDBFormat() |
java.io.File |
getDBFormatFile() |
java.io.File |
getDBLocksDir() |
java.io.File |
getDBLogsLockFile() |
java.io.File |
getDBRevsDir() |
java.io.File |
getDBRoot() |
static long |
getDefaultMaxFilesPerDirectory() |
long |
getDeletedRevision(java.lang.String path,
long startRev,
long endRev) |
java.io.File |
getDigestFileFromRepositoryPath(java.lang.String repositoryPath) |
java.lang.String |
getDigestFromRepositoryPath(java.lang.String repositoryPath) |
java.util.Map |
getDirContents(FSRevisionNode revNode) |
java.lang.String |
getFSType() |
java.io.File |
getFSTypeFile() |
long |
getL2PPageSize() |
SVNLock |
getLock(java.lang.String repositoryPath,
boolean haveWriteLock,
boolean throwError) |
SVNLock |
getLockHelper(java.lang.String repositoryPath,
boolean haveWriteLock) |
protected java.io.File |
getManifestFile(long revision) |
long |
getMaxFilesPerDirectory() |
long |
getMinUnpackedRev() |
protected java.io.File |
getMinUnpackedRevFile() |
long |
getMinUnpackedRevProp() |
java.io.File |
getMinUnpackedRevPropPath() |
java.io.File |
getNewRevisionFile(long newRevision) |
java.io.File |
getNewRevisionPropertiesFile(long newRevision) |
java.io.File |
getNextIDsFile(java.lang.String txnID) |
java.lang.String[] |
getNextRevisionIDs() |
java.lang.String |
getNodeOrigin(java.lang.String nodeID) |
protected java.io.File |
getNodeOriginFile(java.lang.String nodeID) |
java.io.File |
getNodeOriginsDir() |
private SVNProperties |
getNodeOriginsFromFile(java.lang.String nodeID) |
long |
getP2LPageSize() |
protected java.io.File |
getPackDir(long revision) |
long |
getPackedBaseRevision(long revision) |
protected long |
getPackedOffset(long revision) |
protected java.io.File |
getPackedRevPath(long revision,
java.lang.String kind) |
private java.io.File |
getPackedRevPropFile(long revision) |
protected java.io.File |
getPackedRevPropsShardPath(long revision) |
protected java.io.File |
getPackFile(long revision) |
protected FSFile |
getPackOrRevisionFSFile(long revision) |
SVNLocationEntry |
getPreviousLocation(java.lang.String path,
long revision,
long[] appearedRevision) |
SVNProperties |
getProperties(FSRevisionNode revNode) |
int |
getReposFormat() |
java.io.File |
getRepositoryCacheFile() |
IFSRepresentationCacheManager |
getRepositoryCacheManager() |
java.io.File |
getRepositoryFormatFile() |
java.io.File |
getRepositoryRoot() |
protected java.io.File |
getRevisionFile(long revision) |
protected FSFile |
getRevisionFSFile(long revision) |
FSRevisionNode |
getRevisionNode(FSID id) |
SVNProperties |
getRevisionProperties(long revision) |
java.io.File |
getRevisionPropertiesDbPath() |
java.io.File |
getRevisionPropertiesFile(long revision,
boolean returnMissing) |
java.io.File |
getRevisionPropertiesRoot() |
private java.util.Date |
getRevisionTime(long revision) |
protected long |
getRevPropPackSize() |
protected FSFile |
getTransactionChangesFile(java.lang.String txnID) |
protected java.io.File |
getTransactionCurrentFile() |
protected java.io.File |
getTransactionCurrentLockFile() |
java.io.File |
getTransactionDir(java.lang.String txnID) |
SVNProperties |
getTransactionProperties(java.lang.String txnID) |
java.io.File |
getTransactionPropertiesFile(java.lang.String txnID) |
java.io.File |
getTransactionProtoRevFile(java.lang.String txnID) |
java.io.File |
getTransactionProtoRevLockFile(java.lang.String txnID) |
java.io.File |
getTransactionProtoRevsDir() |
protected FSFile |
getTransactionRevisionNodeChildrenFile(FSID txnID) |
protected FSFile |
getTransactionRevisionNodePropertiesFile(FSID id) |
protected FSFile |
getTransactionRevisionPrototypeFile(java.lang.String txnID) |
java.io.File |
getTransactionRevNodeFile(FSID id) |
java.io.File |
getTransactionsParentDir() |
java.lang.String |
getUUID() |
java.io.File |
getUUIDFile() |
java.io.File |
getWriteLockFile() |
long |
getYoungestRevision() |
boolean |
isCompressPackedRevprops() |
boolean |
isHooksEnabled() |
boolean |
isPackedRevision(long revision) |
private boolean |
isPackedRevisionProperties(long revision) |
private static boolean |
isRepositoryRoot(java.io.File candidatePath) |
boolean |
isRepSharingAllowed() |
boolean |
isUseLogAddressing() |
java.util.Map |
listTransactions() |
private SVNConfigFile |
loadConfig() |
private SVNLock |
lock(java.lang.String path,
java.lang.String token,
java.lang.String username,
java.lang.String comment,
java.util.Date expirationDate,
long currentRevision,
boolean stealLock,
boolean isDAVComment) |
SVNLock |
lockPath(java.lang.String path,
java.lang.String token,
java.lang.String username,
java.lang.String comment,
java.util.Date expirationDate,
long currentRevision,
boolean stealLock,
boolean isDAVComment) |
protected long |
lookupOffsetInIndex(FSFile file,
long revision,
long itemIndex) |
protected long |
lookupOffsetInProtoIndex(FSFile file,
java.lang.String txnId,
long itemIndex) |
void |
open() |
FSFile |
openAndSeekRepresentation(FSRepresentation rep) |
private FSFile |
openAndSeekRevision(long revision,
long itemIndex) |
private FSFile |
openAndSeekTransaction(FSRepresentation rep) |
void |
openDB() |
void |
openForRecovery() |
void |
openRoot() |
FSTransactionInfo |
openTxn(java.lang.String txnName) |
private java.util.Map |
parsePlainRepresentation(SVNProperties entries,
boolean mayContainNulls) |
private SVNProperties |
parseProperties(FSRepresentation txtRep) |
private byte[] |
parseRawDeltaProperties(FSRepresentation txtRep,
java.lang.StringBuilder outputChecksum) |
private FSEntry |
parseRepEntryValue(java.lang.String name,
java.lang.String value) |
void |
purgeTxn(java.lang.String txnID) |
void |
putTxnRevisionNode(FSID id,
FSRevisionNode revNode) |
int |
readDBFormat() |
private static long |
readNumber(java.io.BufferedReader reader) |
private static long |
readNumber(java.io.InputStream inputStream) |
void |
readOptions(FSFile formatFile,
int formatNumber) |
private SVNProperties |
readPackedRevisionProperties(long revision) |
private static SVNProperties |
readProperties(byte[] propsData) |
private SVNProperties |
readRevisionProperties(long revision) |
static void |
setDefaultMaxFilesPerDirectory(long maxFilesPerDirectory) |
void |
setHooksEnabled(boolean enabled) |
private void |
setLock(SVNLock lock,
boolean isDAVComment) |
void |
setNodeOrigin(java.lang.String nodeID,
FSID nodeRevisionID) |
void |
setRevisionProperty(long revision,
java.lang.String propertyName,
SVNPropertyValue propertyValue) |
void |
setTransactionProperty(java.lang.String txnID,
java.lang.String name,
SVNPropertyValue propertyValue) |
void |
setUUID(java.lang.String uuid) |
void |
setYoungestRevisionCache(long revision) |
boolean |
supportsMergeInfo() |
private void |
unlock(java.lang.String path,
java.lang.String token,
java.lang.String username,
boolean breakLock) |
void |
unlockPath(java.lang.String path,
java.lang.String token,
java.lang.String username,
boolean breakLock,
boolean enableHooks) |
void |
updateMinUnpackedRevProp() |
void |
upgrade() |
private void |
verifyBlockSize(long blockSize,
long itemSize,
java.lang.String name) |
void |
walkDigestFiles(java.io.File digestFile,
ISVNLockHandler getLocksHandler,
boolean haveWriteLock) |
protected void |
writeCurrentFile(long revision,
java.lang.String nextNodeID,
java.lang.String nextCopyID) |
void |
writeDBFormat(int format,
long maxFilesPerDir,
boolean overwrite) |
private void |
writeDigestLockFile(SVNLock lock,
java.util.Collection children,
java.lang.String repositoryPath,
boolean isDAVComment) |
void |
writeNextIDs(java.lang.String txnID,
java.lang.String nodeID,
java.lang.String copyID) |
void |
writeTxnNodeRevision(java.io.OutputStream revNodeFile,
FSRevisionNode revNode) |
public static final java.lang.String DB_DIR
public static final java.lang.String REVS_DIR
public static final java.lang.String REPOS_FORMAT_FILE
public static final java.lang.String DB_FORMAT_FILE
public static final java.lang.String DB_LOGS_LOCK_FILE
public static final java.lang.String DB_LOCK_FILE
public static final java.lang.String CURRENT_FILE
public static final java.lang.String UUID_FILE
public static final java.lang.String FS_TYPE_FILE
public static final java.lang.String TXN_CURRENT_FILE
public static final java.lang.String MIN_UNPACKED_REV_FILE
public static final java.lang.String TXN_CURRENT_LOCK_FILE
public static final java.lang.String REVISION_PROPERTIES_DIR
public static final java.lang.String WRITE_LOCK_FILE
public static final java.lang.String LOCKS_DIR
public static final java.lang.String DAV_DIR
public static final java.lang.String TRANSACTIONS_DIR
public static final java.lang.String TRANSACTION_PROTOS_DIR
public static final java.lang.String NODE_ORIGINS_DIR
public static final java.lang.String MANIFEST_FILE
public static final java.lang.String REP_CACHE_DB
public static final java.lang.String PACK_EXT
public static final java.lang.String PACK_KIND_PACK
public static final java.lang.String PACK_KIND_MANIFEST
public static final java.lang.String ENABLE_REP_SHARING_OPTION
public static final java.lang.String REP_SHARING_SECTION
public static final java.lang.String PACKED_REVPROPS_SECTION
public static final java.lang.String COMPRESS_PACKED_REVPROPS_OPTION
public static final java.lang.String REVPROP_PACK_SIZE_OPTION
public static final java.lang.String IO_SECTION
public static final java.lang.String BLOCK_SIZE_OPTION
public static final java.lang.String L2P_PAGE_SIZE_OPTION
public static final java.lang.String P2L_PAGE_SIZE_OPTION
public static final java.lang.String PATH_CONFIG
public static final java.lang.String TXN_PATH_EXT
public static final java.lang.String TXN_MERGEINFO_PATH
public static final java.lang.String TXN_PATH_EXT_CHILDREN
public static final java.lang.String PATH_PREFIX_NODE
public static final java.lang.String TXN_PATH_EXT_PROPS
public static final java.lang.String SVN_OPAQUE_LOCK_TOKEN
public static final java.lang.String TXN_PATH_REV
public static final java.lang.String PATH_LOCK_KEY
public static final java.lang.String CHILDREN_LOCK_KEY
public static final java.lang.String TOKEN_LOCK_KEY
public static final java.lang.String OWNER_LOCK_KEY
public static final java.lang.String IS_DAV_COMMENT_LOCK_KEY
public static final java.lang.String CREATION_DATE_LOCK_KEY
public static final java.lang.String EXPIRATION_DATE_LOCK_KEY
public static final java.lang.String COMMENT_LOCK_KEY
public static final java.lang.String PRE_12_COMPAT_UNNEEDED_FILE_CONTENTS
public static final int DIGEST_SUBDIR_LEN
public static final int REPOSITORY_FORMAT
public static final int REPOSITORY_FORMAT_LEGACY
public static final int DB_FORMAT_PRE_17
public static final int DB_FORMAT
public static final int DB_FORMAT_LOW
public static final int MIN_SVNDIFF1_FORMAT
public static final int LAYOUT_FORMAT_OPTION_MINIMAL_FORMAT
public static final int MIN_CURRENT_TXN_FORMAT
public static final int MIN_PROTOREVS_DIR_FORMAT
public static final int MIN_NO_GLOBAL_IDS_FORMAT
public static final int MIN_MERGE_INFO_FORMAT
public static final int MIN_REP_SHARING_FORMAT
public static final int MIN_PACKED_FORMAT
public static final int MIN_KIND_IN_CHANGED_FORMAT
public static final int MIN_PACKED_REVPROP_SQLITE_DEV_FORMAT
public static final int MIN_PACKED_REVPROP_FORMAT
public static final int MIN_LOG_ADDRESSING_MINIMAL_FORMAT
public static final int MIN_MERGEINFO_IN_CHANGED_FORMAT
private static long DEFAULT_MAX_FILES_PER_DIRECTORY
private static final java.lang.String DB_TYPE
public static final java.lang.String REVISION_PROPERTIES_DB
public static final java.lang.String REVISION_PROPERTIES_TABLE
public static final java.lang.String MIN_UNPACKED_REV
public static final boolean DB_FORMAT_PRE_17_USE_AS_DEFAULT
private int myDBFormat
private int myReposFormat
private java.lang.String myUUID
private java.lang.String myFSType
private java.io.File myRepositoryRoot
private java.io.File myRevisionsRoot
private java.io.File myRevisionPropertiesRoot
private java.io.File myTransactionsRoot
private java.io.File myLocksRoot
private java.io.File myDBRoot
private java.io.File myWriteLockFile
private java.io.File myCurrentFile
private java.io.File myTransactionCurrentFile
private java.io.File myTransactionCurrentLockFile
private java.io.File myTransactionProtoRevsRoot
private java.io.File myNodeOriginsDir
private java.io.File myRepositoryFormatFile
private java.io.File myDBFormatFile
private java.io.File myUUIDFile
private java.io.File myFSTypeFile
private java.io.File myMinUnpackedRevFile
private java.io.File myRepositoryCacheFile
private long myMaxFilesPerDirectory
private long myYoungestRevisionCache
private long myMinUnpackedRevision
private boolean myUseLogAddressing
private SVNConfigFile myConfig
private IFSRepresentationCacheManager myReposCacheManager
private long myMinUnpackedRevProp
private boolean myIsHooksEnabled
private boolean myCompressPackedRevprops
private boolean myIsRepSharingAllowed
private long myRevpropPackSize
private long myBlockSize
private long myL2PPageSize
private long myP2LPageSize
public void setHooksEnabled(boolean enabled)
public boolean isHooksEnabled()
public int getDBFormat()
public long getMaxFilesPerDirectory()
public int getReposFormat()
public boolean isUseLogAddressing()
public void open()
throws SVNException
SVNExceptionpublic void close()
throws SVNException
SVNExceptionpublic void openForRecovery()
throws SVNException
SVNExceptionpublic void openRoot()
throws SVNException
SVNExceptionpublic void openDB()
throws SVNException
SVNExceptionprivate void verifyBlockSize(long blockSize,
long itemSize,
java.lang.String name)
throws SVNException
SVNExceptionpublic java.lang.String getFSType()
throws SVNException
SVNExceptionpublic int readDBFormat()
throws SVNException
SVNExceptionpublic java.lang.String getUUID()
throws SVNException
SVNExceptionpublic java.io.File getDBRoot()
public java.io.File getWriteLockFile()
public java.io.File getUUIDFile()
public java.io.File getDBRevsDir()
public java.io.File getDBLocksDir()
public java.io.File getFSTypeFile()
public java.io.File getTransactionsParentDir()
public java.io.File getRepositoryRoot()
public java.io.File getRevisionPropertiesRoot()
public java.io.File getRepositoryFormatFile()
public java.io.File getDBFormatFile()
public java.io.File getNodeOriginsDir()
public java.io.File getCurrentFile()
public java.io.File getRepositoryCacheFile()
public java.io.File getDBLogsLockFile()
throws SVNException
SVNExceptionpublic long getDatedRevision(java.util.Date date)
throws SVNException
SVNExceptionpublic long getYoungestRevision()
throws SVNException
SVNExceptionpublic long getMinUnpackedRev()
throws SVNException
SVNExceptionpublic void upgrade()
throws SVNException
SVNExceptionpublic void writeDBFormat(int format,
long maxFilesPerDir,
boolean overwrite)
throws SVNException
SVNExceptionpublic SVNProperties getRevisionProperties(long revision) throws SVNException
SVNExceptionprivate SVNProperties readRevisionProperties(long revision) throws SVNException
SVNExceptionprivate SVNProperties readPackedRevisionProperties(long revision) throws SVNException
SVNExceptionprivate java.io.File getPackedRevPropFile(long revision)
throws SVNException
SVNExceptionprivate static long decodeUncompressedSize(java.io.InputStream inputStream,
int lengthRecordSize,
int[] outputBytesRead)
throws SVNException
SVNExceptionprivate static SVNProperties readProperties(byte[] propsData) throws SVNException
SVNExceptionprivate static long readNumber(java.io.BufferedReader reader)
throws SVNException,
java.io.IOException
SVNExceptionjava.io.IOExceptionprivate static long readNumber(java.io.InputStream inputStream)
throws SVNException
SVNExceptionprivate boolean isPackedRevisionProperties(long revision)
public FSRevisionRoot createRevisionRoot(long revision) throws SVNException
SVNExceptionpublic FSTransactionRoot createTransactionRoot(FSTransactionInfo txn) throws SVNException
SVNExceptionpublic FSTransactionInfo openTxn(java.lang.String txnName) throws SVNException
SVNExceptionpublic FSRevisionNode getRevisionNode(FSID id) throws SVNException
SVNExceptionpublic java.util.Map getDirContents(FSRevisionNode revNode) throws SVNException
SVNExceptionprivate byte[] parseRawDeltaProperties(FSRepresentation txtRep, java.lang.StringBuilder outputChecksum) throws SVNException
SVNExceptionprivate byte[] applyDeltaFromFSFile(FSFile revisionFile, int deltaSize, java.io.InputStream baseStream, java.lang.StringBuilder outputChecksum) throws java.io.IOException, SVNException
java.io.IOExceptionSVNExceptionprivate SVNProperties parseProperties(FSRepresentation txtRep) throws SVNException
SVNExceptionpublic SVNProperties getProperties(FSRevisionNode revNode) throws SVNException
SVNExceptionpublic java.lang.String[] getNextRevisionIDs()
throws SVNException
SVNExceptionpublic java.lang.String getAndIncrementTxnKey()
throws SVNException
SVNExceptionpublic java.util.Map listTransactions()
public java.io.File getNewRevisionFile(long newRevision)
public java.io.File getNewRevisionPropertiesFile(long newRevision)
public java.io.File getTransactionDir(java.lang.String txnID)
public void setYoungestRevisionCache(long revision)
public void setUUID(java.lang.String uuid)
throws SVNException
SVNExceptionpublic java.io.File getRevisionPropertiesFile(long revision,
boolean returnMissing)
throws SVNException
SVNExceptionpublic FSFile openAndSeekRepresentation(FSRepresentation rep) throws SVNException
SVNExceptionpublic java.io.File getNextIDsFile(java.lang.String txnID)
public void writeNextIDs(java.lang.String txnID,
java.lang.String nodeID,
java.lang.String copyID)
throws SVNException
SVNExceptionpublic void changeTransactionProperties(java.lang.String txnId,
SVNProperties txnProperties)
throws SVNException
SVNExceptionpublic void setTransactionProperty(java.lang.String txnID,
java.lang.String name,
SVNPropertyValue propertyValue)
throws SVNException
SVNExceptionpublic void setRevisionProperty(long revision,
java.lang.String propertyName,
SVNPropertyValue propertyValue)
throws SVNException
SVNExceptionprotected long getRevPropPackSize()
public boolean isRepSharingAllowed()
public long getBlockSize()
public long getL2PPageSize()
public long getP2LPageSize()
public SVNProperties getTransactionProperties(java.lang.String txnID) throws SVNException
SVNExceptionpublic java.io.File getTransactionPropertiesFile(java.lang.String txnID)
public java.io.File getTransactionProtoRevsDir()
public java.io.File getTransactionProtoRevFile(java.lang.String txnID)
public java.io.File getTransactionProtoRevLockFile(java.lang.String txnID)
public void purgeTxn(java.lang.String txnID)
throws SVNException
SVNExceptionpublic void createNewTxnNodeRevisionFromRevision(java.lang.String txnID,
FSRevisionNode sourceNode)
throws SVNException
SVNExceptionpublic void putTxnRevisionNode(FSID id, FSRevisionNode revNode) throws SVNException
SVNExceptionpublic java.io.File getTransactionRevNodeFile(FSID id)
public void writeTxnNodeRevision(java.io.OutputStream revNodeFile,
FSRevisionNode revNode)
throws java.io.IOException
java.io.IOExceptionpublic SVNLock getLock(java.lang.String repositoryPath, boolean haveWriteLock, boolean throwError) throws SVNException
SVNExceptionpublic void deleteLock(SVNLock lock) throws SVNException
SVNExceptionpublic void walkDigestFiles(java.io.File digestFile,
ISVNLockHandler getLocksHandler,
boolean haveWriteLock)
throws SVNException
SVNExceptionpublic SVNLock getLockHelper(java.lang.String repositoryPath, boolean haveWriteLock) throws SVNException
SVNExceptionpublic SVNLock fetchLockFromDigestFile(java.io.File digestFile, java.lang.String repositoryPath, java.util.Collection children) throws SVNException
SVNExceptionpublic java.io.File getDigestFileFromRepositoryPath(java.lang.String repositoryPath)
throws SVNException
SVNExceptionpublic java.lang.String getDigestFromRepositoryPath(java.lang.String repositoryPath)
throws SVNException
SVNExceptionpublic void unlockPath(java.lang.String path,
java.lang.String token,
java.lang.String username,
boolean breakLock,
boolean enableHooks)
throws SVNException
SVNExceptionpublic SVNLock lockPath(java.lang.String path, java.lang.String token, java.lang.String username, java.lang.String comment, java.util.Date expirationDate, long currentRevision, boolean stealLock, boolean isDAVComment) throws SVNException
SVNExceptionpublic SVNProperties compoundMetaProperties(long revision) throws SVNException
SVNExceptionpublic long getDeletedRevision(java.lang.String path,
long startRev,
long endRev)
throws SVNException
SVNExceptionpublic SVNLocationEntry getPreviousLocation(java.lang.String path, long revision, long[] appearedRevision) throws SVNException
SVNExceptionpublic java.lang.String getNodeOrigin(java.lang.String nodeID)
throws SVNException
SVNExceptionpublic void setNodeOrigin(java.lang.String nodeID,
FSID nodeRevisionID)
throws SVNException
SVNExceptionpublic boolean supportsMergeInfo()
public void readOptions(FSFile formatFile, int formatNumber) throws SVNException
SVNExceptionpublic IFSRepresentationCacheManager getRepositoryCacheManager()
public static java.io.File findRepositoryRoot(java.io.File path)
public static java.lang.String findRepositoryRoot(java.lang.String host,
java.lang.String path)
public static long getDefaultMaxFilesPerDirectory()
public static void setDefaultMaxFilesPerDirectory(long maxFilesPerDirectory)
public boolean isPackedRevision(long revision)
public long getPackedBaseRevision(long revision)
protected java.io.File getNodeOriginFile(java.lang.String nodeID)
protected FSFile getTransactionRevisionPrototypeFile(java.lang.String txnID)
protected FSFile getTransactionChangesFile(java.lang.String txnID)
protected FSFile getTransactionRevisionNodeChildrenFile(FSID txnID)
protected FSFile getRevisionFSFile(long revision) throws SVNException
SVNExceptionprotected FSFile getPackOrRevisionFSFile(long revision) throws SVNException
SVNExceptionprotected java.io.File getAbsoluteRevisionPath(long revision)
throws SVNException
SVNExceptionprotected FSFile getTransactionRevisionNodePropertiesFile(FSID id)
protected java.io.File getPackedRevPath(long revision,
java.lang.String kind)
throws SVNException
SVNExceptionprotected java.io.File getPackedRevPropsShardPath(long revision)
throws SVNException
SVNExceptionprotected java.io.File getPackDir(long revision)
protected java.io.File getPackFile(long revision)
protected java.io.File getManifestFile(long revision)
protected java.io.File getRevisionFile(long revision)
throws SVNException
SVNExceptionprotected java.io.File getMinUnpackedRevFile()
protected java.io.File getTransactionCurrentFile()
protected java.io.File getTransactionCurrentLockFile()
public java.io.File getConfigFile()
protected void writeCurrentFile(long revision,
java.lang.String nextNodeID,
java.lang.String nextCopyID)
throws SVNException,
java.io.IOException
SVNExceptionjava.io.IOExceptionprotected long getPackedOffset(long revision)
throws SVNException
SVNExceptionprivate SVNConfigFile loadConfig()
private void ensureRevisionsExists(long revision)
throws SVNException
SVNExceptionprivate SVNProperties getNodeOriginsFromFile(java.lang.String nodeID) throws SVNException
SVNExceptionprivate void unlock(java.lang.String path,
java.lang.String token,
java.lang.String username,
boolean breakLock)
throws SVNException
SVNExceptionprivate SVNLock lock(java.lang.String path, java.lang.String token, java.lang.String username, java.lang.String comment, java.util.Date expirationDate, long currentRevision, boolean stealLock, boolean isDAVComment) throws SVNException
SVNExceptionprivate void setLock(SVNLock lock, boolean isDAVComment) throws SVNException
SVNExceptionprivate boolean ensureDirExists(java.io.File dir,
boolean create)
private void writeDigestLockFile(SVNLock lock, java.util.Collection children, java.lang.String repositoryPath, boolean isDAVComment) throws SVNException
SVNExceptionprivate FSFile openAndSeekTransaction(FSRepresentation rep) throws SVNException
SVNExceptionprivate FSFile openAndSeekRevision(long revision, long itemIndex) throws SVNException
SVNExceptionprotected long lookupOffsetInIndex(FSFile file, long revision, long itemIndex) throws SVNException
SVNExceptionprotected long lookupOffsetInProtoIndex(FSFile file, java.lang.String txnId, long itemIndex) throws SVNException
SVNExceptionprivate java.util.Map parsePlainRepresentation(SVNProperties entries, boolean mayContainNulls) throws SVNException
SVNExceptionprivate FSEntry parseRepEntryValue(java.lang.String name, java.lang.String value)
private java.util.Date getRevisionTime(long revision)
throws SVNException
SVNExceptionprivate static boolean isRepositoryRoot(java.io.File candidatePath)
public java.io.File getRevisionPropertiesDbPath()
public java.io.File getMinUnpackedRevPropPath()
public void updateMinUnpackedRevProp()
throws SVNException
SVNExceptionpublic long getMinUnpackedRevProp()
throws SVNException
SVNExceptionpublic boolean isCompressPackedRevprops()