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
public class InMemoryRepository extends DfsRepository
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 Classes Modifier and Type Class Description static class
InMemoryRepository.Builder
Builder for in-memory repositories.static class
InMemoryRepository.MemObjDatabase
DfsObjDatabase used by InMemoryRepository.protected class
InMemoryRepository.MemRefDatabase
DfsRefDatabase used by InMemoryRepository.
-
Constructor Summary
Constructors Constructor Description InMemoryRepository(DfsRepositoryDescription repoDesc)
Initialize a new in-memory repository.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
getGitwebDescription()
Read theGIT_DIR/description
file for gitweb.InMemoryRepository.MemObjDatabase
getObjectDatabase()
Get the object database which stores this repository's data.RefDatabase
getRefDatabase()
Get the reference database which stores the reference namespace.void
setGitwebDescription(String d)
Set theGIT_DIR/description
file for gitweb.void
setPerformsAtomicTransactions(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, scanForRepoChanges
-
Methods 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
-
-
-
-
Constructor Detail
-
InMemoryRepository
public InMemoryRepository(DfsRepositoryDescription repoDesc)
Initialize a new in-memory repository.- Parameters:
repoDesc
- description of the repository.
-
-
Method Detail
-
getObjectDatabase
public InMemoryRepository.MemObjDatabase getObjectDatabase()
Get the object database which stores this repository's data.- Specified by:
getObjectDatabase
in classDfsRepository
- Returns:
- the object database which stores this repository's data.
-
getRefDatabase
public RefDatabase getRefDatabase()
Get the reference database which stores the reference namespace.- Specified by:
getRefDatabase
in 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
@Nullable public String getGitwebDescription()
Read theGIT_DIR/description
file for gitweb.- Overrides:
getGitwebDescription
in classRepository
- Returns:
- description text; null if no description has been configured.
-
setGitwebDescription
public void setGitwebDescription(@Nullable String d)
Set theGIT_DIR/description
file for gitweb.- Overrides:
setGitwebDescription
in classRepository
- Parameters:
d
- new description; null to clear the description.
-
-