Class InMemoryRepository
java.lang.Object
org.eclipse.jgit.lib.Repository
org.eclipse.jgit.internal.storage.dfs.DfsRepository
org.eclipse.jgit.internal.storage.dfs.InMemoryRepository
- All Implemented Interfaces:
AutoCloseable
Git repository stored entirely in the local process memory.
This implementation builds on the DFS repository by storing all reference and object data in the local process. It is not very efficient and exists only for unit testing and small experiments.
The repository is thread-safe. Memory used is released only when this object is garbage collected. Closing the repository has no impact on its memory.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classBuilder for in-memory repositories.private static classstatic classDfsObjDatabase used by InMemoryRepository.private static classprotected classDfsRefDatabase used by InMemoryRepository.private static class -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate Stringprivate final InMemoryRepository.MemObjDatabase(package private) static final AtomicIntegerprivate final InMemoryRepository.MemRefDatabase -
Constructor Summary
ConstructorsConstructorDescriptionInMemoryRepository(DfsRepositoryDescription repoDesc) Initialize a new in-memory repository. -
Method Summary
Modifier and TypeMethodDescriptionRead theGIT_DIR/descriptionfile for gitweb.Get the object database which stores this repository's data.Get the reference database which stores the reference namespace.voidSet theGIT_DIR/descriptionfile for gitweb.voidsetPerformsAtomicTransactions(boolean atomic) Enable (or disable) the atomic reference transaction support.Methods inherited from class org.eclipse.jgit.internal.storage.dfs.DfsRepository
create, createAttributesNodeProvider, exists, getConfig, getDescription, getIdentifier, getReflogReader, notifyIndexChanged, scanForRepoChangesMethods inherited from class org.eclipse.jgit.lib.Repository
autoGC, close, create, doClose, exactRef, findRef, fireEvent, getAdditionalHaves, getAllRefs, getAllRefsByPeeledObjectId, getBranch, getDirectory, getFS, getFullBranch, getGlobalListenerList, getIndexFile, getInitialBranch, getListenerList, getRemoteName, getRemoteNames, getRepositoryState, getTags, getWorkTree, hasObject, incrementOpen, isBare, isValidRefName, lockDirCache, newObjectInserter, newObjectReader, normalizeBranchName, open, open, parseCommit, peel, readCherryPickHead, readCommitEditMsg, readDirCache, readMergeCommitMsg, readMergeHeads, readOrigHead, readRebaseTodo, readRevertHead, readSquashCommitMsg, renameRef, resolve, shortenRefName, shortenRemoteBranchName, simplify, stripWorkDir, toString, updateRef, updateRef, writeCherryPickHead, writeCommitEditMsg, writeMergeCommitMsg, writeMergeHeads, writeOrigHead, writeRebaseTodoFile, writeRevertHead, writeSquashCommitMsg
-
Field Details
-
packId
-
objdb
-
refdb
-
gitwebDescription
-
-
Constructor Details
-
InMemoryRepository
Initialize a new in-memory repository.- Parameters:
repoDesc- description of the repository.
-
InMemoryRepository
InMemoryRepository(InMemoryRepository.Builder builder)
-
-
Method Details
-
getObjectDatabase
Get the object database which stores this repository's data.- Specified by:
getObjectDatabasein classDfsRepository- Returns:
- the object database which stores this repository's data.
-
getRefDatabase
Get the reference database which stores the reference namespace.- Specified by:
getRefDatabasein classRepository- Returns:
- the reference database which stores the reference namespace.
-
setPerformsAtomicTransactions
public void setPerformsAtomicTransactions(boolean atomic) Enable (or disable) the atomic reference transaction support.Useful for testing atomic support enabled or disabled.
- Parameters:
atomic- whether to use atomic reference transaction support
-
getGitwebDescription
Read theGIT_DIR/descriptionfile for gitweb.- Overrides:
getGitwebDescriptionin classRepository- Returns:
- description text; null if no description has been configured.
-
setGitwebDescription
Set theGIT_DIR/descriptionfile for gitweb.- Overrides:
setGitwebDescriptionin classRepository- Parameters:
d- new description; null to clear the description.
-