[       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  unix experimental#Vincent Hanquez <vincent@snarc.org> Safe-Infered unix experimental#Vincent Hanquez <vincent@snarc.org> Safe-Infered;seek in a handle, and reset the remaining buffer to empty. parse from a filebuffer Pget a Variable Length Field. get byte as long as MSB is set, and one byte after  unix experimental#Vincent Hanquez <vincent@snarc.org> Safe-Inferedpossible commands in a delta Ea delta is a source size, a destination size and a list of delta cmd parse a delta. C format is 2 variable sizes, followed by delta cmds. for each cmd: 2 * if first byte MSB is set, we copy from source. " * otherwise, we copy from delta.  * extensions are not handled. 'read one delta from a lazy bytestring. @apply a delta on a lazy bytestring, returning a new bytestring. unix experimental#Vincent Hanquez <vincent@snarc.org> Safe-Inferedparent accessor ~ n parent accessor ^ n and ^       unix experimental#Vincent Hanquez <vincent@snarc.org> Safe-Infered !represent a git reference (SHA1) 9take a hexadecimal bytestring that represent a reference  and turn into a ref 5take a hexadecimal string that represent a reference  and turn into a ref /transform a ref into an hexadecimal bytestring +transform a ref into an hexadecimal string :transform a bytestring that represent a binary bytestring  and returns a ref. *turn a reference into a binary bytestring 4returns the prefix (leading byte) of this reference compare prefix returns the splitted format  prefix/suffix* for addressing the loose object database #hash a bytestring into a reference unix experimental#Vincent Hanquez <vincent@snarc.org> Safe-Infered Delta pointing to a ref. !Delta pointing to an offset. #Represent a signed tag. *Represent a commit object. 1Represent a binary blob. 46Represent a root tree with zero to many tree entries. 7an author or committer line  has the format: name  email time timezone % FIXME: should be a string, but I don't know if the data is stored % consistantly in one encoding (UTF8) 8 represent one entry in the tree 6 (permission,file or directory name,blob or tree ref) @ name should maybe a filepath, but not sure about the encoding. 9type of a git object. ;the enum instance is useful when marshalling to pack file. # !"#$%&'()*+,-./0123456789:;<=>?! !"#$%&'()*+,-./0123456789:;<=>?!9?>=<;:456*+,-./0123#$%&'()!" 87  !"#$%&'()*+,-./0123456789?>=<;:unix experimental#Vincent Hanquez <vincent@snarc.org> Safe-Infered@9describe a git object, that could of 6 differents types: 5 tree, blob, commit, tag and deltas (offset or ref). 2 the deltas one are only available through packs. B4Raw objects infos have an header (type, size, ptr), A the data and a pointers chains to parents for resolved objects. I<Delta objects points to some others objects in the database 8 either as offset in the pack or as a direct reference. L&location of an object in the database Zparse a tree content [parse a blob content \parse a commit content ]parse a tag content +@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcd,9:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcd,LONM9?>=<;:HGIKJ@ABCDEFPQRSTUVWXYZ\][^_`abcd!@ABCDEFGHIKJLONMPQRSTUVWXYZ[\]^_`abcdunix experimental#Vincent Hanquez <vincent@snarc.org> Safe-Inferedunix experimental#Vincent Hanquez <vincent@snarc.org> Safe-Infered lDrepresent an packIndex header with the version and the fanout table n3enumerate every indexes file in the pack directory oopen an index pclose an index q<variant of withFile on the index file and with a FileReader rAget the number of reference in this index with a specific prefix s5return the reference offset in the packfile if found t)get all references that start by prefix. u+read index header from an index filereader v)get index header from an index reference wread all index efghijklmnopqrstuvwefghijklmnopqrstuvwlmefghijkopqnrstuwv efghijklmnopqrstuvwunix experimental#Vincent Hanquez <vincent@snarc.org> Safe-Infered6Enumerate the pack refs available in this repository.  open a pack  close a pack *return the number of entries in this pack Mread an object at a specific position using a map function on the objectData &read an object at a specific position 1read a raw representation at a specific position Kenumerate all objects in this pack and callback to f for reach raw objects xyz{|}~xyz{|}~xyz{|}~ xyz{|}~unix experimental#Vincent Hanquez <vincent@snarc.org> Safe-Infered unix experimental#Vincent Hanquez <vincent@snarc.org> Safe-Infered ;unmarshall an object (with header) from a lazy bytestring. Eunmarshall an object as (header, data) tuple from a lazy bytestring. Hread a specific ref from a loose object and returns an header and data. (read only the header of a loose object. >read a specific ref from a loose object and returns an object /check if a specific ref exists as loose object 6enumarate all prefixes available in the object store. ;enumerate all references available with a specific prefix. 5marshall as lazy bytestring an object except deltas. Dcreate a new blob on a temporary location and on success move it to ( the object store with its digest name. .write an object to disk as a loose reference. [ use looseWriteBlobFromFile for efficiently writing blobs when being commited from a file. unix experimental#Vincent Hanquez <vincent@snarc.org> Safe-Infered@represent an git repo, with possibly already opened filereaders  for indexes and packs "open a new git repository context Cclose a git repository context, closing all remaining fileReaders. 4Find the git repository from the current directory. 2If the environment variable GIT_DIR is set then it's used, R otherwise iterate from current directory, up to 128 parents for a .git directory )execute a function f with a git context. .execute a function on the current repository. 7check findRepo to see how the git repository is found. >basic checks to see if a specific path looks like a git repo. 4initialize a new repository at a specific location. 0Get the object location of a specific reference 7get all the references that start by a specific prefix get an object from repository get an object from repository #get an object type from repository @get an object from repository using a location to reference it. +get an object from repository using a ref. 3set an object in the store and returns the new ref 0 this is always going to create a loose object.  repository  the object's reference to #whether to resolve deltas if found returned object if found  unix experimental#Vincent Hanquez <vincent@snarc.org> Safe-Infered unix experimental#Vincent Hanquez <vincent@snarc.org> Safe-InferedKhierarchy tree, either a reference to a blob (file) or a tree (directory). get a specified commit get a specified tree 1try to resolve a string to a specific commit ref . for example: HEAD, HEAD^, master~3, shortRef Jreturns a tree from a ref that might be either a commit, a tree or a tag. BRewrite a set of commits from a revision and returns the new ref. +If during revision traversal (diving) there'!s a commit with zero or multiple T parents then the traversal will stop regardless of the amount of parent requested. calling rewrite f 2 (revisionOf d) on the following tree: a <-- b <-- c <-- d 3result in the following tree after mapping with f: a <-- f(b) <-- f(c) <-- f(d) *build a hierarchy tree from a tree object Jresolve the ref (tree or blob) related to a path at a specific commit ref  Repository Mapping function revision to start from the number of parents to map return the new head REF  repository commit reference paths  unix experimental#Vincent Hanquez <vincent@snarc.org> Safe-Infered# #$%&'()*+,-./0123456#*+,-./0456123#$%&'()  !"#$%&'()*+,-./00112234567889:;<=>>?@@ABCDEFGHIJKKLLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnnopqrsttuvwxyz{|}~        hit-0.3.0Data.Git.RevisionData.Git.Delta Data.Git.RefData.Git.TypesData.Git.Storage.ObjectData.Git.Storage.PackIndexData.Git.Storage.PackData.Git.Storage.LooseData.Git.StorageData.Git.NamedData.Git.RepositoryData.Git.InternalData.Git.Storage.FileReader Data.Git.PathData.Git.Storage.FileWriterData.Gitbase Data.String fromStringDeltaCmdDeltaSrc DeltaCopyDelta deltaParse deltaRead deltaApplyRevision RevModifier RevModAtN RevModAtDate RevModAtTypeRevModParentFirstN RevModParentRefisHex isHexStringfromHex fromHexStringtoHex toHexString fromBinarytoBinary refPrefix cmpPrefixtoFilePathPartshashhashLBSDeltaRefDeltaOfsTagtagRef tagObjectTypetagBlobtagNametagSCommit commitTreeish commitParents commitAuthorcommitCommitter commitMessageBlobblobGetContentTree treeGetEntsNameTreeEnt ObjectType TypeDeltaRef TypeDeltaOffTypeTag TypeCommitTypeBlobTypeTreeObject ObjectInfooiHeaderoiDataoiChains ObjectData ObjectHeader ObjectPtrPtrOfsPtrRefObjectLocationPackedLooseNotFound objectWrap objectToTypeobjectTypeMarshallobjectTypeUnmarshallobjectTypeIsDelta objectIsDelta objectToTreeobjectToCommit objectToTag objectToBlob treeParse blobParse commitParsetagParseobjectParseTreeobjectParseCommitobjectParseTagobjectParseBlobobjectWriteHeader objectWrite objectHash PackIndexpackIndexSha1s packIndexCRCspackIndexPackoffspackIndexPackChecksumpackIndexChecksumPackIndexHeaderpackIndexEnumerate packIndexOpenpackIndexClose withPackIndexpackIndexHeaderGetNbWithPrefixpackIndexGetReferenceLocation packIndexGetReferencesWithPrefixpackIndexReadHeaderpackIndexGetHeader packIndexReadPackedObjectInfopoiType poiOffsetpoiSize poiActualSizepoiExtraPackedObjectRaw packEnumeratepackOpen packClosepackReadHeaderpackReadMapAtOffsetpackReadAtOffsetpackReadRawAtOffsetpackEnumerateObjectspackedObjectToObjectpackObjectFromRawlooseUnmarshalllooseUnmarshallRaw looseReadRawlooseReadHeader looseRead looseExistslooseEnumeratePrefixeslooseEnumerateWithPrefixFilterlooseEnumerateWithPrefix looseMarshalllooseWriteBlobFromFile looseWriteGit gitRepoPathopenRepo closeRepofindRepowithRepowithCurrentRepoisRepoinitRepoiterateIndexes findReferencefindReferencesWithPrefixgetObjectRawAt getObjectRaw getObjectType getObjectAt getObject setObject headsListtagsList remotesList remoteList headExistsheadRead headWrite tagExiststagReadtagWrite specialRead specialExistsHTreeHTreeEntTreeFileTreeDir getCommitgetTreeresolveRevisionresolveTreeishrewrite buildHTree resolvePathbe32be16fileReaderSeekfileReaderParsefileReaderGetVLF FileReader fileReaderNewfileReaderClosewithFileReaderwithFileReaderDecompressfileReaderGetPos fileReaderGetfileReaderGetLBSfileReaderGetBSfileReaderInflateToSize$fIsStringRevision $fShowRef$fEnumObjectType $fMonoidTree$fObjectableDeltaRef$fObjectableDeltaOfs$fObjectableTree$fObjectableTag$fObjectableCommit$fObjectableBlob headsPathtagsPath remotesPathheadPathtagPath remotePath specialPath remoteEntPath packDirPath indexPathpackPath objectPathobjectPathOfRefobjectTemporaryPath FileWriter writerHandle writerDeflate writerDigestdefaultCompression fileWriterNewwithFileWriter postDeflatefileWriterOutputfileWriterClosefileWriterGetDigest