# Package org.eclipse.jgit.lib

Core API for repository, config, refs, object database.

See: Description

Interface Summary
AsyncObjectLoaderQueue<T extends ObjectId>: Queue to open objects asynchronously.
AsyncObjectSizeQueue<T extends ObjectId>: Queue to examine object sizes asynchronously.
AsyncOperation: Asynchronous operation handle.
BitmapIndex: A compressed bitmap representation of the entire object graph.
BitmapIndex.Bitmap: A bitmap representation of ObjectIds that can be iterated to return the underlying `ObjectId`s or operated on with other `Bitmap`s.
BitmapIndex.BitmapBuilder: A builder for a bitmap.
CheckoutEntry: Parsed information about a checkout.
Config.ConfigEnum: Converts enumeration values into configuration options and vice-versa, allowing to match a config option with an enum value.
Config.SectionParser<T>: Parses a section of the configuration into an application model object.
IndexDiff.WorkingTreeIteratorFactory: A factory to producing WorkingTreeIterators
ProgressMonitor: A progress reporting interface.
Ref: Pairing of a name and the `ObjectId` it currently has.
ReflogEntry: Parsed reflog entry
ReflogReader: Utility for reading reflog entries
RepositoryCache.Key: Abstract hash key for `RepositoryCache` entries.

Class Summary
AbbreviatedObjectId: A prefix abbreviation of an `ObjectId`.
AnyObjectId: A (possibly mutable) SHA-1 abstraction.
BaseRepositoryBuilder<B extends BaseRepositoryBuilder,R extends Repository>: Base builder to customize repository construction.
BatchingProgressMonitor: ProgressMonitor that batches update events.
BatchRefUpdate: Batch of reference updates to be applied to a repository.
BitmapObject: Base object type accessed during bitmap expansion.
BlobBasedConfig: Configuration file based on the blobs stored in the repository.
BranchConfig: Branch section of a Git configuration file.
BranchTrackingStatus: Status of a branch's relation to its remote-tracking branch.
CommitBuilder: Mutable builder to construct a commit recording the state of a project.
Config: Git style `.config`, `.gitconfig`, `.gitmodules` file.
ConfigConstants: Constants for use with the Configuration classes: section names, configuration keys
Constants: Misc.
CoreConfig: This class keeps git repository core parameters.
EmptyProgressMonitor: A convenient base class which provides empty method bodies for all ProgressMonitor methods.
FileMode: Constants describing various file modes recognized by GIT.
FileTreeEntry: Deprecated To look up information about a single path, use `TreeWalk.forPath(Repository, String, org.eclipse.jgit.revwalk.RevTree)`.
GitlinkTreeEntry: Deprecated To look up information about a single path, use `TreeWalk.forPath(Repository, String, org.eclipse.jgit.revwalk.RevTree)`.
IndexDiff: Compares the index, a tree, and the working directory Ignored files are not taken into account.
InflaterCache: Creates zlib based inflaters as necessary for object decompression.
MutableObjectId: A mutable SHA-1 abstraction.
NullProgressMonitor: A NullProgressMonitor does not report progress anywhere.
ObjectChecker: Verifies that an object is formatted correctly.
ObjectDatabase: Abstraction of arbitrary object storage.
ObjectId: A SHA-1 abstraction.
ObjectIdOwnerMap<V extends ObjectIdOwnerMap.Entry>: Fast, efficient map for `ObjectId` subclasses in only one map.
ObjectIdOwnerMap.Entry: Type of entry stored in the `ObjectIdOwnerMap`.
ObjectIdRef: A `Ref` that points directly at an `ObjectId`.
ObjectIdRef.PeeledNonTag: A reference to a non-tag object coming from a cached source.
ObjectIdRef.PeeledTag: An annotated tag whose peeled object has been cached.
ObjectIdRef.Unpeeled: Any reference whose peeled value is not yet known.
ObjectIdSubclassMap<V extends ObjectId>: Fast, efficient map specifically for `ObjectId` subclasses.
ObjectInserter: Inserts objects into an existing `ObjectDatabase`.
ObjectInserter.Filter: Wraps a delegate ObjectInserter.
ObjectInserter.Formatter: An inserter that can be used for formatting and id generation only.
ObjectLoader: Base class for a set of loaders for different representations of Git objects.
ObjectLoader.SmallObject: Simple loader around the cached byte array.
ObjectReader: Reads an `ObjectDatabase` for a single thread.
ObjectStream: Stream of data coming from an object loaded by `ObjectLoader`.
ObjectStream.Filter: Simple filter stream around another stream.
ObjectStream.SmallStream: Simple stream around the cached byte array created by a loader.
PersonIdent: A combination of a person identity and time in Git.
RebaseTodoFile: Offers methods to read and write files formatted like the git-rebase-todo file
RebaseTodoLine: Describes a single line in a file formatted like the git-rebase-todo file.
RefComparator: Util for sorting (or comparing) Ref instances by name.
RefDatabase: Abstraction of name to `ObjectId` mapping.
RefRename: A RefUpdate combination for renaming a reference.
RefUpdate: Creates, updates or deletes any reference.
RefWriter: Writes out refs to the `Constants.INFO_REFS` and `Constants.PACKED_REFS` files.
Repository: Represents a Git repository.
RepositoryBuilder: Base class to support constructing a `Repository`.
RepositoryCache: Cache of active `Repository` instances.
RepositoryCache.FileKey: Location of a Repository, using the standard java.io.File API.
StoredConfig: Persistent configuration that can be stored and loaded from a location.
SymbolicRef: A reference that indirectly points at another `Ref`.
SymlinkTreeEntry: Deprecated To look up information about a single path, use `TreeWalk.forPath(Repository, String, org.eclipse.jgit.revwalk.RevTree)`.
TagBuilder: Mutable builder to construct an annotated tag recording a project state.
TextProgressMonitor: A simple progress reporter printing on a stream.
ThreadSafeProgressMonitor: Wrapper around the general `ProgressMonitor` to make it thread safe.
Tree: Deprecated To look up information about a single path, use `TreeWalk.forPath(Repository, String, org.eclipse.jgit.revwalk.RevTree)`.
TreeEntry: Deprecated To look up information about a single path, use `TreeWalk.forPath(Repository, String, org.eclipse.jgit.revwalk.RevTree)`.
TreeFormatter: Mutable formatter to construct a single tree object.
UserConfig: The standard "user" configuration parameters.

Enum Summary
CoreConfig.AutoCRLF: Permissible values for `core.autocrlf`.
CoreConfig.CheckStat: Permissible values for `core.checkstat`
CoreConfig.HideDotFiles: Options for hiding files whose names start with a period
CoreConfig.SymLinks: Options for symlink handling
IndexDiff.StageState: Represents the state of the index for a certain path regarding the stages - which stages exist for a path and which not (base, ours, theirs).
RebaseTodoLine.Action: Describes rebase actions
Ref.Storage: Location where a `Ref` is stored.
RefUpdate.Result: Status of an update request.
RepositoryState: Important state of the repository that affects what can and cannot bed done.

## Package org.eclipse.jgit.lib Description

Core API for repository, config, refs, object database.