@0      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      Safe-InferredNoneThere is a separate  for each possible failure when ( interacting with the Git repository. 7 is the central point of contact between user code and A Git data objects. Every object must belong to some repository. A  is anything that is treeish. GPerform a query action on a TreeBuilder using the supplied action kind  and user function. FThis is a complex algorithm which has been rewritten many times, so I 3 will try to guide you through it as best I can. EWrite out a tree to its repository. If it has already been written,  nothing will happen. ?Given a list of objects (commit and top-level trees) return by  7, expand it to include all subtrees and blobs as well.  Ordering is preserved. EFast-forward push a reference between repositories using a recursive 8 copy. This can be extremely slow, but always works. ;  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXY !Z[\]^_`abcdefghijklmnopqrstuvwxyz{|}~A commit we may already have The commit we need All the objects in between "#$%&     '()*+,-./0123456789:  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      hlkjiqsr !defg_ba`Z^]\[cp YQVTRWXUSoLPONM  >?@ABCDEFtwvunGHIJK  :;<=m|~}xyz{498765)3210/.-,+*"'#(($%&    !"'#(($%&) 3210/.-,+*498765:;<=>?@ABCDEFGHIJKLPONMQVTRWXUSY !Z^]\[_ba`cdefghlkjimnopqsrtwvuxyz{|~}")"#$%&     '()*+,-./0123456789:;       !"#$%&'()*+,-./01234567789::;<=>?@ABBCDEFGHIJKLMKNOPQRSTUVWXYZ[\]]^_`abcdefghijklmnoppqrstuvwxyz{|}~     R !"#$%&'()*+,-./0 gitlib-1.3.1Git Git.TutorialRepositoryFactoryopenRepository runRepositorycloseRepository getRepositorydefaultOptionsstartupBackendshutdownBackendRepositoryOptionsrepoPath repoIsBarerepoAutoCreate PinnedEntry pinnedOid pinnedCommit pinnedEntry TreeBuildermtbBaseTreeRefmtbPendingUpdates mtbNewBuildermtbWriteContentsmtbLookupEntry mtbEntryCount mtbPutEntry mtbDropEntryModifiedBuilderBuilderUnchangedSHA MergeResultMergeConflicted mergeHeadLeftmergeHeadRightmergeConflicts MergeSuccess mergeCommit MergeStatusBothTypeChangedLeftTypeChangedRightDeletedLeftDeletedRightTypeChangedLeftTypeChangedRightModifiedLeftModifiedRightTypeChanged BothAddedLeftDeletedRightModifiedLeftModifiedRightDeleted BothModified NoConflictModificationKind TypeChangedDeletedAddedModified UnchangedTagtagOid tagCommitCommit commitOid commitParents commitTree commitAuthorcommitCommitter commitLogcommitEncoding Signature signatureNamesignatureEmail signatureWhenModifyTreeResultTreeEntryMutatedTreeEntryPersistentTreeEntryDeletedTreeEntryNotFound TreeEntry CommitEntrycommitEntryOid treeEntryOid BlobEntry blobEntryOid blobEntryKindTreeTBlobKind UnknownBlob SymlinkBlobExecutableBlob PlainBlob BlobContentsBlobSizedStream BlobStream BlobString ByteSourceBlobblobOid blobContentsObjectTagObj CommitObjTreeObjBlobObjTagRef CommitRefTreeRefBlobRefObjRefKnownByOid CommitNameCommitReference CommitRefNameCommitObjectId Reference referenceNamereferenceTarget RefTarget RefSymbolicRefObjTagOid CommitOidTreeOidBlobOid GitExceptionQuotaHardLimitExceededOidParseFailed OidCopyFailedObjectRefRequiresFullOidObjectLookupFailedReferenceLookupFailedReferenceListingFailedRefCannotCreateFromPartialOidReferenceDeleteFailedReferenceCreateFailedCommitLookupFailedCommitCreateFailedTreeWalkFailedTreeUpdateFailedTreeEntryLookupFailedTreeCannotTraverseCommitTreeCannotTraverseBlobTreeLookupFailedTreeBuilderWriteFailedTreeBuilderRemoveFailedTreeBuilderInsertFailedTreeBuilderCreateFailedTreeCreateFailedTranslationExceptionPushNotFastForwardBlobLookupFailedBlobEncodingUnknownBlobEmptyCreateFailedBlobCreateFailedRepositoryCannotAccessRepositoryInvalidRepositoryNotExistGitError BackendError RepositoryOidTreeOptionsfactsparseOid parseObjOidcreateReferencecreateReference_lookupReferenceupdateReferenceupdateReference_deleteReference allReferencesallReferenceNamesresolveReference lookupCommit lookupTree lookupBlob lookupTag lookupObject existsObjecttraverseObjectstraverseObjects_ pushCommittraverseCommitstraverseCommits_missingObjectsnewTreeBuildertreeOid getTreeEntrytraverseEntriestraverseEntries_ hashContents createBlob createCommit createTagdeleteRepository buildPackFilebuildPackIndex writePackFile remoteFetchIsOid renderOid renderObjOidMonadGitRepositoryFactshasSymbolicReferences nameOfCommitcommitNameToRefrenderCommitNamecopyOid copyCommitOidcopyCommitName objectOid blobRefOidresolveBlobRefgetEntryputEntry dropEntryputBlob'putBlobputTree putCommitwithTree withTreeRef mutateTree mutateTreeRefcurrentTreeRef currentTree withNewTree createTreegetTreeEntryOid blobEntry treeEntry commitEntryfromModifyTreeResulttoModifyTreeResulttreeRef treeRefOidresolveTreeRef commitRefcommitRefTarget commitRefOidresolveCommitRefreferenceToRef tagRefOid mergeStatus copyConflict shaToText textToShacreateBlobUtf8catBlob catBlobUtf8blobContentsToByteStringblobToByteString emptyTreeIdtreeBlobEntriescommitTreeEntrycopyBlob copyTreeEntrycopyTree copyCommitallMissingObjectsgenericPushCommitcommitHistoryFirstParent identifyEntrycommitEntryHistorygetCommitParentsresolveReferenceTreewithNewRepositorywithNewRepository' withBackendDowithRepository'withRepositoryqueryTreeBuilderwriteTreeBuilder BuilderAction DropEntryPutEntryGetEntryrunTreeT getBuilder putBuilder doWithTree splitPathfromBuilderMod$fDefaultRepositoryOptions$fMonoidTreeBuilder$fMonoidModifiedBuilder $fIsOidSHA $fHashableSHA $fBinarySHA $fShowSHA$fShowMergeResult$fDefaultSignature$fMonadIOTreeT$fMonadTransTreeT$fMonadFixTreeT$fMonadPlusTreeT$fAlternativeTreeT$fApplicativeTreeT $fMonadTreeT$fFunctorTreeT$fEqBlobContents$fShowCommitName$fExceptionGitException