>/Q      !"#$%&'()*+,-./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. 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. 4  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~A commit we may already have The commit we need All the objects in between       !"#$%&'()*+,-./0123  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      hlkjimqpon !defg_ba`Z^]\[cYQVTRWXUSLPONM>?@ABCDEF~rutsGHIJK   :;<=}z|{vwxy 498765)3210/.-,+*"'#(($%& z    !"'#(($%&) 3210/.-,+*498765:;<=>?@ABCDEFGHIJKLPONMQVTRWXUSYZ^]\[_ba`cdefghlkjimqponrutsvwxyz|{}~"*      !"#$%&'()*+,-./01234       !"#$%&'()*+,-./01234567789::;<=>?@ABBCDEFGHIJKLMKNOPQRSTUVWXYZ[\]]^_`abcdefghijklmnnopqrstuvwxyz{|}~     R !"#$%&'() gitlib-1.4.0Git Git.TutorialRepositoryFactoryopenRepository runRepositorycloseRepository getRepositorydefaultOptionsstartupBackendshutdownBackendRepositoryOptionsrepoPath repoIsBarerepoAutoCreate PinnedEntry pinnedOid pinnedCommit pinnedEntry TreeBuildermtbBaseTreeOidmtbPendingUpdates 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 CommitObjTreeObjBlobObj ObjectOid TagObjOid CommitObjOid TreeObjOid BlobObjOid CommitNameCommitReferenceCommitReferenceNameCommitObjectId Reference referenceNamereferenceTarget RefTarget RefSymbolicRefObjTagOid CommitOidTreeOidBlobOid GitExceptionQuotaHardLimitExceededOidParseFailed OidCopyFailedObjectRefRequiresFullOidObjectLookupFailedReferenceLookupFailedReferenceListingFailedRefCannotCreateFromPartialOidReferenceDeleteFailedReferenceCreateFailedCommitLookupFailedCommitCreateFailedTreeWalkFailedTreeUpdateFailedTreeEntryLookupFailedTreeCannotTraverseCommitTreeCannotTraverseBlobTreeLookupFailedTreeBuilderWriteFailedTreeBuilderRemoveFailedTreeBuilderInsertFailedTreeBuilderCreateFailedTreeCreateFailedTranslationExceptionPushNotFastForwardBlobLookupFailedBlobEncodingUnknownBlobEmptyCreateFailedBlobCreateFailedRepositoryCannotAccessRepositoryInvalidRepositoryNotExistGitError BackendError RepositoryOidTreeOptionsfactsparseOid parseObjOidcreateReferencecreateReference_lookupReferenceupdateReferenceupdateReference_deleteReference allReferencesallReferenceNamesresolveReference lookupCommit lookupTree lookupBlob lookupTag lookupObjectlookupObjectOid existsObjecttraverseObjectstraverseObjects_ pushCommittraverseCommitstraverseCommits_missingObjectsnewTreeBuildertreeOid getTreeEntrytraverseEntriestraverseEntries_ hashContents createBlob createCommit createTagdeleteRepository buildPackFilebuildPackIndex writePackFile remoteFetchIsOid renderOid renderObjOidMonadGitRepositoryFactshasSymbolicReferences nameOfCommitcommitNameToOidrenderCommitNamecopyOid copyCommitOidcopyCommitName objectOid loadObjectobjectToObjOid untagObjOidgetEntryputEntry dropEntryputBlob'putBlobputTree putCommitwithTree withTreeOid mutateTree mutateTreeOid currentTree withNewTree createTreegetTreeEntryOid blobEntry treeEntry commitEntryfromModifyTreeResulttoModifyTreeResultcommitRefTargetreferenceToOid mergeStatus copyConflict shaToText textToShacreateBlobUtf8catBlob catBlobUtf8blobContentsToByteStringblobToByteString emptyTreeIdtreeBlobEntriescommitTreeEntrycopyBlob copyTreeEntrycopyTree copyCommitallMissingObjectsgenericPushCommitcommitHistoryFirstParent identifyEntrycommitEntryHistorygetCommitParentsresolveReferenceTreewithNewRepositorywithNewRepository' withBackendDowithRepository'withRepositoryqueryTreeBuilderwriteTreeBuilder BuilderAction DropEntryPutEntryGetEntryrunTreeT getBuilder putBuilder doWithTreecurrentTreeOid splitPathfromBuilderMod$fDefaultRepositoryOptions$fMonoidTreeBuilder$fMonoidModifiedBuilder $fIsOidSHA $fHashableSHA $fBinarySHA $fShowSHA$fShowMergeResult$fDefaultSignature$fMonadIOTreeT$fMonadTransTreeT$fMonadFixTreeT$fMonadPlusTreeT$fAlternativeTreeT$fApplicativeTreeT $fMonadTreeT$fFunctorTreeT$fEqBlobContents$fShowCommitName$fExceptionGitException