!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~   unix experimental#Vincent Hanquez <vincent@snarc.org>None unix experimental#Vincent Hanquez <vincent@snarc.org>None unix experimental#Vincent Hanquez <vincent@snarc.org>None;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>Nonepossible 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-Inferredparent accessor ~ n parent accessor ^ n and ^        unix experimental#Vincent Hanquez <vincent@snarc.org>None !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>None "Delta pointing to a ref. $Delta pointing to an offset. &Represent a signed tag. 1Represent a commit object. :Represent a binary blob. =6Represent a root tree with zero to many tree entries. @an 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) E 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. F/Git time is number of seconds since unix epoch Htype of a git object. ;the enum instance is useful when marshalling to pack file. 1"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOP/"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOP/HNMLKJI=>?123456789-./0:;<&'()*+,@ABCDFGOP$%"#E"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHNMLKJIOPunix experimental#Vincent Hanquez <vincent@snarc.org>None   unix experimental#Vincent Hanquez <vincent@snarc.org>NoneQcontent of a ref file. URepresent a named specifier. QRSTUVWXYZ[\]^!"#$%_`abQRSTUVWXYZ[\]^_`abU^]\[ZYXWVQTSR_`ab QTSRU ^]\[ZYXWV!"#$%_`abunix experimental#Vincent Hanquez <vincent@snarc.org>NonejDrepresent an packIndex header with the version and the fanout table l3enumerate every indexes file in the pack directory mopen an index nclose an index o<variant of withFile on the index file and with a FileReader &<returns the number of references, referenced in this index. '"byte size of an packIndex header. pAget the number of reference in this index with a specific prefix ($fold on refs with a specific prefix q5return the reference offset in the packfile if found r)get all references that start by prefix. )[returns absolute offset in the index file of the sha1s, the crcs and the packfiles offset. *parse index header s+read index header from an index filereader t)get index header from an index reference uread all index cdefghijklmno&'p(qr)*stucdefghijklmnopqrstujkcdefghimnolpqrsutcdefghijklmno&'p(qr)*stuunix experimental#Vincent Hanquez <vincent@snarc.org>None{9describe a git object, that could of 6 differents types: 5 tree, blob, commit, tag and deltas (offset or ref). - the deltas one are only available in packs. 4Raw objects infos have an header (type, size, ptr), A the data and a pointers chains to parents for resolved objects. <Delta objects points to some others objects in the database 8 either as offset in the pack or as a direct reference. &location of an object in the database parse a tree content parse a blob content parse a commit content parse a tag content Avwxyz{|}~+,-./0123456789:;<=5HIJKLMNvwxyz{|}~5HNMLKJI{~}|vwxyz.vwxyz{~}|+,-./0123456789:;<= unix experimental#Vincent Hanquez <vincent@snarc.org>None6Enumerate 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 >?>?unix experimental#Vincent Hanquez <vincent@snarc.org>None @ABCDEFGHIJK @ABCDEFGHIJK@ABCDEFGHIJKunix experimental#Vincent Hanquez <vincent@snarc.org>None 6unmarshall an object (with header) from a bytestring. 9unmarshall an object (with header) from a zipped stream. ?unmarshall an object as (header, data) tuple from a bytestring Bunmarshall an object as (header, data) tuple from a zipped stream 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. LMNOPQRSTUVWXLMNOPQRSTUVWX unix experimental#Vincent Hanquez <vincent@snarc.org>None@represent an git repo, with possibly already opened filereaders  for indexes and packs Y6this is a cache representation of the packed-ref file "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. Z[\Y]^_` repository  the object's reference to #whether to resolve deltas if found returned object if found Z[\Y]^_` unix experimental#Vincent Hanquez <vincent@snarc.org>NoneKhierarchy 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 a Repository Mapping function revision to start from the number of parents to map return the new head REF  repository commit reference paths  aunix experimental#Vincent Hanquez <vincent@snarc.org>None0 &'()*+,-./0123456789:;<=>?@ABCDFG0123456789@ABCD-./0=>?:;<&'()*+,FG b    !"#$%&'()*+,-./0123344556789:;;<=>>?@ABCDEFFGHHIJJKLMNOOPQRSTUVWXYZ[\]^_`abcdefghijkklmnopqqrstuvwxyz{|}~                   % !"#$%&'()*+,-./0123456789:;< = >??@ABCDEFGHIJKLMNOPQRSTUV W  X Y Z Z [ \ ]^ hit-0.4.1Data.Git.RevisionData.Git.Storage.LooseData.Git.Delta Data.Git.RefData.Git.TypesData.Git.NamedData.Git.Storage.PackIndexData.Git.Storage.ObjectData.Git.Storage.PackData.Git.StorageData.Git.RepositoryData.Git.InternalData.Git.Storage.CacheFileData.Git.Storage.FileReader Data.Git.PathData.Git.Storage.FileWriterData.Gitbase Data.String fromStringZipped getZippedDataDeltaCmdDeltaSrc DeltaCopyDelta deltaParse deltaRead deltaApplyRevision RevModifier RevModAtN RevModAtDate RevModAtTypeRevModParentFirstN RevModParentRefisHex isHexStringfromHex fromHexStringtoHex toHexString fromBinarytoBinary refPrefix cmpPrefixtoFilePathPartshashhashLBSDeltaRefDeltaOfsTagtagRef tagObjectTypetagBlobtagNametagS CommitExtracommitExtraKeycommitExtraValueCommit commitTreeish commitParents commitAuthorcommitCommittercommitEncoding commitExtras commitMessageBlobblobGetContentTree treeGetEntsPerson personName personEmail personTimeTreeEntGitTime ObjectType TypeDeltaRef TypeDeltaOffTypeTag TypeCommitTypeBlobTypeTree toUTCTime toPOSIXTime RefContentTyRefContentUnknownRefLink RefDirect RefSpecTyRefOtherRefStash RefPatches RefRemoteRefTag RefBranch RefFetchHead RefOrigHeadRefHeadreadPackedRefs existsRefFile writeRefFile readRefFile PackIndexpackIndexSha1s packIndexCRCspackIndexPackoffspackIndexPackChecksumpackIndexChecksumPackIndexHeaderpackIndexEnumerate packIndexOpenpackIndexClose withPackIndexpackIndexHeaderGetNbWithPrefixpackIndexGetReferenceLocation packIndexGetReferencesWithPrefixpackIndexReadHeaderpackIndexGetHeader packIndexRead ObjectablegetTypegetRawisDeltatoObjectObject ObjDeltaRef ObjDeltaOfsObjTreeObjBlobObjTag ObjCommit ObjectInfooiHeaderoiDataoiChains ObjectData ObjectHeader ObjectPtrPtrOfsPtrRefObjectLocationPackedLooseNotFound objectToTypeobjectTypeMarshallobjectTypeUnmarshallobjectTypeIsDelta objectIsDelta objectToTreeobjectToCommit objectToTag objectToBlob treeParse blobParse commitParsetagParseobjectParseTreeobjectParseCommitobjectParseTagobjectParseBlobobjectWriteHeader objectWrite objectHashPackedObjectInfopoiType poiOffsetpoiSize poiActualSizepoiExtraPackedObjectRaw packEnumeratepackOpen packClosepackReadHeaderpackReadMapAtOffsetpackReadAtOffsetpackReadRawAtOffsetpackEnumerateObjectspackedObjectToObjectpackObjectFromRawlooseUnmarshalllooseUnmarshallZippedlooseUnmarshallRawlooseUnmarshallZippedRaw looseReadRawlooseReadHeader looseRead looseExistslooseEnumeratePrefixeslooseEnumerateWithPrefixFilterlooseEnumerateWithPrefix looseMarshalllooseWriteBlobFromFile looseWriteGit gitRepoPath packedNamedopenRepo closeRepofindRepowithRepowithCurrentRepoisRepoinitRepoiterateIndexes findReferencefindReferencesWithPrefixgetObjectRawAt getObjectRaw getObjectType getObjectAt getObject setObjectHTreeHTreeEntTreeFileTreeDir getCommitgetTreeresolveRevisionresolveTreeishrewrite buildHTree resolvePathbe32be16readZippedFiledezipMTime CacheFile cacheFilepath cacheRefresh cacheIniVal cacheLockutcZero newCacheVal getCacheValgetMTimefileReaderSeekfileReaderParsefileReaderGetVLFInflateException FileReaderfbHandle fbUseInflate fbInflate fbRemainingfbPos fileReaderNewfileReaderClosewithFileReaderwithFileReaderDecompressfileReaderGetNextfileReaderGetPosfileReaderFill fileReaderGetfileReaderGetLBSfileReaderGetBSfileReaderInflateToSize inflateNew inflateToSize$fExceptionInflateException revFromString$fIsStringRevision $fShowRef$fEnumObjectType $fMonoidTree headsPathtagsPath remotesPathpackedRefsPathheadPathtagPath remotePath specialPath remoteEntPath packDirPath indexPathpackPath objectPathobjectPathOfRefobjectTemporaryPath pathDecode pathEncodetoRefTy fromRefTytoPathpackIndexHeaderGetSizepackIndexHeaderByteSizepackIndexHeaderFoldRefpackIndexOffsetsparsePackIndexHeaderoctaltillEOLskipEOLskipChar referenceHex referenceBin parsePerson treeWrite commitWritetagWriteeol blobWrite writeName$fObjectableDeltaRef$fObjectableDeltaOfs$fObjectableTree$fObjectableTag$fObjectableCommit$fObjectableBlob getNextObjectgetNextObjectRaw FileWriter writerHandle writerDeflate writerDigestdefaultCompression fileWriterNewwithFileWriter postDeflatefileWriterOutputfileWriterClosefileWriterGetDigestisObjectPrefixdecimal parseHeaderparseTreeHeaderparseTagHeaderparseCommitHeaderparseBlobHeader parseTreeparseTag parseCommit parseBlob parseObjectgetDirectoryContents PackedRef indexReaders packReadersPackIndexReaderreadRawFromPack readFromPackmapJustM