C# (CSharp) GitSharp.Core Namespace

Nested Namespaces

GitSharp.Core.Diff
GitSharp.Core.DirectoryCache
GitSharp.Core.Exceptions
GitSharp.Core.FnMatch
GitSharp.Core.Merge
GitSharp.Core.Patch
GitSharp.Core.RevPlot
GitSharp.Core.RevWalk
GitSharp.Core.Tests
GitSharp.Core.Transport
GitSharp.Core.TreeWalk
GitSharp.Core.Util

Classes

Name Description
AbbreviatedObjectId
AbstractIndexTreeVisitor
AlternateRepositoryDatabase
BinaryDelta Recreate a stream from a base stream and a GIT pack delta. This entire class is heavily cribbed from patch-delta.c in the GIT project. The original delta patching code was written by Nicolas Pitre (<[email protected]>).
BlobBasedConfig The configuration file based on the blobs stored in the repository.
ByteArrayExtensions
ByteArrayExtensions.ParsedLine
ByteArrayWindow A ByteWindow with an underlying byte array for storage.
ByteBufferWindow A window for accessing git packs using a Stream for storage.
Codec
Commit Instances of this class represent a Commit object. It represents a snapshot in a Git repository, who created it and when.
ConsoleUserInfoProvider
Constants
Constants.ObjectTypes
DeltaOfsPackedObjectLoader
DeltaPackedObjectLoader Reader for a deltified object Stored in a pack file.
DeltaRefPackedObjectLoader Reads a deltified object which uses an ObjectId to find its base.
FileBasedConfig
FileTreeEntry
ForceModified
FormUserInfoProvider
GitLinkTreeEntry
IgnoreHandler
IgnoreHandler.FnMatchPattern
IgnoreHandler.NegatedPattern
IndexDiff
IndexTreeWalker
LockFile Git style file locking and replacement. To modify a ref file Git tries to use an atomic update approach: we write the new data into a brand new file, then rename it in place over the old name. This way we can just delete the temporary file if anything goes wrong, and nothing has been damaged. To coordinate access from multiple processes at once Git tries to atomically create the new temporary file under a well-known name.
LockFile.FileLock Wraps a FileStream and tracks its locking status
LockFile.LockFileOutputStream
MutableObjectId
NullProgressMonitor
ObjectChecker Verifies that an object is formatted correctly. Verifications made by this class only check that the fields of an object are formatted correctly. The ObjectId checksum of the object is not verified, and connectivity links between objects are also not verified. Its assumed that the caller can provide both of these validations on its own. Instances of this class are not thread safe, but they may be reused to perform multiple object validations.
ObjectDatabase Abstraction of arbitrary object storage. An object database stores one or more Git objects, indexed by their unique ObjectId. Optionally an object database can reference one or more alternates; other ObjectDatabase instances that are searched in addition to the current database. Databases are usually divided into two halves: a half that is considered to be fast to search, and a half that is considered to be slow to search. When alternates are present the fast half is fully searched (recursively through all alternates) before the slow half is considered.
ObjectDirectory Traditional file system based ObjectDatabase. This is the classical object database representation for a Git repository, where objects are stored loose by hashing them into directories by their ObjectId, or are stored in compressed containers known as PackFiles.
ObjectDirectory.PackList
ObjectDirectory.PackList.LongWrapper
ObjectId
ObjectWriter
PackIndexV1
PackIndexV1.IndexV1Enumerator
PackIndexV2 Support for the pack index v2 format.
PackIndexV2.EntriesEnumeratorV2
PackLock Keeps track of a PackFile associated .keep file.
PersonIdent
ProgressMonitor
PromptForm
Ref Pairing of a name and the ObjectId it currently has. A ref in Git is (more or less) a variable that holds a single object identifier. The object identifier can be any valid Git object (blob, tree, commit, annotated tag, ...). The ref name has the attributes of the ref that was asked for as well as the ref it was resolved to for symbolic refs plus the object id it points to and (for tags) the peeled target object id, i.e. the tag resolved recursively until a non-tag object is referenced.
Ref.Storage Location where a Ref is Stored.
RefDatabase
RefDatabase.CachedRef
RefDatabase.ExtendedRefWriter
RefLogWriter Utility class to work with reflog files
RefUpdate
RefUpdate.DeleteStore
RefUpdate.StoreBase
RefUpdate.UpdateStore
RefWriter Writes out refs to the Constants.INFO_REFS and Constants.PACKED_REFS files. This class is abstract as the writing of the files must be handled by the caller. This is because it is used by transport classes as well.
ReflogReader Utility for reading reflog entries.
ReflogReader.Entry
Repository Represents a Git repository. A repository holds all objects and refs used for managing source code (could by any type of file, but source code is what SCM's are typically used for). In Git terms all data is stored in GIT_DIR, typically a directory called .git. A work tree is maintained unless the repository is a bare repository. Typically the .git directory is located at the root of the work dir.
  • GIT_DIR
    • objects/ - objects
    • refs/ - tags and heads
    • config - configuration
    • info/ - more configurations
This class is thread-safe. This implementation only handles a subtly undocumented subset of git features.
RepositoryCache
RepositoryCache.FileKey
RepositoryChangedEventArgs
RepositoryConfig
RepositoryState
SubmoduleConfig
SubmoduleEntry
SystemReader
SystemReader.InternalSystemReader
Tag
Tree A representation of a Git tree entry. A Tree is a directory in Git.
TreeIterator
TreeVisitorWithCurrentDirectory Abstract TreeVisitor for visiting all files known by a Tree.
UnpackedObjectCache
UnpackedObjectCache.Entry
UnpackedObjectCache.Slot
UnpackedObjectLoader Loose object loader. This class loads an object not stored in a pack.
WholePackedObjectLoader Reader for a non-delta (just deflated) object in a pack file.
WorkDirCheckout This class handles checking out one or two trees merging with the index (actually a tree too). Three-way merges are no performed. See FailOnConflict.
WriteTree A tree visitor for writing a directory tree to the git object database. Blob data is fetched from the files, not the cached blobs.