@scolladon/tsgit 0.9.0 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +116 -1
- package/dist/cjs/adapters/browser/index.cjs +1 -1
- package/dist/cjs/adapters/browser/index.cjs.map +1 -1
- package/dist/cjs/adapters/memory/index.cjs +1 -1
- package/dist/cjs/adapters/memory/index.cjs.map +1 -1
- package/dist/cjs/adapters/node/index.cjs +1 -1
- package/dist/cjs/adapters/node/index.cjs.map +1 -1
- package/dist/cjs/chunks/{browser-http-transport-BBF8uw-f.cjs → browser-http-transport-DcG05jw3.cjs} +2 -2
- package/dist/cjs/chunks/{browser-http-transport-BBF8uw-f.cjs.map → browser-http-transport-DcG05jw3.cjs.map} +1 -1
- package/dist/cjs/chunks/context-BcoAzPuU.cjs.map +1 -1
- package/dist/cjs/chunks/error-CqLvhejR.cjs +2 -0
- package/dist/cjs/chunks/error-CqLvhejR.cjs.map +1 -0
- package/dist/cjs/chunks/index-BcxdLkNe.cjs +2 -0
- package/dist/cjs/chunks/index-BcxdLkNe.cjs.map +1 -0
- package/dist/cjs/chunks/index-D5Nd-Mks.cjs +2 -0
- package/dist/cjs/chunks/index-D5Nd-Mks.cjs.map +1 -0
- package/dist/cjs/chunks/{logger-Cz9r6yt5.cjs → logger-C8Z5BfFF.cjs} +2 -2
- package/dist/cjs/chunks/{logger-Cz9r6yt5.cjs.map → logger-C8Z5BfFF.cjs.map} +1 -1
- package/dist/cjs/chunks/memory-http-transport-Pjyme5KN.cjs +2 -0
- package/dist/cjs/chunks/memory-http-transport-Pjyme5KN.cjs.map +1 -0
- package/dist/cjs/chunks/node-http-transport-UkW5eEm3.cjs +2 -0
- package/dist/cjs/chunks/node-http-transport-UkW5eEm3.cjs.map +1 -0
- package/dist/cjs/chunks/{progress-CK7CT9vU.cjs → progress-CntEbiuo.cjs} +2 -2
- package/dist/cjs/chunks/{progress-CK7CT9vU.cjs.map → progress-CntEbiuo.cjs.map} +1 -1
- package/dist/cjs/chunks/readable-stream-MTA6D0Zh.cjs +2 -0
- package/dist/cjs/chunks/readable-stream-MTA6D0Zh.cjs.map +1 -0
- package/dist/cjs/chunks/repository-B_jx2AKW.cjs +2 -0
- package/dist/cjs/chunks/repository-B_jx2AKW.cjs.map +1 -0
- package/dist/cjs/commands/index.cjs +1 -1
- package/dist/cjs/index.browser.cjs +1 -1
- package/dist/cjs/index.browser.cjs.map +1 -1
- package/dist/cjs/index.cjs +1 -1
- package/dist/cjs/index.default.cjs +1 -1
- package/dist/cjs/index.default.cjs.map +1 -1
- package/dist/cjs/index.node.cjs +1 -1
- package/dist/cjs/index.node.cjs.map +1 -1
- package/dist/cjs/operators/index.cjs +1 -1
- package/dist/cjs/operators/index.cjs.map +1 -1
- package/dist/cjs/primitives/index.cjs +1 -1
- package/dist/cjs/primitives/index.cjs.map +1 -1
- package/dist/cjs/transport/index.cjs.map +1 -1
- package/dist/esm/adapters/browser/index.js +1 -1
- package/dist/esm/adapters/browser/index.js.map +1 -1
- package/dist/esm/adapters/memory/index.js +1 -1
- package/dist/esm/adapters/memory/index.js.map +1 -1
- package/dist/esm/adapters/node/index.js +1 -1
- package/dist/esm/adapters/node/index.js.map +1 -1
- package/dist/esm/chunks/{browser-http-transport-CRPPmib5.js → browser-http-transport-COFgnEyq.js} +2 -2
- package/dist/esm/chunks/{browser-http-transport-CRPPmib5.js.map → browser-http-transport-COFgnEyq.js.map} +1 -1
- package/dist/esm/chunks/context-CumKOV7K.js.map +1 -1
- package/dist/esm/chunks/error-BN9rdQ33.js +2 -0
- package/dist/esm/chunks/error-BN9rdQ33.js.map +1 -0
- package/dist/esm/chunks/index-BdV37p4e.js +2 -0
- package/dist/esm/chunks/index-BdV37p4e.js.map +1 -0
- package/dist/esm/chunks/index-BkRJ9-Im.js +2 -0
- package/dist/esm/chunks/index-BkRJ9-Im.js.map +1 -0
- package/dist/esm/chunks/{logger-Cg7fUh8D.js → logger-BLZbLzva.js} +2 -2
- package/dist/esm/chunks/{logger-Cg7fUh8D.js.map → logger-BLZbLzva.js.map} +1 -1
- package/dist/esm/chunks/memory-http-transport-DRYdYgiE.js +2 -0
- package/dist/esm/chunks/memory-http-transport-DRYdYgiE.js.map +1 -0
- package/dist/esm/chunks/node-http-transport-Bp5cFZCt.js +2 -0
- package/dist/esm/chunks/node-http-transport-Bp5cFZCt.js.map +1 -0
- package/dist/esm/chunks/progress-DJU_f66N.js +2 -0
- package/dist/esm/chunks/{progress-OxUHmDV4.js.map → progress-DJU_f66N.js.map} +1 -1
- package/dist/esm/chunks/readable-stream-CGuf8k1J.js +2 -0
- package/dist/esm/chunks/readable-stream-CGuf8k1J.js.map +1 -0
- package/dist/esm/chunks/repository-DiagDiT_.js +2 -0
- package/dist/esm/chunks/repository-DiagDiT_.js.map +1 -0
- package/dist/esm/commands/index.js +1 -1
- package/dist/esm/index.browser.js +1 -1
- package/dist/esm/index.browser.js.map +1 -1
- package/dist/esm/index.default.js +1 -1
- package/dist/esm/index.default.js.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.node.js +1 -1
- package/dist/esm/index.node.js.map +1 -1
- package/dist/esm/operators/index.js +1 -1
- package/dist/esm/operators/index.js.map +1 -1
- package/dist/esm/primitives/index.js +1 -1
- package/dist/esm/primitives/index.js.map +1 -1
- package/dist/esm/transport/index.js.map +1 -1
- package/dist/types/adapters/browser/index.d.cts +2 -2
- package/dist/types/adapters/browser/index.d.ts +2 -2
- package/dist/types/adapters/memory/index.d.cts +4 -2
- package/dist/types/adapters/memory/index.d.ts +4 -2
- package/dist/types/adapters/node/index.d.cts +117 -3
- package/dist/types/adapters/node/index.d.ts +117 -3
- package/dist/types/chunks/{context-Ku1aP8Ie.d.cts → context-D84z1i5F.d.cts} +39 -21
- package/dist/types/chunks/{context-C6df52Qs.d.ts → context-o5TPfMB2.d.ts} +39 -21
- package/dist/types/chunks/{diff-change-BwO75AgS.d.cts → diff-change-Bm1zvVsC.d.cts} +1 -1
- package/dist/types/chunks/{diff-change-CUWN3OSK.d.ts → diff-change-alGRzD_j.d.ts} +1 -1
- package/dist/types/chunks/{http-transport--_NdQOiw.d.cts → http-transport-DirKfK2S.d.cts} +1 -1
- package/dist/types/chunks/{http-transport--_NdQOiw.d.ts → http-transport-DirKfK2S.d.ts} +1 -1
- package/dist/types/chunks/{repository-Cv4Y0T9t.d.cts → repository-23evW2h-.d.cts} +5 -4
- package/dist/types/chunks/{repository-BBKJnr8a.d.ts → repository-BT7Xq1kJ.d.ts} +5 -4
- package/dist/types/chunks/write-tree-DNjhjS3t.d.ts +282 -0
- package/dist/types/chunks/write-tree-DVp0RJ_r.d.cts +282 -0
- package/dist/types/commands/index.d.cts +82 -36
- package/dist/types/commands/index.d.ts +82 -36
- package/dist/types/index.browser.d.cts +5 -5
- package/dist/types/index.browser.d.ts +5 -5
- package/dist/types/index.d.cts +5 -5
- package/dist/types/index.d.ts +5 -5
- package/dist/types/index.default.d.cts +5 -5
- package/dist/types/index.default.d.ts +5 -5
- package/dist/types/index.node.d.cts +5 -5
- package/dist/types/index.node.d.ts +5 -5
- package/dist/types/operators/index.d.cts +17 -1
- package/dist/types/operators/index.d.ts +17 -1
- package/dist/types/primitives/index.d.cts +223 -186
- package/dist/types/primitives/index.d.ts +223 -186
- package/dist/types/transport/index.d.cts +1 -1
- package/dist/types/transport/index.d.ts +1 -1
- package/package.json +70 -23
- package/dist/cjs/chunks/error-DL4SHCBJ.cjs +0 -2
- package/dist/cjs/chunks/error-DL4SHCBJ.cjs.map +0 -1
- package/dist/cjs/chunks/error-DN8Vnwr4.cjs +0 -2
- package/dist/cjs/chunks/error-DN8Vnwr4.cjs.map +0 -1
- package/dist/cjs/chunks/index-iUd-bwwm.cjs +0 -2
- package/dist/cjs/chunks/index-iUd-bwwm.cjs.map +0 -1
- package/dist/cjs/chunks/memory-http-transport-DGll7Af4.cjs +0 -2
- package/dist/cjs/chunks/memory-http-transport-DGll7Af4.cjs.map +0 -1
- package/dist/cjs/chunks/merge-base-DlGWnkxP.cjs +0 -2
- package/dist/cjs/chunks/merge-base-DlGWnkxP.cjs.map +0 -1
- package/dist/cjs/chunks/node-http-transport-CuOgJlws.cjs +0 -2
- package/dist/cjs/chunks/node-http-transport-CuOgJlws.cjs.map +0 -1
- package/dist/cjs/chunks/repository-Cbzk-Qwz.cjs +0 -2
- package/dist/cjs/chunks/repository-Cbzk-Qwz.cjs.map +0 -1
- package/dist/esm/chunks/error-CAlAXhN3.js +0 -2
- package/dist/esm/chunks/error-CAlAXhN3.js.map +0 -1
- package/dist/esm/chunks/error-DVZkS_ub.js +0 -2
- package/dist/esm/chunks/error-DVZkS_ub.js.map +0 -1
- package/dist/esm/chunks/index-gUdap5AF.js +0 -2
- package/dist/esm/chunks/index-gUdap5AF.js.map +0 -1
- package/dist/esm/chunks/memory-http-transport-Cv1sbkCX.js +0 -2
- package/dist/esm/chunks/memory-http-transport-Cv1sbkCX.js.map +0 -1
- package/dist/esm/chunks/merge-base-opORz-S1.js +0 -2
- package/dist/esm/chunks/merge-base-opORz-S1.js.map +0 -1
- package/dist/esm/chunks/node-http-transport-CuXVJf0s.js +0 -2
- package/dist/esm/chunks/node-http-transport-CuXVJf0s.js.map +0 -1
- package/dist/esm/chunks/progress-OxUHmDV4.js +0 -2
- package/dist/esm/chunks/repository-BaEhU6zt.js +0 -2
- package/dist/esm/chunks/repository-BaEhU6zt.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-BcxdLkNe.cjs","sources":["../../../src/domain/diff/error.ts","../../../src/domain/diff/index-diff.ts","../../../src/domain/diff/line-diff.ts","../../../src/domain/git-index/index-writer.ts","../../../src/domain/ignore/match.ts","../../../src/domain/ignore/matcher-stack.ts","../../../src/domain/pathspec/compile-glob.ts","../../../src/domain/pathspec/compile-pathspec.ts","../../../src/domain/pathspec/match-pathspec.ts","../../../src/domain/ignore/parse-gitignore.ts","../../../src/domain/merge/error.ts","../../../src/domain/merge/merge-types.ts","../../../src/domain/merge/conflict-markers.ts","../../../src/domain/merge/three-way-content.ts","../../../src/domain/merge/three-way-tree.ts","../../../src/domain/protocol/receive-pack.ts","../../../src/application/commands/internal/config-read.ts","../../../src/application/commands/internal/read-gitignore.ts","../../../src/application/commands/internal/build-ignore-evaluator.ts","../../../src/application/commands/internal/index-update.ts","../../../src/application/commands/internal/repo-state.ts","../../../src/domain/repository/error.ts","../../../src/application/commands/internal/working-tree.ts","../../../src/application/commands/internal/resolve-pathspec.ts","../../../src/application/commands/add.ts","../../../src/application/commands/branch.ts","../../../src/application/commands/checkout.ts","../../../src/application/commands/internal/bootstrap.ts","../../../src/application/commands/internal/network-pipeline.ts","../../../src/application/commands/internal/refs-discovery.ts","../../../src/application/commands/internal/upload-pack-client.ts","../../../src/application/commands/internal/url-validate.ts","../../../src/application/commands/clone.ts","../../../src/application/commands/internal/commit-message.ts","../../../src/application/commands/internal/merge-state.ts","../../../src/application/commands/commit.ts","../../../src/application/commands/diff.ts","../../../src/application/commands/fetch.ts","../../../src/application/primitives/flatten-tree.ts","../../../src/application/commands/merge.ts","../../../src/application/commands/internal/refspec.ts","../../../src/application/commands/push.ts","../../../src/application/commands/internal/receive-pack-client.ts","../../../src/application/commands/internal/rev-parse-grammar.ts","../../../src/application/commands/rev-parse.ts","../../../src/application/commands/status.ts","../../../src/application/commands/tag.ts","../../../src/application/commands/init.ts","../../../src/application/commands/log.ts","../../../src/application/commands/reset.ts","../../../src/application/commands/rm.ts","../../../src/application/commands/internal/progress-tracker.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["invalidDiffInput","reason","TsgitError","code","conflictStageEmissions","conflict","out","undefined","baseId","baseMode","push","id","mode","stage","ourId","ourMode","theirId","theirMode","toIndexEntry","path","emission","statFactory","stat","ctimeSeconds","ctimeNanoseconds","mtimeSeconds","mtimeNanoseconds","dev","ino","uid","gid","fileSize","flags","assumeValid","extended","MAX_LINES","splitLines","bytes","lines","start","i","length","subarray","isBinary","end","Math","min","hasNulInWindow","currentLineBytes","lineCount","exceedsLineCaps","linesEqual","a","b","chooseDown","v","offset","d","k","advanceSnake","oursLines","theirsLines","x","y","buildHunks","edits","hunks","oursCursor","theirsCursor","kind","startOurs","startTheirs","oursStart","oursEnd","theirsStart","theirsEnd","diffLines","ours","theirs","M","N","degraded","myers","maxD","Array","fill","trace","iterationBudget","iterations","snapLen","snapshot","ki","snake","totalD","computeMyersTrace","wholeFileFallback","_M","_N","snap","localOffset","prevK","prevX","prevY","reverse","reconstructEdits","compareEntryPath","left","right","writeEntry","buf","view","entry","pathBytes","setUint32","Number","parseInt","shaBytes","hexToBytes","set","nameLength","setUint16","matches","rules","isDir","result","rule","directoryOnly","compiled","test","negated","relativize","basedir","prefix","startsWith","slice","REGEX_SPECIALS","compileGlob","pattern","options","body","consumed","consumeToken","regex","next","RegExp","anchored","withDirSuffix","ch","consumeStar","after","compileOne","raw","includes","isLiteral","matchesPathspec","spec","matched","stripTrailingSpaces","line","charCodeAt","unescapePattern","s","replace","invalidMergeTree","invalidMergeInput","MAX_CONFLICT_OUTPUT_BYTES","FORBIDDEN_SUBSTRINGS","encoder","TextEncoder","isControlCode","isBidiOrInvisible","validateLabel","label","which","trim","hasForbiddenChar","marker","hasMarkerSubstring","sumBytes","total","concatEnsuringTrailingLf","Uint8Array","inner","last","needsLf","block","writeConflictMarkers","conflictStyle","oursLabel","labels","theirsLabel","base","openMarker","encode","separator","closeMarker","oursBlock","theirsBlock","output","bytesEqual","lineArraysEqual","concatLines","l","changesFromHunks","sideLines","changes","pending","flush","baseStart","baseEnd","replacement","hunk","max","j","rangesOverlap","findIdenticalTwin","target","candidates","candidate","collidesWithAny","wholeFileConflict","status","conflictType","markedBytes","entriesEqual","enforcePerInputCap","tree","side","entries","size","MAX_FLAT_TREE_ENTRIES","conflictOutcome","modifyDeleteConflict","our","their","type","resolveOneSideAbsent","present","resolvePath","contentMerger","ourEntry","theirEntry","addAddConflict","resolveAddAdd","async","ourUnchanged","theirUnchanged","isSameKind","typeChangeConflict","resolveMode","FILE_MODE","GITLINK","isGitlink","gitlinkConflict","ctx","conflictContent","resolveContentMerge","resolveBothPresent","TEXT_DECODER","TextDecoder","fatal","TEXT_ENCODER","stripTrailingNewline","endsWith","parseRefStatusLine","name","accepted","rest","space","indexOf","invalidReportStatus","parseReceivePackResponse","source","pkt","decode","payload","collectDataLines","first","unpack","ok","error","parseUnpackLine","unpackOk","refUpdates","map","unpackError","cache","WeakMap","readConfig","existing","get","loadConfig","readRawConfig","parseConfigText","fs","readUtf8","layout","gitDir","err","data","text","sections","collectSections","assembleParsed","current","joinContinuations","split","trimmed","stripInlineComment","header","parseSectionHeader","section","subsection","kv","parseKeyValue","piece","cuts","indexOfUnquoted","filter","n","inQuotes","c","quoteAt","sectionPart","lastQuote","lastIndexOf","eqAt","key","value","acc","sec","mergeCore","mergeUser","mergeRemote","mergeBranch","finalize","lowered","toLowerCase","core","bare","parseGitBoolean","excludesFile","user","email","remote","Map","fetch","url","merged","branch","merge","TRUE_VALUES","Set","has","readGitignore","dir","loadAndParse","workDir","lstat","isFile","isSymbolicLink","MAX_GITIGNORE_BYTES","gitignoreFileTooLarge","sanitizedErrorPath","rawLine","afterNegation","withoutTrailingSlash","stripped","cleanPattern","parseGitignore","slash","buildRepoIgnorePredicate","evaluator","global","config","resolved","homeDir","expandUserPath","readGlobalExcludes","info","readInfoExclude","root","loadDirRules","cached","loaded","buildIgnoreEvaluator","stack","stackedDirs","isDirectory","ancestor","ancestorsOf","add","level","relative","r","matchInStack","segments","join","resourceLocked","mtimeMs","resource","acquireIndexLock","opts","lockPath","indexPath","lockSuffix","indexFile","now","Date","breakStaleLockMs","writeExclusive","readLockMtime","maybeBreakStaleLock","makeLock","age","rm","committed","released","release","commit","index","sortedEntries","sort","entryMetas","paddedLength","extensionMetas","extensions","ext","sigBytes","signature","totalLength","totalSize","reduce","sum","m","DataView","buffer","serializeIndex","checksum","hash","write","rename","HEAD_REF","RefName","from","assertRepository","headPath","exists","assertNotBare","operation","isBare","bareRepository","readHeadRaw","content","refNotFound","parsed","parseLooseRef","PENDING_MARKERS","file","assertNoPendingOperation","Promise","all","except","operationInProgress","validatePath","validateWorkingTreePath","repoPath","readFile","rawPath","read","removeFile","full","checkoutOverwriteDirty","PATTERN_ENCODER","resolvePathspec","patterns","enforcePatternBudget","matcher","compilePathspec","literalMustMatch","isPositiveLiteral","e","bodyOf","hasGlob","some","isPositiveGlob","byteLength","invalidOption","countDoubleStars","count","enforceLiteralMustMatch","literals","matchedSet","lit","pathspecNoMatch","INDEX_MISSING_CODES","addLiteralOnly","validated","lock","readExistingEntries","newEntries","added","modified","stageOne","previous","values","removed","allLiteralsAreFiles","catch","addByPathspec","ignore","combinedIgnore","seen","walkEntry","walkWorkingTree","processWalkEntry","isPathOrAncestorIgnored","MAX_WORKING_TREE_BLOB_BYTES","workingTreeFileTooLarge","stageFromStat","readIndex","fresh","operationAborted","readContent","writeObject","makeEntry","readlink","floor","ctimeMs","HEADS_PREFIX","compareRefName","resolveBranchTarget","startPoint","resolveRef","branchNotFound","CHECKOUT_MATERIALIZE_OP","resolvePathSource","head","readTree","bootstrapRepository","validateRefName","initialBranch","mkdir","writeUtf8","rmRecursive","DEFAULT_RETRY","attempts","backoff","baseMs","maxDelayMs","withDefaults","safeLogger","logger","wrapLoggerSanitizer","transport","withRetry","retry","auth","withAuth","withLogging","log","event","sanitizeEvent","sanitizeStr","headers","sanitizeHeaders","errorMessage","Object","toString","padStart","toUpperCase","ACCEPT_HEADER","discoverRefsForService","service","discoveryUrl","buildDiscoveryUrl","response","request","method","accept","signal","statusCode","httpError","pktStream","decodePktStream","readableStreamToAsyncIterable","parseAdvertisedRefs","discoverRefs","selectFetchCapabilities","advertised","clientWants","CLIENT_CAPABILITIES_FETCH","AGENT","negotiateProtocolCapabilities","uniqueRefOids","refs","validateUrl","rejectControlChars","parseUrl","enforceScheme","allowInsecure","rejectFragment","addresses","resolver","hostname","pinnedAddress","pickPinnedAddress","allowPrivateNetworks","invalidUrl","URL","proto","protocol","unsupportedScheme","addr","isBlockedAddress","blockedHost","isBlockedIpv6","isBlockedIpv4","octets","parts","part","parseIpv4","lower","dotted","match","hex","high","low","CLONE_DISCOVER_OP","writeFetchedRefs","advertisement","headBranch","headTrackedBranch","written","ref","remoteRef","writeRef","localRef","tagRef","debug","refPath","ad","symref","capabilities","find","applyRemoteHead","resolveAuthor","input","explicit","configUser","authorUnconfigured","resolveCommitter","author","sanitizeMessage","allowEmpty","emptyCommitMessage","mergeHeadPath","mergeMsgPath","insertEntry","node","files","child","subdirs","writeSubtree","treeEntries","leaf","writeTree","resolveTreeId","obj","readObject","FETCH_NEGOTIATE_OP","collectRefTips","remoteName","ids","looseDirs","fullDir","collectFromDir","refPrefix","packed","getRefStore","getPackedRefs","readdir","isOid","OID_RE","remoteTargetForRef","isSafeRefName","composed","readExistingRef","prune","advertisedBranches","remoteDir","deleted","deleteUnadvertised","warn","refName","updateRef","repeat","delete","isPackedRefDeleteError","flattenTree","treeId","walkTree","DIRECTORY","MERGE_WRITE_FILES_OP","UNSUPPORTED_CONFLICT_TYPES","commitCleanMerge","branchName","mergedTree","resolveMergeAuthor","commitData","parents","committer","resolveMergeCommitter","message","extraHeaders","createCommit","expected","computeMergeTreeResult","ourTreeId","getTree","theirTreeId","baseTreeId","ourFlat","theirFlat","baseFlat","resolve","buildContentMerger","paths","keys","buildUnionPaths","sortedPaths","sortByPath","p","outcomes","outcome","conflicts","extractConflicts","cleanMerge","mergeTrees","synthesiseMergedTree","mergeCtx","_baseStub","_oursStub","_theirsStub","readBlob","maxBytes","oursDiff","theirsDiff","plan","oursChanges","theirsChanges","consumedTheirs","oc","twin","tc","mergePlans","baseLines","cursor","change","applyPlan","mergeContent","leaves","collectLeaves","writeNestedTree","depth","treeDepthExceeded","slashIndex","sub","bucket","partitionByPrefix","subdirEntries","subLeaves","fileEntries","f","persistConflictState","rejectUnsupportedConflicts","writeConflictingWorkingTree","oldHeadId","origHeadPath","writeOrigHead","targetId","writeMergeHead","writeMergeMsg","indexEntries","buildConflictIndexEntries","mergeHead","origHead","unsupportedOperation","runBounded","writeOutcomeToTree","writeConflictToTree","items","limit","fn","workers","worker","concurrency","blob","writeWorkingTreeFile","removeWorkingTreeFile","materialiseConflictBytes","survivorId","fullPath","parent","parentDir","lastSlash","zeroStat","stage0","stageConflicts","seenPaths","pathCmp","comparePaths","conflictsToIndexEntries","combined","cfgUser","timestamp","timezoneOffset","authorInput","committerInput","commitId","unexpectedObjectType","expandShort","parseRefspec","refspecInvalid","force","colonCount","countOccurrences","expanded","src","dst","isDelete","colonAt","srcRaw","dstRaw","PUSH_ENUMERATE_OBJECTS_OP","PUSH_UPLOAD_OP","ZERO_OID","ObjectId","REFS_HEADS_PREFIX","SIDE_BAND_CAPS","REMOTE_NAME_RE","buildRemoteMap","resolveOneRefspec","remoteByName","remoteOid","localOid","enforceLeaseAndFastForward","lease","resolveLease","isAncestor","nonFastForward","pushRejected","emptyReport","forceWithLease","descendant","walkCommits","ignoreMissing","sendUpdates","adv","movers","wants","haves","oids","collectObjects","pack","buildPack","CLIENT_CAPABILITIES_PUSH","selectPushCapabilities","requestBody","req","updates","emptyReceiveUpdates","payloads","u","idx","update","caps","tail","oldId","newId","updateLine","framed","encodePktStream","packfile","buildReceivePackRequest","toRefUpdate","postReceivePack","parseReceiveResponse","applyReportStatus","enumeratePushObjects","progress","receivePackUrl","buildReceivePackUrl","baseUrl","invalidBaseUrl","pathname","host","search","byteStream","pkts","hasSideBand","channel1","parseSideBand","onProgress","sanitize","statusByName","updateTrackingCache","VALID_PEEL_TARGETS","INDEX_STAGE_PATTERN","SHORT_HEX_PATTERN","fail","revparseUnresolved","findOperatorStart","parseOperations","parseTilde","op","parseCaret","isDigit","closeIdx","targetStr","digitsStr","resolveBase","ObjectIdFactory","objectNotFound","applyOperation","getNthParent","cur","peel","object","resolveIndexStage","expr","STATUS_SCAN_OP","byPathAscending","HEADER_ENCODER","isModified","hashHex","TAGS_PREFIX","currentHeadId","addAll","emptyPathspec","dispatchPathspec","action","headsDir","branches","currentTarget","listBranches","branchExists","createBranch","cannotDeleteCheckedOutBranch","deleteBranch","to","writeSymbolicRef","renameBranch","switchMode","isSwitch","pathsMode","isPaths","enumerateSourcePaths","pathSet","detached","changedPaths","materializeResult","currentIndex","targetTree","synthesizeTreeFromIndex","materializeTree","forceRewriteAll","materializePathRestoreLockless","newIndexEntries","materializePathRestoreLocked","pathRestore","detach","branchRef","oid","resolveSwitchOid","switchBranch","targetDirectoryNotEmpty","remoteAdvertisesNoRefs","bootstrap","packResult","fetchPack","progressOp","shallow","updateShallow","unshallow","fetchedRefs","fetchAndPropagate","readMergeHead","allowEmptyMessage","draft","readMergeMsg","resolveCommitMessage","toAuthor","buildResolverInput","buildCommitterInput","unmergedPaths","mergeHasConflicts","rejectUnmergedIndex","buildTreeFromIndex","parentId","tryResolve","buildParents","getParentTree","nothingToCommit","clearMergeState","diffTrees","detectRenames","remoteNotConfigured","resolveRemoteUrl","seeds","tip","MAX_HAVES","cappedSeeds","MAX_WALK_SEEDS","verifyHash","deriveHaves","updatedRefs","applyRemoteRefs","prunedRefs","startId","resolveStart","exclude","resolveExcluding","excluding","before","yielded","until","order","getTime","resolveTarget","mergeBase","noFastForward","fastForwardOnly","treeResult","mergeCommit","refspecs","resolveRefspecsInput","discoverReceivePackRefs","resolveAllRefspecs","pushedRefs","buildIndexFromTree","rebuildIndexFromCommit","hardResetFromCommit","expression","operations","evaluate","exec","parseIndexStage","opStart","parseRefOrHex","byPath","indexByPath","tracker","reporter","lastEmittedBucket","tick","createGranularityTracker","indexChecks","classifyEntry","untracked","workingTreeChanges","indexChanges","clean","tags","listTags","tagExists","createTag","tagNotFound","deleteTag"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var t=require("./error-CqLvhejR.cjs"),e=require("./readable-stream-MTA6D0Zh.cjs");const n=1e6;function r(t){switch(t.type){case"add":case"rename":return t.newPath;case"delete":return t.oldPath;case"modify":case"type-change":return t.path}}const o=e=>new t.TsgitError({code:"INVALID_OBJECT_ID",value:e}),s=e=>new t.TsgitError({code:"INVALID_OBJECT_HEADER",reason:e}),i=(e,n)=>new t.TsgitError({code:"INVALID_TREE_ENTRY",offset:e,reason:n}),a=e=>new t.TsgitError({code:"INVALID_COMMIT",reason:e}),c=e=>new t.TsgitError({code:"INVALID_TAG",reason:e}),d=(e,n)=>new t.TsgitError({code:"INVALID_IDENTITY",line:e,reason:n}),f=e=>new t.TsgitError({code:"OBJECT_NOT_FOUND",id:e}),u=(e,n)=>new t.TsgitError({code:"OBJECT_HASH_MISMATCH",expected:e,actual:n}),h=(e,n,r)=>new t.TsgitError({code:"UNEXPECTED_OBJECT_TYPE",expected:e,actual:n,id:r}),l=e=>new t.TsgitError({code:"TREE_DEPTH_EXCEEDED",depth:e}),w=(e,n)=>new t.TsgitError({code:"TREE_ENTRY_LIMIT_EXCEEDED",count:e,limit:n}),p=(e,n,r)=>new t.TsgitError({code:"OBJECT_TOO_LARGE",id:e,actualSize:n,limit:r});function g(t){const e=t.lastIndexOf(">");if(-1===e)throw d(t,"missing closing angle bracket");const n=t.lastIndexOf("<",e);if(-1===n)throw d(t,"missing opening angle bracket");const r=t.slice(0,n),o=r.endsWith(" ")?r.slice(0,-1):r,s=t.slice(n+1,e),i=t.slice(e+1).trim().split(/\s+/);if(i.length<2)throw d(t,"missing timestamp or timezone");const a=Number(i[0]);if(!Number.isSafeInteger(a))throw d(t,"invalid timestamp");const c=i[1];if(!/^[+-]\d{4}$/.test(c))throw d(t,"invalid timezone offset");return{name:o,email:s,timestamp:a,timezoneOffset:c}}const m=/[\n\r\0]/;function y(t){const e=`${t.name} <${t.email}>`;if(m.test(t.name))throw d(e,"name contains forbidden control character");if(m.test(t.email))throw d(e,"email contains forbidden control character");if(m.test(t.timezoneOffset))throw d(e,"timezoneOffset contains forbidden control character");if(t.name.includes("<")||t.name.includes(">"))throw d(e,"invalid identity fields");if(t.email.includes("<")||t.email.includes(">"))throw d(e,"invalid identity fields");if(!/^[+-]\d{4}$/.test(t.timezoneOffset))throw d(e,"invalid identity fields");return`${t.name} <${t.email}> ${t.timestamp} ${t.timezoneOffset}`}const x=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function b(t){const e=new Array(t.length);for(let n=0;n<t.length;n++)e[n]=x[t[n]];return e.join("")}function E(t){if(t.length%2!=0)throw new Error("Hex string must have even length");const e=new Uint8Array(t.length/2);for(let n=0;n<t.length;n+=2){const r=v(t.charCodeAt(n)),o=v(t.charCodeAt(n+1));if(-1===r||-1===o)throw new Error(`Invalid hex character at position ${n}`);e[n/2]=r<<4|o}return e}function v(t){return t>=48&&t<=57?t-48:t>=97&&t<=102?t-87:-1}function T(t,e){const n=Math.min(t.length,e.length);for(let r=0;r<n;r++)if(t[r]!==e[r])return t[r]-e[r];return t.length-e.length}function k(t,e,n){for(let r=n;r<t.length;r++)if(t[r]===e)return r;return-1}const I=new TextEncoder,$=new TextDecoder;function D(t){return I.encode(t)}function A(t){return $.decode(t)}function S(t){const e=t.indexOf("\n\n");return-1===e?{headerPart:t,message:""}:{headerPart:t.slice(0,e),message:t.slice(e+2)}}function _(t,e){if(t.includes("\n")||t.includes(" ")||""===t)throw new Error(`invalid header key: ${t}`);const n=e.split("\n");return[`${t} ${n[0]}`,...n.slice(1).map(t=>` ${t}`)].join("\n")}function O(t){const e=t.indexOf(" ");return-1===e?{key:t,value:""}:{key:t.slice(0,e),value:t.slice(e+1)}}function L(t,e,n,r){let o;const s=[];let i=e;for(;i<t.length;){const{key:e,value:a}=O(t[i]);""===e&&n("unexpected continuation line without preceding header");const c=[a];let d=i;for(let e=i+1;e<t.length;e++){const n=t[e];if(!n.startsWith(" "))break;c.push(n.slice(1)),d=e}i=d+1;const f=c.join("\n");"gpgsig"===e?(void 0!==o&&r("duplicate gpgsig header"),o=f):s.push({key:e,value:f})}return{gpgSignature:o,extraHeaders:s}}const N=/^[0-9a-f]{40}$/,C=/^[0-9a-f]{64}$/,U={from(t){if(!N.test(t)&&!C.test(t))throw o(t);return t},fromRaw(t){if(20!==t.length&&32!==t.length)throw o(`raw bytes length ${t.length} is not 20 or 32`);return U.from(b(t))}};U.from("0000000000000000000000000000000000000000"),U.from("4b825dc642cb6eb9a060e54bf8d69288fbee4904");const R={from(t){if(""===t)throw new Error("RefName must not be empty");return t}},P={from(t){if(""===t)throw new Error("FilePath must not be empty");return t}};const M={REGULAR:"100644",EXECUTABLE:"100755",SYMLINK:"120000",DIRECTORY:"40000",GITLINK:"160000"},j=new Set(Object.values(M)),W=new Map([["040000",M.DIRECTORY]]);function B(e){return function(e){if(!j.has(e))throw new t.TsgitError({code:"INVALID_FILE_MODE",value:e});return e}(W.get(e)??e)}function H(t){return t===M.DIRECTORY}const z=new Set(["blob","tree","commit","tag"]);function F(t){const e=k(t,0,0);if(-1===e)throw s("missing null terminator");const n=A(t.subarray(0,e)),r=n.indexOf(" ");if(-1===r)throw s("missing space between type and size");const o=n.slice(0,r);if(!z.has(o))throw s(`unknown object type: ${o}`);const i=n.slice(r+1),a=Number(i);if(!Number.isFinite(a)||a<0||i!==String(a))throw s(`invalid size: ${i}`);return{type:o,size:a,contentOffset:e+1}}const V=new Set(["blob","tree","commit","tag"]);function K(t){const e=t.map(t=>({entry:t,sortKey:G(t.name,H(t.mode))}));return e.sort((t,e)=>T(t.sortKey,e.sortKey)),e.map(t=>t.entry)}function Y(t,e){return T(G(t.name,H(t.mode)),G(e.name,H(e.mode)))}function G(t,e){const n=D(t);if(!e)return n;const r=new Uint8Array(n.length+1);return r.set(n),r[n.length]=47,r}function X(t,e,n){const{type:r,size:o,contentOffset:d}=F(e),f=e.subarray(d);if(f.length!==o)throw s(`size mismatch: header says ${o}, actual content is ${f.length}`);switch(r){case"blob":return function(t,e){return{type:"blob",id:t,content:e}}(t,f);case"tree":return function(t,e,n){const r=[],o=new Set;let s=0;for(;s<e.length;){const t=k(e,32,s);if(-1===t)throw i(s,"missing space after mode");const a=A(e.subarray(s,t)),c=k(e,0,t+1);if(-1===c)throw i(s,"missing null after name");const d=A(e.subarray(t+1,c));if(""===d||"."===d||".."===d||d.includes("/"))throw i(s,`invalid entry name: ${d}`);const f=c+1,u=f+n.digestLength;if(u>e.length)throw i(s,"truncated hash");const h=e.subarray(f,u),l=U.fromRaw(h),w=B(a);if(o.has(d))throw i(s,`duplicate entry name: ${d}`);o.add(d),r.push({mode:w,name:d,id:l}),s=u}return{type:"tree",id:t,entries:r}}(t,f,n);case"commit":return function(t,e){const{headerPart:n,message:r}=S(A(e)),o=n.split("\n"),{tree:s,parents:i,author:c,committer:d,nextIndex:f}=function(t){if(!t[0].startsWith("tree "))throw a("first line must be tree");const e=U.from(t[0].slice(5)),n=[];let r=1;for(;r<t.length&&t[r].startsWith("parent ");)n.push(U.from(t[r].slice(7))),r++;if(r>=t.length||!t[r].startsWith("author "))throw a("missing author");const o=g(t[r].slice(7));if(r++,r>=t.length||!t[r].startsWith("committer "))throw a("missing committer");const s=g(t[r].slice(10));return r++,{tree:e,parents:n,author:o,committer:s,nextIndex:r}}(o),{gpgSignature:u,extraHeaders:h}=function(t,e){return L(t,e,t=>{throw a(t)},t=>{throw a(t)})}(o,f);return{type:"commit",id:t,data:{tree:s,parents:i,author:c,committer:d,message:r,...void 0!==u?{gpgSignature:u}:{},extraHeaders:h}}}(t,f);case"tag":return function(t,e){const{headerPart:n,message:r}=S(A(e)),o=n.split("\n"),{object:s,objectType:i,tagName:a,nextIndex:d}=function(t){if(!t[0].startsWith("object "))throw c("first line must be object");const e=U.from(t[0].slice(7));if(t.length<2||!t[1].startsWith("type "))throw c("second line must be type");const n=t[1].slice(5);if(!V.has(n))throw c(`invalid object type: ${n}`);if(t.length<3||!t[2].startsWith("tag "))throw c("third line must be tag name");const r=t[2].slice(4);if(""===r||r.includes("\0")||r.includes("\n"))throw c(`invalid tag name: ${r}`);return{object:e,objectType:n,tagName:r,nextIndex:3}}(o),{tagger:f,nextIndex:u}=function(t,e){return e<t.length&&t[e].startsWith("tagger ")?{tagger:g(t[e].slice(7)),nextIndex:e+1}:{tagger:void 0,nextIndex:e}}(o,d),{gpgSignature:h,extraHeaders:l}=function(t,e){return L(t,e,t=>{throw c(t)},t=>{throw c(t)})}(o,u);return{type:"tag",id:t,data:{object:s,objectType:i,tagName:a,...void 0!==f?{tagger:f}:{},message:r,...void 0!==h?{gpgSignature:h}:{},extraHeaders:l}}}(t,f)}}function q(t,e){let n;switch(t.type){case"blob":n=t.content;break;case"tree":n=function(t,e){const n=K(t.entries).map(t=>({mode:D(t.mode),name:D(t.name),hash:E(t.id)})),r=n.reduce((t,n)=>t+n.mode.length+1+n.name.length+1+e.digestLength,0),o=new Uint8Array(r);let s=0;for(const t of n)o.set(t.mode,s),s+=t.mode.length,o[s++]=32,o.set(t.name,s),s+=t.name.length,o[s++]=0,o.set(t.hash,s),s+=t.hash.length;return o}(t,e);break;case"commit":n=function(t){const e=[],{data:n}=t;e.push(`tree ${n.tree}`);for(const t of n.parents)e.push(`parent ${t}`);e.push(`author ${y(n.author)}`),e.push(`committer ${y(n.committer)}`),void 0!==n.gpgSignature&&e.push(_("gpgsig",n.gpgSignature));for(const t of n.extraHeaders)e.push(_(t.key,t.value));return D(`${e.join("\n")}\n\n${n.message}`)}(t);break;case"tag":n=function(t){const e=[],{data:n}=t;if(e.push(`object ${n.object}`),e.push(`type ${n.objectType}`),""===n.tagName||n.tagName.includes("\n")||n.tagName.includes("\0"))throw c(`invalid tag name: ${n.tagName}`);e.push(`tag ${n.tagName}`),void 0!==n.tagger&&e.push(`tagger ${y(n.tagger)}`),void 0!==n.gpgSignature&&e.push(_("gpgsig",n.gpgSignature));for(const t of n.extraHeaders)e.push(_(t.key,t.value));return D(`${e.join("\n")}\n\n${n.message}`)}(t)}const r=D(`${t.type} ${n.length}\0`),o=new Uint8Array(r.length+n.length);return o.set(r,0),o.set(n,r.length),o}function J(t){return t===M.REGULAR||t===M.EXECUTABLE?"file":t===M.SYMLINK?"symlink":t===M.DIRECTORY?"directory":"gitlink"}function Q(t,e){return J(t)===J(e)}const Z=new TextEncoder;function tt(t,e){const n=t.map(t=>({item:t,key:Z.encode(e(t))}));return n.sort((t,e)=>T(t.key,e.key)),n.map(t=>t.item)}function et(t,e){const n=e.get(t.newId);if(void 0===n||1!==n.length)return;const r=n[0];return{rename:{type:"rename",oldPath:r.oldPath,newPath:t.newPath,id:t.newId,mode:t.newMode},consumedDelete:r}}function nt(t){return{type:"add",newPath:t.name,newId:t.id,newMode:t.mode}}function rt(t){return{type:"delete",oldPath:t.name,oldId:t.id,oldMode:t.mode}}function ot(t,e){if(t.id!==e.id||t.mode!==e.mode)return Q(t.mode,e.mode)?{type:"modify",path:t.name,oldId:t.id,newId:e.id,oldMode:t.mode,newMode:e.mode}:{type:"type-change",path:t.name,oldId:t.id,newId:e.id,oldMode:t.mode,newMode:e.mode}}function st(t){return void 0===t?[]:K(t.entries)}const it=e=>new t.TsgitError({code:"INVALID_INDEX_HEADER",reason:e}),at=(e,n)=>new t.TsgitError({code:"INVALID_INDEX_ENTRY",offset:e,reason:n}),ct=new Set(["",".",".."]),dt=new Set([1564,8206,8207,8234,8235,8236,8237,8238,8294,8295,8296,8297]),ft=t=>""===t?"empty segment rejected":"."===t?"'.' segment rejected":"'..' segment rejected",ut=t=>t<32||t>=127&&t<=159,ht=(t,e)=>{if(t.startsWith("/"))throw at(e,"absolute path rejected");const n=(t=>{for(let e=0;e<t.length;e+=1){const n=t.charCodeAt(e);if(92===n)return"backslash rejected";if(ut(n))return"control character rejected";if(dt.has(n))return"bidi control character rejected"}})(t);if(void 0!==n)throw at(e,n);for(const n of t.split("/"))if(ct.has(n))throw at(e,ft(n))};function lt(t,e){const n=!!(32768&t);if(16384&t)throw at(e,"extended flag not supported in v2");return{assumeValid:n,extended:!1,stage:t>>>12&3}}function wt(t,e){for(let n=e;n<t.length;n++)if(0===t[n])return n;return-1}const pt="agent=tsgit/0.0",gt=["multi_ack_detailed","side-band-64k","ofs-delta","thin-pack","no-progress","include-tag",pt],mt=["report-status","side-band-64k","ofs-delta","atomic","delete-refs",pt],yt=t=>{const e=t.indexOf("=");return e<0?t:t.slice(0,e)},xt=e=>new t.TsgitError({code:"PKT_LENGTH_RESERVED",value:e}),bt=e=>new t.TsgitError({code:"PKT_TOO_LARGE",value:e}),Et=e=>new t.TsgitError({code:"INVALID_BASE_URL",reason:e}),vt=(e,n)=>new t.TsgitError({code:"MISSING_SERVICE_HEADER",expected:e,actual:n}),Tt=e=>new t.TsgitError({code:"INVALID_REF_LINE",line:e}),kt=e=>new t.TsgitError({code:"INVALID_SIDEBAND_CHANNEL",channel:e}),It=e=>new t.TsgitError({code:"SIDEBAND_FATAL",message:e}),$t=(e,n)=>new t.TsgitError({code:"TOO_MANY_ADVERTISED_REFS",count:e,limit:n}),Dt=new TextEncoder,At=new TextDecoder("utf-8",{fatal:!1}),St=/^[0-9a-f]{4}$/i,_t=65520,Ot=Dt.encode("0000");Dt.encode("0001"),Dt.encode("0002");const Lt=t=>{const e=(t+65536).toString(16).slice(-4);return Dt.encode(e)},Nt=t=>{let e=Ot.byteLength;for(const n of t){if(n.byteLength>65516)throw new RangeError(`pkt-line: payload too large (${n.byteLength} > 65516)`);e+=n.byteLength+4}const n=new Uint8Array(e);let r=0;for(const e of t)n.set(Lt(e.byteLength+4),r),r+=4,n.set(e,r),r+=e.byteLength;return n.set(Ot,r),n},Ct=e=>{const n=At.decode(e.subarray(0,4));if(!St.test(n))throw new t.TsgitError({code:"INVALID_PKT_LENGTH",value:n});const r=Number.parseInt(n,16);if(r>_t)throw bt(r);return r},Ut=(e,n)=>({[Symbol.asyncIterator]:()=>async function*(e){const n=new Pt;for await(const t of e)n.accept(t),yield*Mt(n);if(n.used>0)throw new t.TsgitError({code:"PKT_TRUNCATED",remaining:n.used})}(e)}),Rt=(t,e,n)=>{if(0===t)return{kind:"flush",consume:4};if(1===t)throw xt(1);if(2===t)throw xt(2);if(t<4)throw xt(t);return e<t?{kind:"wait"}:{kind:"data",consume:t}};class Pt{acc=new Uint8Array(_t);used=0;accept(t){if(this.used+t.byteLength<=_t)return this.acc.set(t,this.used),void(this.used+=t.byteLength);const e=Math.max(0,4-this.used),n=t.subarray(0,e);throw this.acc.set(n,this.used),this.used+=n.byteLength,Ct(this.acc),bt(this.used)}drop(t){this.acc.copyWithin(0,t,this.used),this.used-=t}slice(t,e){return this.acc.slice(t,e)}}function*Mt(t,e){for(;t.used>=4;){const e=Ct(t.acc),n=Rt(e,t.used);if("wait"===n.kind)return;if("data"===n.kind){const e=t.slice(4,n.consume);t.drop(n.consume),yield{kind:"data",payload:e};continue}t.drop(n.consume),yield{kind:n.kind}}}const jt=new TextDecoder("utf-8",{fatal:!1}),Wt=(t,e)=>{if(t)try{t(e)}catch{}},Bt=(t,e)=>({[Symbol.asyncIterator]:()=>async function*(t,e){for await(const n of t){if("data"!==n.kind)return;if(0===n.payload.byteLength)throw kt(-1);const t=n.payload[0],r=n.payload.subarray(1);if(1!==t){if(2!==t){if(3===t){const t=jt.decode(r);throw Wt(e.onError,t),It(t)}throw kt(t)}Wt(e.onProgress,jt.decode(r))}else yield r}}(t,e)}),Ht=new TextDecoder("utf-8",{fatal:!1}),zt=new TextEncoder,Ft=/^[0-9a-f]{40}([0-9a-f]{24})?$/i,Vt=/^# service=(?<service>[^\n]+)\n?$/,Kt=5e5,Yt=t=>t.endsWith("\n")?t.slice(0,-1):t,Gt=t=>{if(!Ft.test(t))throw Tt(t);return U.from(t)},Xt=t=>{const e=t.indexOf(" ");if(e<0)throw Tt(t);const n=t.slice(0,e),r=t.slice(e+1);if(0===r.length)throw Tt(t);return{id:n,name:r}},qt=(e,n,r)=>{if(e.byName.has(n))throw(e=>new t.TsgitError({code:"DUPLICATE_REF",name:e}))(n);e.refs.push({id:r,name:n}),e.byName.set(n,e.refs.length-1)},Jt=(e,n,r)=>{if(void 0===n){const n=(e=>{const n=e.indexOf("\0");if(n<0)throw new t.TsgitError({code:"MISSING_CAPABILITIES"});const r=e.slice(0,n),o=e.slice(n+1),s=r.indexOf(" ");if(s<0)throw Tt(e);const i=r.slice(0,s),a=r.slice(s+1);if(0===a.length)throw Tt(e);return{id:i,name:a,tail:o}})(r);return qt(e,n.name,Gt(n.id)),(t=>{const e=new Map;for(const n of t)e.set(yt(n),n);return Array.from(e.values())})(n.tail.split(" ").filter(t=>t.length>0))}if(r.endsWith("^{}"))return((t,e)=>{const n=e.slice(0,-3),r=Xt(n),o=Gt(r.id),s=t.byName.get(r.name);if(void 0===s)throw Tt(e);t.refs[s]={...t.refs[s],peeled:o}})(e,r),n;const o=Xt(r);return qt(e,o.name,Gt(o.id)),n},Qt=t=>zt.encode(`have ${t}\n`),Zt=(t=>{if(t.byteLength>65516)throw new RangeError(`pkt-line: payload too large (${t.byteLength} > 65516)`);const e=t.byteLength+4,n=new Uint8Array(e);return n.set(Lt(e),0),n.set(t,4),n})(zt.encode("done\n")),te=e=>{const n=Yt(e).split(" "),r=U.from(n[1]),o=n[2];if(void 0===o)return{id:r,status:"ack"};if("continue"===o||"common"===o||"ready"===o)return{id:r,status:o};throw new t.TsgitError({code:"UNKNOWN_ACK_STATUS",value:o})},ee="shallow ",ne="unshallow ",re=(t,e)=>{const n=Yt(t),r=n.slice(e.length);if(!Ft.test(r))throw Tt(n);return U.from(r)},oe=(t,e)=>t.startsWith(ee)?(e.shallow.push(re(t,ee)),!0):!!t.startsWith(ne)&&(e.unshallow.push(re(t,ne)),!0),se=new WeakMap,ie=e=>new t.TsgitError({code:"INVALID_REF",reason:e}),ae=e=>new t.TsgitError({code:"INVALID_PACKED_REFS",reason:e}),ce=e=>new t.TsgitError({code:"REF_NOT_FOUND",name:e}),de=(e,n)=>new t.TsgitError({code:"REF_CHAIN_TOO_DEEP",depth:e,chain:n}),fe=e=>new t.TsgitError({code:"REF_CYCLE_DETECTED",chain:e}),ue=e=>new t.TsgitError({code:"REF_LOCKED",name:e}),he=new Set(["~","^",":","?","*","[","\\"," "]);function le(t){if(""===t)throw ie("ref name must not be empty");if(t.startsWith("/")||t.endsWith("/"))throw ie("ref name must not start or end with /");if(t.startsWith("-"))throw ie("ref name must not start with -");if("@"===t)throw ie("ref name must not be single @");if(t.includes(".."))throw ie("ref name must not contain ..");if(t.includes("//"))throw ie("ref name must not contain consecutive slashes");if(t.includes("@{"))throw ie("ref name must not contain @{");if(t.endsWith("."))throw ie("ref name must not end with .");!function(t){for(let e=0;e<t.length;e++){const n=t.charCodeAt(e);if(n<=31||127===n)throw ie("ref name contains forbidden character");const r=t[e];if(void 0!==r&&he.has(r))throw ie("ref name contains forbidden character");if(n>=8234&&n<=8238||n>=8294&&n<=8297)throw ie("ref name contains forbidden Unicode override")}}(t);const e=t.split("/");for(const t of e){if(t.startsWith("."))throw ie("ref name component must not start with .");if(t.endsWith(".lock"))throw ie("ref name component must not end with .lock")}return t}function we(t){const e=t.replace(/[\r\n]+$/,"");if(""===e)throw ie("empty ref content");if(e.startsWith("ref: ")){const t=e.slice(5);if(""===t)throw ie("empty symbolic ref target");return{type:"symbolic",target:le(t)}}return{type:"direct",target:U.from(e)}}const pe=function(){const t=new Uint32Array(256);for(let e=0;e<256;e++){let n=e;for(let t=0;t<8;t++)n=1&n?3988292384^n>>>1:n>>>1;t[e]=n}return t}();function ge(t){let e=4294967295;for(let n=0;n<t.length;n++)e=pe[255&(e^t[n])]^e>>>8;return(4294967295^e)>>>0}const me=e=>new t.TsgitError({code:"INVALID_PACK_HEADER",reason:e}),ye=e=>new t.TsgitError({code:"INVALID_PACK_INDEX",reason:e}),xe=(e,n)=>new t.TsgitError({code:"INVALID_PACK_ENTRY",offset:e,reason:n}),be=e=>new t.TsgitError({code:"INVALID_DELTA",reason:e}),Ee=e=>new t.TsgitError({code:"DELTA_CHAIN_TOO_DEEP",depth:e});function ve(t,e){if(e>=t.length)throw be("truncated variable-length integer");let n=0,r=0,o=e,s=0,i=t[o];for(n=(127&i)<<r>>>0,r+=7,s+=1;128&i;){if(s>=5)throw be("variable-length integer too long");if(o+=1,o>=t.length)throw be("truncated variable-length integer");i=t[o],n=(n|(127&i)<<r)>>>0,r+=7,s+=1}return{value:n,nextOffset:o+1}}function Te(t,e,n){const r=function(t){let e=0;return 1&t&&(e+=1),2&t&&(e+=1),4&t&&(e+=1),8&t&&(e+=1),16&t&&(e+=1),32&t&&(e+=1),64&t&&(e+=1),e}(n);if(e+r>t.length)throw be(`COPY instruction truncated: needs ${r} bytes at position ${e}`);let o=e,s=0,i=0;return 1&n&&(s|=t[o],o+=1),2&n&&(s|=t[o]<<8,o+=1),4&n&&(s|=t[o]<<16,o+=1),8&n&&(s=(s|16777216*t[o])>>>0,o+=1),16&n&&(i|=t[o],o+=1),32&n&&(i|=t[o]<<8,o+=1),64&n&&(i|=t[o]<<16,o+=1),0===i&&(i=65536),{offset:s,size:i,nextPos:o}}function ke(t,e,n,r,o){if(t+e>n)throw be(`COPY out of bounds: offset=${t} size=${e} exceeds base length ${n}`);if(r+e>o)throw be(`COPY overflows target: position=${r} size=${e} exceeds target length ${o}`)}function Ie(t,e,n,r,o,s){if(0===n)throw be("INSERT with N=0 is reserved");if(e+n>t.length)throw be(`INSERT data truncated: needs ${n} bytes at position ${e}`);if(o+n>s)throw be(`INSERT overflows target: position=${o} size=${n} exceeds target length ${s}`);return r.set(t.subarray(e,e+n),o),{nextPos:e+n,nextResultPos:o+n}}function $e(t,e){const{value:n,nextOffset:r}=ve(e,0),{value:o,nextOffset:s}=ve(e,r);!function(t,e,n){if(t.length!==e)throw be(`source length mismatch: expected ${e}, got ${t.length}`);if(n>2147483648)throw be(`target length ${n} exceeds maximum allowed size`)}(t,n,o);const i=new Uint8Array(o);let a=0,c=s;for(;c<e.length;){const n=e[c];if(c+=1,128&n){const{offset:r,size:s,nextPos:d}=Te(e,c,n);c=d,ke(r,s,t.length,a,o),i.set(t.subarray(r,r+s),a),a+=s}else{const t=Ie(e,c,n,i,a,o);c=t.nextPos,a=t.nextResultPos}}if(a!==o)throw be(`underfill: produced ${a} bytes but target length is ${o}`);return i}const De=1346454347;function Ae(t,e,n){const{type:r,size:o,nextPos:s}=function(t,e){if(e>=t.length)throw xe(e,"unexpected end of header");let n=e;const r=t[n],o=r>>4&7;let s=15&r,i=4,a=0;for(;128&t[n];){if(a+=1,a>5)throw xe(e,"size encoding too long");if(n+=1,n>=t.length)throw xe(e,"unexpected end of header");s|=(127&t[n])<<i,i+=7}return{type:o,size:s,nextPos:n+1}}(t,e);if(function(t,e){if(5===t)throw xe(e,"reserved type 5");if(t<1||t>7)throw xe(e,`unknown type ${t}`)}(r,e),6===r){const{distance:n,nextPos:r}=function(t,e,n){if(e>=t.length)throw xe(n,"unexpected end of OFS_DELTA distance");let r=e,o=127&t[r],s=0;for(;128&t[r];){if(s+=1,s>4)throw xe(n,"OFS_DELTA distance encoding too long");if(r+=1,r>=t.length)throw xe(n,"unexpected end of OFS_DELTA distance");o=o+1<<7|127&t[r]}return{distance:o,nextPos:r+1}}(t,s,e);return{type:6,size:o,dataOffset:r,baseDistance:n}}if(7===r){const r=s+n.digestLength;if(r>t.length)throw xe(e,"unexpected end of REF_DELTA base id");return{type:7,size:o,dataOffset:r,baseId:b(t.subarray(s,r))}}return{type:r,size:o,dataOffset:s}}function Se(t,e){const n=[];let r=(7&t)<<4|15&e,o=e>>>4;for(o>0&&(r|=128),n.push(r);o>0;){let t=127&o;o>>>=7,o>0&&(t|=128),n.push(t)}return new Uint8Array(n)}const _e=1032;function Oe(t,e){return t._view.getUint32(8+4*e)}function Le(t,e,n){const r=_e+20*e;return T(t._bytes.subarray(r,r+20),n)}function Ne(t,e){const n=t._view.getUint32(t.smallOffsetsTableOffset+4*e);if(2147483648&n){const e=2147483647&n,r=t.largeOffsetsTableOffset+8*e;if(r+8>t.trailerOffset)throw ye(`large offset index ${e} out of range`);const o=t._view.getUint32(r),s=t._view.getUint32(r+4);if(o>2097151)throw ye(`pack offset exceeds safe JavaScript number range: high word=${o}`);return 4294967296*o+s}return n}function Ce(t,e){const n=E(e),r=n[0];let o=0===r?0:Oe(t,r-1),s=Oe(t,r);for(;o<s;){const e=o+s>>>1,r=Le(t,e,n);if(r<0)o=e+1;else{if(!(r>0))return Ne(t,e);s=e}}}function Ue(t,e){const n=new Uint8Array(t.length+e.length);return n.set(t),n.set(e,t.length),n}function Re(t){const e=t.reduce((t,e)=>t+e.length,0),n=new Uint8Array(e);let r=0;for(const e of t)n.set(e,r),r+=e.length;return n}const Pe=(t,e)=>`${t}/objects/${function(t){return`${t.slice(0,2)}/${t.slice(2)}`}(e)}`,Me=(t,e)=>`${t}/${e}`,je=t=>`${t}/index`,We=".lock";function Be(t){return!!(t.includes("\0")||t.includes("\r")||t.includes("\n\n")||t.startsWith("\n")||t.endsWith("\n"))}function He(t){return 0===t.length||!!(t.includes("\0")||t.includes("\r")||t.includes("\n"))||!(!t.includes(" ")&&!t.includes("\t"))}const ze="index file exceeds 256 MiB",Fe="pack .idx file exceeds 64 MiB";function Ve(t){return t>268435456}function Ke(t){return t>67108864}function Ye(t,e=5){return t>e}function Ge(t,e=5){return t>e}function Xe(t){return"160000"===t}function qe(t,e){return t>e}const Je=/^[0-9a-f]{40}$/,Qe=/^[0-9a-f]{64}$/,Ze=new TextEncoder,tn=new Set([".git"]),en=t=>{""===t&&rn(t),sn(t)>4096&&rn(t),t.startsWith("/")&&rn(t),t.includes("\\")&&rn(t),t.includes("\0")&&rn(t);const e=t.split("/");for(const n of e)on(n,t);return t},nn=t=>{const e=t.toLowerCase();return!!tn.has(e)||".git"===e.replace(/[. ]+$/,"")},rn=e=>{throw t.pathspecOutsideRepo(e)},on=(t,e)=>{""===t&&rn(e),"."!==t&&".."!==t||rn(e),sn(t)>255&&rn(e),nn(t)&&rn(e),t.includes(":")&&rn(e);for(let n=0;n<t.length;n+=1){const r=t.charCodeAt(n);(r<=31||127===r)&&rn(e)}},sn=t=>Ze.encode(t).length;async function*an(e,n,r,o,s){if(o>e.maxDepth)throw l(o);const i=await e.ctx.fs.readdir(dn(e,r));if(s||!i.some(un))for(const s of i){if(e.ctx.signal?.aborted)throw t.operationAborted();nn(s.name)||(yield*cn(e,n,r,o,s))}}async function*cn(t,e,n,r,o){const s=fn(n,o.name);if(en(s),o.isDirectory&&!o.isSymbolicLink){if(void 0!==t.ignore&&await t.ignore(s,!0))return;return void(yield*an(t,e,s,r+1,!1))}if(!o.isFile&&!o.isSymbolicLink)return;if(void 0!==t.ignore&&await t.ignore(s,!1))return;if(e.value+=1,e.value>t.maxEntries)throw w(e.value,t.maxEntries);const i=await t.ctx.fs.lstat(`${t.ctx.layout.workDir}/${s}`);yield{path:s,stat:i}}const dn=(t,e)=>""===e?t.ctx.layout.workDir:`${t.ctx.layout.workDir}/${e}`,fn=(t,e)=>""===t?e:`${t}/${e}`,un=t=>!!nn(t.name)&&(t.isDirectory||t.isFile&&!t.isSymbolicLink);async function hn(e,n){if(e.signal?.aborted)throw t.operationAborted();const r=q(n,e.hashConfig),o=await e.hash.hashHex(r),s=n.id;if(""!==s&&s!==o)throw u(n.id,o);if(e.signal?.aborted)throw t.operationAborted();const i=o.slice(0,2);await e.fs.mkdir(((t,e)=>`${t}/objects/${e}`)(e.layout.gitDir,i));const a=Pe(e.layout.gitDir,o),c=await e.compressor.deflate(r);try{await e.fs.writeExclusive(a,c)}catch(t){if(ln(t))return o;throw t}return o}function ln(e){return e instanceof t.TsgitError&&"FILE_EXISTS"===e.data.code}async function wn(t,e,n,r,o){mn(t);const s=await async function(t,e){const n=Pe(t.layout.gitDir,e);if(!await t.fs.exists(n))return;const r=await t.fs.read(n);return t.compressor.inflate(r)}(t,n);if(void 0!==s)return mn(t),function(t,e,n){if(void 0===n)return;const{contentOffset:r}=F(e),o=e.length-r;if(o>n)throw p(t,o,n)}(n,s,o),yn(t,n,s,r);mn(t);const i=await e.lookup(n);if(void 0===i)throw f(n);mn(t);const a=await async function(t,e,n,r,o){const s=await async function(t,e,n,r,o){const s=[];let i=n,a=0;for(;;){mn(t);const{header:n,chunk:c,headerEndInChunk:d}=await bn(t,i);if(xn(n))return pn(r,n.size,o),{deltas:s,baseContent:(await t.compressor.streamInflate(c,d)).output,baseType:n.type};if(a+=1,a>50)throw Ee(a);const{output:u}=await t.compressor.streamInflate(c,d);if(gn(r,u,o,a),6===n.type){const t=i.offset-n.baseDistance;if(t<0)throw f(r);s.push({instructions:u,resolvedBaseId:void 0}),i={pack:i.pack,offset:t};continue}if(7===n.type){const r=n.baseId;s.push({instructions:u,resolvedBaseId:r});const i=await En(t,e,r,o);return{deltas:s,baseContent:i.content,baseType:i.type}}throw f(r)}}(t,e,n,r,o);let i=s.baseContent;for(let t=s.deltas.length-1;t>=0;t-=1){const e=s.deltas[t];if(void 0===e)break;i=$e(i,e.instructions)}if(void 0!==o&&i.length>o)throw p(r,i.length,o);const a=function(t,e,n){const r=function(t,e){switch(t){case 1:return"commit";case 2:return"tree";case 3:return"blob";case 4:return"tag";default:throw f(e)}}(e,n),o=`${r} ${t.length}\0`,s=(new TextEncoder).encode(o),i=new Uint8Array(s.length+t.length);return i.set(s,0),i.set(t,s.length),i}(i,s.baseType,r);return kn(t.deltaCache,r,a),a}(t,e,i,n,o);return mn(t),yn(t,n,a,r)}function pn(t,e,n){if(void 0!==n&&e>n)throw p(t,e,n)}function gn(t,e,n,r){if(void 0===n)return;if(1!==r)return;const o=function(t){const{nextOffset:e}=ve(t,0),{value:n}=ve(t,e);return n}(e);if(o>n)throw p(t,o,n)}function mn(e){if(!0===e.signal?.aborted)throw t.operationAborted()}async function yn(t,e,n,r){if(r){const r=await t.hash.hashHex(n);if(mn(t),r!==e)throw u(e,r)}return X(e,n,t.hashConfig)}function xn(t){return 1===t.type||2===t.type||3===t.type||4===t.type}async function bn(t,e){const n=await t.fs.readSlice(e.pack.packPath,e.offset,65536),r=Ae(n,0,t.hashConfig);return{header:r,chunk:n,headerEndInChunk:r.dataOffset}}async function En(t,e,n,r){const o=t.deltaCache.get(n);if(void 0!==o)return function(t,e,n){if(void 0===n)return;const r=e.indexOf(0);if(r<0)return;const o=e.length-(r+1);if(o>n)throw p(t,o,n)}(n,o,r),vn(o,n);const s=q(await wn(t,e,n,!1,r),t.hashConfig);return kn(t.deltaCache,n,s),vn(s,n)}function vn(t,e){const n=t.indexOf(0);if(n<0)throw f(e);const r=t.subarray(0,n).indexOf(32);if(r<0)throw f(e);const o=(new TextDecoder).decode(t.subarray(0,r));return{content:t.subarray(n+1),type:Tn(o,e)}}function Tn(t,e){switch(t){case"commit":return 1;case"tree":return 2;case"blob":return 3;case"tag":return 4;default:throw f(e)}}function kn(t,e,n){t.set(e,n,n.length)}function In(t){return t.isFile&&t.name.endsWith(".idx")&&!(e=t.name).includes("/")&&!e.includes("\\")&&!e.includes("..");var e}async function $n(t,e,n){const r=`${e}/${n}`,o=await async function(t,e){if(Ke((await t.fs.stat(e)).size))throw ye(Fe);const n=await t.fs.read(e);if(Ke(n.length))throw ye(Fe);return n}(t,r),s=function(t){if(t.length<1032)throw ye("truncated: file too short for header and fanout");const e=new DataView(t.buffer,t.byteOffset,t.byteLength),n=e.getUint32(0);if(4285812579!==n)throw ye(`invalid magic: expected 0xff744f63, got 0x${n.toString(16).padStart(8,"0")}`);const r=e.getUint32(4);if(2!==r)throw ye(`unsupported version: expected 2, got ${r}`);!function(t){let e=0;for(let n=0;n<256;n++){const r=t.getUint32(8+4*n);if(r<e)throw ye(`non-monotonic fanout at index ${n}: ${e} > ${r}`);e=r}}(e);const o=e.getUint32(1028),s=_e+20*o,i=s+4*o,a=i+4*o,c=t.length-40,d=_e+20*o+4*o+4*o+40;if(t.length<d)throw ye(`truncated: expected at least ${d} bytes for ${o} objects, got ${t.length}`);return{objectCount:o,crc32TableOffset:s,smallOffsetsTableOffset:i,largeOffsetsTableOffset:a,trailerOffset:c,_bytes:t,_view:e}}(o),i=n.slice(0,-4);return{name:i,index:s,packPath:`${e}/${i}.pack`,idxPath:r}}const Dn=new WeakMap;async function An(t,e,n){const r=n?.verifyHash??!0;return wn(t,function(t){let e=Dn.get(t);return void 0===e&&(e=function(t){let e;async function n(){if(void 0!==e)return e;const n=`${t.layout.gitDir}/objects/pack`;if(!await t.fs.exists(n))return e=[],e;const r=await t.fs.readdir(n),o=[];for(const e of r)In(e)&&o.push(await $n(t,n,e.name));return e=o,e}return{all:n,async lookup(t){const e=await n();for(const n of e){const e=Ce(n.index,t);if(void 0!==e)return{pack:n,offset:e}}}}}(t),Dn.set(t,e)),e}(t),e,r,n?.maxBytes)}const Sn=new WeakMap;function _n(t){let e=Sn.get(t);return void 0===e&&(e=function(t){let e;async function n(){const n=`${t.layout.gitDir}/packed-refs`;if(!await t.fs.exists(n))return{entries:[],peeling:"none",sorted:!1};const r=await t.fs.stat(n),o=`${r.mtimeMs}:${r.size}`;if(void 0!==e&&e.mtimeKey===o)return e.parsed;const s=function(t){if(""===t)return{entries:[],peeling:"none",sorted:!1};const e=t.split("\n"),{peeling:n,sorted:r,startIndex:o}=function(t){const e=t[0];if(e?.startsWith("# pack-refs with:")){const t=e.slice(17).trim(),n=""===t?[]:t.split(/\s+/),r=n.includes("peeled");return{peeling:n.includes("fully-peeled")?"fully":r?"tags":"none",sorted:n.includes("sorted"),startIndex:1}}return{peeling:"none",sorted:!1,startIndex:0}}(e);return{entries:function(t,e){const n=[];for(let r=e;r<t.length;r++){const e=t[r];if(void 0===e||""===e||e.startsWith("#"))continue;if(e.startsWith("^")){if(0===n.length)throw ae("peel line without preceding ref entry");const t=U.from(e.slice(1)),r=n.length-1;n[r]={...n[r],peeled:t};continue}const o=e.indexOf(" ");if(-1===o)throw ae(`invalid ref line format: ${e.slice(0,80)}`);const s=e.slice(0,o),i=e.slice(o+1),a=U.from(s);n.push({name:R.from(i),id:a})}return n}(e,o),peeling:n,sorted:r}}(await t.fs.readUtf8(n));return e={parsed:s,mtimeKey:o},s}async function r(e){const n=Me(t.layout.gitDir,e);if(await t.fs.exists(n))return t.fs.readUtf8(n)}return{async resolveDirect(t){const e=await r(t);if(void 0!==e){const t=we(e);return"symbolic"===t.type?{kind:"symbolic",target:t.target}:{kind:"direct",id:t.target}}const o=await n();for(const e of o.entries)if(e.name===t)return{kind:"direct",id:e.id};return{kind:"missing"}},async writeLoose(e,n){const r=Me(t.layout.gitDir,e);await t.fs.writeUtf8(r,function(t){return`${t}\n`}(n))},async removeLoose(e){const n=Me(t.layout.gitDir,e);await t.fs.exists(n)&&await t.fs.rm(n)},isLoose:async e=>t.fs.exists(Me(t.layout.gitDir,e)),readLooseRaw:async t=>r(t),getPackedRefs:n}}(t),Sn.set(t,e)),e}async function On(t,e,n){const r=n?.maxSymbolicDepth??5,o=n?.maxPeelDepth??5,s=n?.peel??!1,i=_n(t),a=await async function(t,e,n){const r=[];let o=e,s=0;for(;;){if("HEAD"!==o&&le(o),r.includes(o))throw fe([...r,o]);r.push(o);const e=await t.resolveDirect(o);if("missing"===e.kind)throw ce(o);if("direct"===e.kind)return e.id;if(s+=1,Ye(s,n))throw de(s,r);o=e.target}}(i,e,r);return s?async function(t,e,n){let r=e,o=0;for(;;){const e=await An(t,r);if("tag"!==e.type)return r;if(o+=1,Ge(o,n))throw de(o,[]);r=e.data.object}}(t,a,o):a}async function Ln(t,e,n,r){const o=`${n}${We}`;try{await t.fs.writeExclusive(o,r)}catch(t){if(Nn(t))throw ue(e);throw t}try{await t.fs.rename(o,n)}catch(e){try{await t.fs.rm(o)}catch(t){if(!Cn(t))throw t}throw e}}function Nn(e){return e instanceof t.TsgitError&&"FILE_EXISTS"===e.data.code}function Cn(e){return e instanceof t.TsgitError&&"FILE_NOT_FOUND"===e.data.code}const Un=new TextEncoder;async function Rn(t,e,n){const r=await An(t,e,n);if("blob"!==r.type)throw h("blob",r.type,e);return r}const Pn=new TextDecoder,Mn=(t,e)=>t.endsWith("/")?`${t}${e}`:`${t}/${e}`,jn=async(e,n,r)=>{const o=Mn(n,r.path);if("update"===r.kind||"delete"===r.kind){if(void 0===r.previousId)return;return await(async(e,n,r)=>!!await e.fs.exists(n)&&!await(async(e,n,r)=>{let o;try{o=await e.fs.read(n)}catch(e){if(e instanceof t.TsgitError&&"FILE_NOT_FOUND"===e.data.code)return!0;throw e}const s=(new TextEncoder).encode(`blob ${o.length}\0`),i=new Uint8Array(s.length+o.length);return i.set(s,0),i.set(o,s.length),await e.hash.hashHex(i)===r})(e,n,r))(e,o,r.previousId)?r.path:void 0}if("add"===r.kind)return await(async(t,e)=>t.fs.exists(e))(e,o)?r.path:void 0},Wn=async(t,e,n,r)=>{if(r===M.SYMLINK){const r=Pn.decode(n);return await t.fs.exists(e)&&await t.fs.rm(e),void await t.fs.symlink(r,e)}r!==M.GITLINK?(await t.fs.write(e,n),await t.fs.chmod(e,r===M.EXECUTABLE?493:420)):await t.fs.mkdir(e)},Bn=async(t,e,n)=>{const r=Mn(e,n.path);if("noop"!==n.kind)if("delete"!==n.kind){if(void 0!==n.id){if(n.mode!==M.GITLINK){const e=await Rn(t,n.id);await Wn(t,r,e.content,n.mode)}else await Wn(t,r,new Uint8Array,n.mode);return(async(t,e,n,r,o)=>{const s=await t.fs.lstat(e);return{ctimeSeconds:Math.floor(s.ctimeMs/1e3),ctimeNanoseconds:Number(s.ctimeNs??0n)%1e9,mtimeSeconds:Math.floor(s.mtimeMs/1e3),mtimeNanoseconds:Number(s.mtimeNs??0n)%1e9,dev:s.dev,ino:s.ino,mode:o,uid:s.uid,gid:s.gid,fileSize:s.size,id:r,flags:{assumeValid:!1,extended:!1,stage:0},path:n}})(t,r,n.path,n.id,n.mode)}}else await t.fs.exists(r)&&await t.fs.rm(r)},Hn=async(e,n)=>{const{changeset:r,force:o,workdir:s}=n;if(!o){const n=await(async(t,e,n)=>{const r=[];for(const o of n.entries){const n=await jn(t,e,o);void 0!==n&&r.push(n)}return r})(e,s,r);if(n.length>0)throw t.checkoutOverwriteDirty(n)}const i=[];let a=0,c=0;for(const t of r.entries){const n=await Bn(e,s,t);"delete"===t.kind?c+=1:"add"!==t.kind&&"update"!==t.kind||(a+=1,void 0!==n&&i.push(n)),"noop"!==t.kind&&e.progress.update("checkout:materialize",a+c,r.stats.add+r.stats.update+r.stats.delete,t.path)}return{writtenEntries:i,written:a,deleted:c}},zn=(t,e,n)=>void 0===e&&void 0!==n?{kind:"add",path:t,mode:n.mode,id:n.id,previousId:void 0,previousMode:void 0}:void 0!==e&&void 0===n?{kind:"delete",path:t,mode:e.mode,id:void 0,previousId:e.id,previousMode:e.mode}:{kind:e.id===n.id&&e.mode===n.mode?"noop":"update",path:t,mode:n.mode,id:n.id,previousId:e.id,previousMode:e.mode},Fn=(t,e)=>{const n=(t=>{const e=new Map;for(const n of t.entries)0===n.flags.stage&&e.set(n.path,{id:n.id,mode:n.mode});return e})(t),r=(t=>{const e=new Map;for(const n of t)e.set(n.path,n);return e})(e),o=new Set;for(const t of n.keys())o.add(t);for(const t of r.keys())o.add(t);const s=[],i={add:0,update:0,delete:0,noop:0};for(const t of[...o].sort()){const e=zn(t,n.get(t),r.get(t));s.push(e),i[e.kind]+=1}return{entries:s,stats:i}};async function*Vn(t,e,r){const o={ctx:t,recursive:r?.recursive??!0,maxDepth:r?.maxDepth??1024,maxEntries:r?.maxEntries??n},s="string"==typeof e?await async function(t,e){const n=await An(t,e);if("tree"!==n.type)throw h("tree",n.type,e);return n}(t,e):e;yield*Kn(o,{value:0},s,"",0,[])}async function*Kn(e,n,r,o,s,i){if(i.includes(r.id))throw new t.TsgitError({code:"TREE_CYCLE_DETECTED",id:r.id});if(function(t,e){return t>e}(s,e.maxDepth))throw l(s);const a=[...i,r.id];for(const i of r.entries){if(e.ctx.signal?.aborted)throw t.operationAborted();const r=""===o?i.name:`${o}/${i.name}`;if(n.value+=1,qe(n.value,e.maxEntries))throw w(n.value,e.maxEntries);if(yield{path:r,id:i.id,mode:i.mode},!Yn(e.recursive,i.mode))continue;const c=await An(e.ctx,i.id);"tree"===c.type&&(yield*Kn(e,n,c,r,s+1,a))}}function Yn(t,e){return!!t&&H(e)}const Gn=(t,e)=>t.filter(t=>e.has(t.path)),Xn=(t,e,n)=>e.get(t)??n.get(t),qn=(t,e,n,r)=>{const o=(t=>{const e=new Map;for(const n of t)e.set(n.path,n);return e})(t),s=(t=>{const e=new Map;for(const n of t.entries)0===n.flags.stage&&e.set(n.path,n);return e})(e),i=((t,e)=>{if(void 0===e)return[];const n=[];for(const[r,o]of t)e.has(r)||n.push(o);return n})(s,r);for(const t of n){const e=Xn(t.path,o,s);void 0!==e&&i.push(e)}return i.sort((t,e)=>t.path<e.path?-1:1),i},Jn=t=>{const e={add:0,update:0,delete:0,noop:0};for(const n of t)e[n.kind]+=1;return e};async function Qn(t,e){var n;let r=Je.test(n=e)||Qe.test(n)?e:await On(t,e),o=await An(t,r),s=0;for(;"commit"===o.type||"tag"===o.type;){if(s+=1,s>5)throw de(s,[]);r="commit"===o.type?o.data.tree:o.data.object,o=await An(t,r)}if("tree"!==o.type)throw h("tree",o.type,r);return o}async function Zn(t,e){if(e.length>n)throw w(e.length,n);return hn(t,{type:"tree",id:"",entries:e})}const tr=t=>{let e=0;for(const n of t)"/"===n&&(e+=1);if(e>4096)throw l(e)},er=async(t,e)=>{const{files:n,subdirs:r}=(t=>{const e=[],n=new Map;for(const r of t){const t=r.path.indexOf("/");if(-1===t){e.push(r);continue}const o=r.path.slice(0,t),s=r.path.slice(t+1),i=n.get(o),a={path:s,id:r.id,mode:r.mode};void 0===i?n.set(o,[a]):i.push(a)}return{files:e,subdirs:n}})(e),o=[];for(const t of n)o.push({name:t.path,id:t.id,mode:t.mode});for(const[e,n]of r){const r=await er(t,n);o.push({name:e,id:r,mode:M.DIRECTORY})}return Zn(t,o)},nr=new TextEncoder,rr=new Set(["side-band-64k","side-band"]),or=async(n,r,o)=>{const s=(e=>{if(0===e.wants.length)throw new t.TsgitError({code:"EMPTY_WANTS"});const n=[];e.wants.forEach((t,r)=>{n.push(((t,e)=>{const n=0===e.length?"":` ${e.join(" ")}`;return zt.encode(`want ${t}${n}\n`)})(t,0===r?e.capabilities:[]))}),void 0!==e.depth&&n.push(zt.encode(`deepen ${e.depth}\n`));const r=Nt(n),o=0===e.haves.length?new Uint8Array(0):Nt(e.haves.map(Qt)),s=e.done?Zt:new Uint8Array(0),i=new Uint8Array(r.byteLength+o.byteLength+s.byteLength);let a=0;return i.set(r,a),a+=r.byteLength,i.set(o,a),a+=o.byteLength,i.set(s,a),i})({wants:o.wants,haves:o.haves,capabilities:o.capabilities,done:!0,...void 0!==o.depth?{depth:o.depth}:{}}),i=ar(o.url),a=await r.request({url:i,method:"POST",headers:{"content-type":"application/x-git-upload-pack-request",accept:"application/x-git-upload-pack-result"},body:s,...void 0!==n.signal?{signal:n.signal}:{}});if(200!==a.statusCode)throw t.httpError(a.statusCode,`git-upload-pack returned ${a.statusCode}`);const c=Ut(e.readableStreamToAsyncIterable(a.body)),d=await(async(t,e)=>{const n=t[Symbol.asyncIterator](),r=!0===e.expectShallow?await(async t=>{const e={shallow:[],unshallow:[]};let n=await t.next();for(;!n.done;){if("data"!==n.value.kind)return{shallow:e.shallow,unshallow:e.unshallow};const r=Ht.decode(n.value.payload);if(!oe(r,e))return se.set(t,n.value),{shallow:e.shallow,unshallow:e.unshallow};n=await t.next()}return{shallow:e.shallow,unshallow:e.unshallow}})(n):{shallow:[],unshallow:[]},o=await(async t=>{const e=[];let n=!1;const r=se.get(t);void 0!==r&&se.delete(t);let o=void 0!==r?{done:!1,value:r}:await t.next();for(;!o.done;){if("data"!==o.value.kind)return{acks:e,nak:n,buffered:[o.value]};const r=Ht.decode(o.value.payload);if(r.startsWith("ACK "))e.push(te(r)),o=await t.next();else{if(!r.startsWith("NAK"))return{acks:e,nak:n,buffered:[o.value]};n=!0,o=await t.next()}}return{acks:e,nak:n,buffered:[]}})(n);return{acks:o.acks,nak:o.nak,shallow:r.shallow,unshallow:r.unshallow,packBody:{[Symbol.asyncIterator]:()=>async function*(t,e,n){const r=async function*(t,e){for(const e of t)yield e;let n=await e.next();for(;!n.done;)yield n.value,n=await e.next()}(t,e);if(n.sideBand){const t=n.onProgress?{onProgress:n.onProgress}:{};return void(yield*Bt(r,t))}yield*async function*(t){for await(const e of t){if("data"!==e.kind)return;yield e.payload}}(r)}(o.buffered,n,e)}}})(c,{sideBand:cr(o.capabilities),onProgress:e=>n.progress.update(o.progressOp,0,void 0,t.sanitize(e)),expectShallow:void 0!==o.depth});return{packBytes:await sr(n,o,d.packBody),shallow:d.shallow,unshallow:d.unshallow}},sr=async(t,e,n)=>{const r=t.config?.maxResponseBytes??536870912,o=[];let s=0,i=0;for await(const a of n){if(s+a.byteLength>r)throw ir(r);o.push(a),s+=a.byteLength,s-i>=65536&&(t.progress.update(e.progressOp,s),i=s)}0!==s&&s!==i&&t.progress.update(e.progressOp,s);const a=new Uint8Array(s);let c=0;for(const t of o)a.set(t,c),c+=t.byteLength;return a},ir=e=>new t.TsgitError({code:"PACK_TOO_LARGE",objectCount:0,limit:e}),ar=t=>{let e;try{e=new URL(t)}catch{throw Et("invalid URL")}if(""!==e.hash)throw Et("fragment must not be set");const n=e.pathname.endsWith("/")?e.pathname.slice(0,-1):e.pathname;return`${e.protocol}//${e.host}${n}/git-upload-pack${e.search}`},cr=t=>t.some(t=>rr.has(t)),dr=async(e,n)=>{const r=function(t){if(t.length<12)throw me("truncated: pack header requires 12 bytes");const e=new DataView(t.buffer,t.byteOffset,t.byteLength),n=e.getUint32(0);if(n!==De)throw me(`invalid magic: expected 0x5041434b, got 0x${n.toString(16).padStart(8,"0")}`);const r=e.getUint32(4);if(2!==r)throw me(`unsupported version: expected 2, got ${r}`);return{version:r,objectCount:e.getUint32(8)}}(n),o=e.config?.maxObjectsPerPack??5e7;if(r.objectCount>o)throw new t.TsgitError({code:"PACK_TOO_LARGE",objectCount:r.objectCount,limit:o});const s=n.length-e.hash.digestLength,i=[];let a=12;for(let t=0;t<r.objectCount;t+=1){const t=Ae(n,a,e.hashConfig),r=await e.compressor.streamInflate(n,t.dataOffset),o=t.dataOffset+r.bytesConsumed;if(o>s)throw me("entry extends past pack trailer");const c=ge(n.subarray(a,o));i.push({offset:a,header:t,inflated:r.output,crc32:c}),a=o}if(a!==s)throw me("extra bytes between last entry and trailer");return i},fr=async(t,e)=>{const n=new Map,r=new Map;let o=e;for(;o.length>0;){const e=[];let s=!1;for(const i of o){const o=await lr(t,i,n,r);void 0===o?e.push(i):(n.set(o.offset,o),r.set(o.id,o),s=!0)}if(!s)throw ur(e);o=e}return[...n.values()]},ur=t=>{const e=t[0];if(void 0===e)return me("unresolved deltas: empty queue (internal invariant violated)");const n=hr(e.header);return me(void 0!==n?`unresolved REF_DELTA: base ${n} not in pack`:`unresolved entry at offset ${e.offset}`)},hr=t=>{if(!pr(t)&&6!==t.type)return t.baseId},lr=async(t,e,n,r)=>{if(pr(e.header)){const n=gr(e.header.type);return{id:await mr(t,n,e.inflated),type:n,content:e.inflated,crc32:e.crc32,offset:e.offset}}if(6===e.header.type){const r=e.offset-e.header.baseDistance;if(r<12)throw me(`OFS_DELTA at offset ${e.offset} points before pack body: distance ${e.header.baseDistance}`);const o=n.get(r);if(void 0===o)return;return wr(t,e,o)}const o=r.get(e.header.baseId);if(void 0!==o)return wr(t,e,o)},wr=async(t,e,n)=>{const r=$e(n.content,e.inflated);return{id:await mr(t,n.type,r),type:n.type,content:r,crc32:e.crc32,offset:e.offset}},pr=t=>1===t.type||2===t.type||3===t.type||4===t.type,gr=t=>{switch(t){case 1:return"commit";case 2:return"tree";case 3:return"blob";case 4:return"tag"}},mr=async(t,e,n)=>{const r=nr.encode(`${e} ${n.length}\0`),o=new Uint8Array(r.length+n.length);return o.set(r,0),o.set(n,r.length),t.hash.hashHex(o)},yr=async(t,e,n,r,o)=>{const s=`${t.layout.gitDir}/objects/pack`;await t.fs.mkdir(s);const i=`${s}/pack-${r}.pack`,a=`${s}/pack-${r}.idx`;return await t.fs.writeExclusive(i,e),await t.fs.writeExclusive(a,n),{packPath:i,idxPath:a,objectCount:o,packSha:r}},xr=t=>`${t.layout.gitDir}/shallow`,br=e=>e instanceof t.TsgitError&&"FILE_NOT_FOUND"===e.data.code,Er=async t=>{let e;try{e=await t.fs.readUtf8(xr(t))}catch(t){if(br(t))return new Set;throw t}const n=new Set;for(const t of e.split("\n")){const e=t.trim();0!==e.length&&Tr(e)&&n.add(U.from(e))}return n},vr=/^[0-9a-f]{40}([0-9a-f]{24})?$/i,Tr=t=>vr.test(t);async function kr(t,e){if(void 0!==e)return"string"==typeof e?Qn(t,e):e}async function*Ir(e,n){!function(e){if(0===e.from.length)throw t.invalidWalkInput("empty from");if(function(t){return t.length>1024}(e.from))throw t.invalidWalkInput("too many seeds")}(n);const r=n.order??"topo",o=n.ignoreMissing??!1,s=n.verifyHash??!0,i={queue:[...n.from],visited:new Set,missing:new Set,until:new Set(n.until??[]),shallow:n.shallow??new Set};for(;i.queue.length>0;){if(e.signal?.aborted)throw t.operationAborted();const n=Ar(i.queue);if(i.visited.has(n)||i.until.has(n))continue;const a=await $r(e,n,s,o,i.missing);void 0!==a&&(i.visited.add(n),yield a,Dr(i,a,r))}}async function $r(t,e,n,r,o){try{const r=await An(t,e,{verifyHash:n});if("commit"!==r.type)return;return r}catch(t){if(r&&Sr(t))return void o.add(e);throw t}}function Dr(e,n,r){if(e.shallow.has(n.id))return;const o="first-parent"===r&&n.data.parents.length>0?[n.data.parents[0]]:n.data.parents;for(const n of o)if(!(e.visited.has(n)||e.missing.has(n)||e.until.has(n))){if(e.queue.length>=65536)throw t.invalidWalkInput("walk queue exceeds bound");e.queue.push(n)}}function Ar(t,e){return t.shift()}function Sr(e){return e instanceof t.TsgitError&&"OBJECT_NOT_FOUND"===e.data.code}const _r=async(t,e,n)=>{const r=[];for(const o of e){const e=await An(t,o);if("commit"===e.type)for(const t of e.data.parents)n.has(t)||(n.add(t),r.push(t))}e.length=0;for(const t of r)e.push(t);return e.length>0},Or=(t,e)=>{const n=[];for(const r of t)e.has(r)&&n.push(r);return n},Lr=async(t,e)=>{const n=q(e,t.hashConfig),r=n.indexOf(0),o=n.subarray(r+1),s=await t.compressor.deflate(o);return{type:Nr(e.type),uncompressedSize:o.length,compressedData:s}},Nr=t=>{switch(t){case"commit":return 1;case"tree":return 2;case"blob":return 3;case"tag":return 4}},Cr=(e,n)=>{if(e.emitted.has(n))return!1;if(e.emitted.size>=e.cap)throw new t.TsgitError({code:"PACK_TOO_LARGE",objectCount:e.emitted.size+1,limit:e.cap});return e.emitted.add(n),!0},Ur=async(t,e,n)=>{let r=e;for(let e=0;e<16;e+=1){const e=await An(t,r);if("tag"!==e.type)return r;n(r),r=e.data.object}return r},Rr=(t,e)=>t.path<e.path?-1:t.path>e.path?1:0;exports.AGENT=pt,exports.CLIENT_CAPABILITIES_FETCH=gt,exports.CLIENT_CAPABILITIES_PUSH=mt,exports.FILE_MODE=M,exports.MAX_FLAT_TREE_ENTRIES=n,exports.MAX_GITIGNORE_BYTES=1048576,exports.MAX_HAVES=256,exports.MAX_WALK_SEEDS=1024,exports.MAX_WORKING_TREE_BLOB_BYTES=268435456,exports.ObjectId=U,exports.RefName=R,exports.applyChangeset=Hn,exports.buildDiscoveryUrl=(t,e)=>{let n;try{n=new URL(t)}catch{throw Et("invalid URL")}if(""!==n.hash)throw Et("fragment must not be set");const r=n.pathname.endsWith("/")?n.pathname.slice(0,-1):n.pathname;return`${n.protocol}//${n.host}${r}/info/refs${""===n.search?`?service=${e}`:`${n.search}&service=${e}`}`},exports.buildIndexFromTree=async(t,e)=>{const n=(t=>{const e=new Map;for(const n of t.entries)0===n.flags.stage&&e.set(n.path,n);return e})(e.currentIndex),r=await(async(t,e)=>{const n=[];for await(const r of Vn(t,e))r.mode!==M.DIRECTORY&&n.push({path:r.path,id:r.id,mode:r.mode});return n})(t,e.targetTree),o=r.map(t=>((t,e)=>{const n=e.get(t.path);return void 0!==n&&n.id===t.id&&n.mode===t.mode?{...n,flags:{...n.flags,stage:0}}:(t=>({ctimeSeconds:0,ctimeNanoseconds:0,mtimeSeconds:0,mtimeNanoseconds:0,dev:0,ino:0,mode:t.mode,uid:0,gid:0,fileSize:0,id:t.id,flags:{assumeValid:!1,extended:!1,stage:0},path:t.path}))(t)})(t,n));return o.sort(Rr),o},exports.buildPack=async(t,e)=>{const n=[];for(const r of e.oids){const e=await An(t,r);n.push(await Lr(t,e))}const r=function(t){const e=function(t,e){const n=new Uint8Array(12),r=new DataView(n.buffer);return r.setUint32(0,De),r.setUint32(4,2),r.setUint32(8,e),n}(0,t.length),n=[e],r=[];let o=e.length;for(const e of t){const t=Ue(Se(e.type,e.uncompressedSize),e.compressedData),s=ge(t);r.push({crc32:s,offset:o}),n.push(t),o+=t.length}return{data:Re(n),entries:r}}(n),o=await t.hash.hash(r.data),s=b(o),i=new Uint8Array(r.data.length+o.length);return i.set(r.data,0),i.set(o,r.data.length),{bytes:i,sha:s,objectCount:n.length}},exports.comparePaths=function(t,e){return T(Z.encode(t),Z.encode(e))},exports.computeChangeset=Fn,exports.createCommit=async function(t,e){if(e.message.includes("\0"))throw a("message contains NUL");if(n=e.message,(new TextEncoder).encode(n).byteLength>16777216)throw a("message exceeds 16 MiB");var n;if(void 0!==e.gpgSignature&&Be(e.gpgSignature))throw a("gpgSignature contains header-boundary chars");if(void 0!==e.extraHeaders)for(const t of e.extraHeaders){if(He(t.key))throw a("extraHeader key contains forbidden characters");if(Be(t.value))throw a("extraHeader value contains header-boundary chars")}return y(e.author),y(e.committer),hn(t,{type:"commit",id:"",data:{tree:e.tree,parents:e.parents,author:e.author,committer:e.committer,message:e.message,...void 0!==e.gpgSignature?{gpgSignature:e.gpgSignature}:{},extraHeaders:e.extraHeaders??[]}})},exports.decodePktStream=Ut,exports.diffTrees=async function(t,e,n,o){const[s,i]=await Promise.all([kr(t,e),kr(t,n)]),a=function(t,e){const n=st(t),r=st(e),o=[];let s=0,i=0;for(;s<n.length&&i<r.length;){const t=n[s],e=r[i],a=Y(t,e);if(a<0)o.push(rt(t)),s++;else if(a>0)o.push(nt(e)),i++;else{const n=ot(t,e);void 0!==n&&o.push(n),s++,i++}}for(;s<n.length;)o.push(rt(n[s])),s++;for(;i<r.length;)o.push(nt(r[i])),i++;return{changes:o}}(s,i);return!0===o?.detectRenames?function(t,e={}){const n=e.limit??1e3,o=e.maxSameIdDeletes??100,{adds:s,deletes:i,other:a}=function(t){const e=[],n=[],r=[];for(const o of t)"add"===o.type?e.push(o):"delete"===o.type?n.push(o):r.push(o);return{adds:e,deletes:n,other:r}}(t.changes);if(s.length*i.length>n)return t;const c=function(t,e){const n=new Map;for(const e of t){const t=n.get(e.oldId);void 0===t?n.set(e.oldId,[e]):t.push(e)}const r=new Map;for(const[t,o]of n)o.length<=e&&r.set(t,o);return r}(i,o),d=new Set,f=[],u=[];for(const t of s){const e=et(t,c);void 0===e?u.push(t):(f.push(e.rename),d.add(e.consumedDelete))}const h=i.filter(t=>!d.has(t));return{changes:tt([...u,...h,...f,...a],r)}}(a,o.renameOptions):a},exports.emptyReceiveUpdates=()=>new t.TsgitError({code:"EMPTY_RECEIVE_UPDATES"}),exports.encode=D,exports.encodePktStream=Nt,exports.enumeratePushObjects=async function*(t,e){const n={emitted:new Set,cap:e.maxObjects??1e6},r=await(async(t,e,n)=>{const r=[];for(const o of n){const n=await Ur(t,o,t=>{Cr(e,t)});r.push(n)}return r})(t,n,e.wants);for(const t of n.emitted)yield t;yield*async function*(t,e,n,r){for await(const o of Ir(t,{from:n,until:r,ignoreMissing:!0})){Cr(e,o.id)&&(yield o.id),Cr(e,o.data.tree)&&(yield o.data.tree);for await(const n of Vn(t,o.data.tree,{recursive:!0}))Xe(n.mode)||Cr(e,n.id)&&(yield n.id)}}(t,n,r,e.haves)},exports.fetchPack=async(t,e,n)=>{t.progress.start(n.progressOp);try{const r=await or(t,e,n);if(0===r.packBytes.length)return{packPath:"",idxPath:"",objectCount:0,packSha:"",shallow:r.shallow,unshallow:r.unshallow};const o=await(async(t,e)=>{const n=e.hash.digestLength;if(t.length<12+n)throw me("trailer mismatch: pack too short for header + trailer");const r=t.length-n,o=t.subarray(0,r),s=t.subarray(r),i=await e.hash.hashHex(o),a=b(s);if(i!==a)throw me(`trailer mismatch: expected ${i}, got ${a}`);return i})(r.packBytes,t),s=await(async(t,e)=>{const n=await dr(t,e);return(await fr(t,n)).slice().sort((t,e)=>t.offset-e.offset).map(t=>({id:t.id,crc32:t.crc32,offset:t.offset}))})(t,r.packBytes),i=await(async(t,e,n)=>{const r=function(t,e){if(20!==e.length)throw ye(`packChecksum must be 20 bytes, got ${e.length}`);const n=t.map(t=>({shaBytes:E(t.id),entry:t}));n.sort((t,e)=>T(t.shaBytes,e.shaBytes));const r=n.length;let o=0;for(const t of n)t.entry.offset>2147483647&&(o+=1);const s=20*r,i=4*r,a=4*r,c=1032+s+i+a+8*o+20,d=new Uint8Array(c),f=new DataView(d.buffer);f.setUint32(0,4285812579),f.setUint32(4,2);const u=new Uint32Array(256);for(const{shaBytes:t}of n)u[t[0]]+=1;const h=new Uint32Array(256);let l=0;for(let t=0;t<256;t++)l+=u[t],h[t]=l;for(let t=0;t<256;t++)f.setUint32(8+4*t,h[t]);for(let t=0;t<r;t++)d.set(n[t].shaBytes,1032+20*t);const w=1032+s;for(let t=0;t<r;t++)f.setUint32(w+4*t,n[t].entry.crc32);const p=w+i;let g=0;const m=p+a;for(let t=0;t<r;t++){const e=n[t].entry.offset;if(e>2147483647){f.setUint32(p+4*t,2147483648|g);const n=Math.floor(e/4294967296),r=e>>>0;f.setUint32(m+8*g,n),f.setUint32(m+8*g+4,r),g+=1}else f.setUint32(p+4*t,e)}return d.set(e,c-20),d}(e.map(t=>({id:t.id,crc32:t.crc32,offset:t.offset})),E(n)),o=E(await t.hash.hashHex(r)),s=new Uint8Array(r.length+o.length);return s.set(r,0),s.set(o,r.length),s})(t,s,o);return{...await yr(t,r.packBytes,i,o,s.length),shallow:r.shallow,unshallow:r.unshallow}}finally{t.progress.end(n.progressOp)}},exports.getRefStore=_n,exports.getRepoRoot=t=>t.layout.workDir,exports.hexToBytes=E,exports.indexPath=je,exports.invalidBaseUrl=Et,exports.invalidReportStatus=e=>new t.TsgitError({code:"INVALID_REPORT_STATUS",line:e}),exports.isSameKind=Q,exports.lockSuffix=We,exports.materializeTree=async(t,e)=>{const n=await(async(t,e)=>{const n=[];for await(const r of Vn(t,e))r.mode!==M.DIRECTORY&&n.push({path:r.path,id:r.id,mode:r.mode});return n})(t,e.targetTree),r=void 0===e.paths?n:Gn(n,e.paths),o=void 0===e.paths?e.currentIndex:{entries:Gn(e.currentIndex.entries,e.paths)},s=Fn(o,r),i=!0===e.forceRewriteAll?(t=>{const e=t.entries.map(t=>"noop"===t.kind?{...t,kind:"update"}:t);return{entries:e,stats:Jn(e)}})(s):s,a=await Hn(t,{changeset:i,force:e.force??!1,workdir:t.layout.workDir});return{newIndexEntries:qn(a.writtenEntries,e.currentIndex,r,e.paths),written:a.written,deleted:a.deleted}},exports.mergeBase=async(t,e,n)=>{if(e===n)return e;const r=new Set([e]),o=new Set([n]),s=[e],i=[n];for(;;){const e=await _r(t,s,r),n=await _r(t,i,o),a=Or(r,o);if(a.length>0)return[...a].sort()[0];if(!e&&!n)break}},exports.negotiateCapabilities=(t,e)=>{const n=new Map;for(const e of t)n.set(yt(e),e);const r=[];for(const t of e){const e=yt(t),o=n.get(e);void 0!==o&&r.push(o)}return r},exports.objectNotFound=f,exports.parseAdvertisedRefs=async(t,e)=>{const n=t[Symbol.asyncIterator]();try{await(async(t,e)=>{const n=await t.next();if(n.done||"data"!==n.value.kind)throw vt(e,"");const r=Yt(Ht.decode(n.value.payload)),o=Vt.exec(`${r}\n`),s=o?.groups?.service;if(void 0===s)throw vt(e,r);if(s!==e)throw vt(e,s);const i=await t.next();if(i.done||"flush"!==i.value.kind)throw vt(e,s)})(n,e);const{capabilities:t,refs:r}=await(async t=>{const e={refs:[],byName:new Map};let n,r=await t.next();for(;!r.done&&"data"===r.value.kind;){if(e.refs.length>=Kt)throw $t(e.refs.length+1,Kt);const o=Yt(Ht.decode(r.value.payload));n=Jt(e,n,o),r=await t.next()}return{capabilities:n??[],refs:e.refs}})(n),o=((t,e)=>{const n=e.find(t=>"HEAD"===t.name);if(n)return n;const r=t.find(t=>t.startsWith("symref=HEAD:"));if(!r)return;const o=r.slice(12),s=e.find(t=>t.name===o);return s?{name:"HEAD",id:s.id}:void 0})(t,r);return o?{capabilities:t,refs:r,head:o}:{capabilities:t,refs:r}}finally{await(n.return?.())}},exports.parseLooseRef=we,exports.parseSideBand=Bt,exports.readBlob=Rn,exports.readIndex=async function(t){const e=je(t.layout.gitDir);if(!await t.fs.exists(e))return{version:2,entries:[],extensions:[]};if(Ve((await t.fs.stat(e)).size))throw it(ze);const n=await t.fs.read(e);if(Ve(n.length))throw it(ze);const r=t.hashConfig.digestLength;if(n.length<r)throw it("file is shorter than the hash trailer");const o=n.subarray(0,n.length-r),s=b(n.subarray(n.length-r));if(await t.hash.hashHex(o)!==s)throw it("index trailer checksum mismatch");return function(t){if(t.length<12)throw it("truncated header");const e=new DataView(t.buffer,t.byteOffset,t.byteLength);if(1145655875!==e.getUint32(0))throw it("invalid signature: expected DIRC");const n=e.getUint32(4);if(2!==n)throw it(`unsupported version: ${n}`);const r=e.getUint32(8);if(62*r>t.length-12-20)throw it(`entry count ${r} exceeds file capacity`);let o=12;const s=[];for(let n=0;n<r;n++){const n=o;if(o+62>t.length-20)throw at(o,"truncated entry");const r=e.getUint32(o),i=e.getUint32(o+4),a=e.getUint32(o+8),c=e.getUint32(o+12),d=e.getUint32(o+16),f=e.getUint32(o+20),u=e.getUint32(o+24),h=e.getUint32(o+28),l=e.getUint32(o+32),w=e.getUint32(o+36),p=b(t.subarray(o+40,o+60)),g=e.getUint16(o+60),m=lt(g,o),y=B(u.toString(8));o+=62;const x=wt(t,o);if(-1===x)throw at(n,"missing NUL terminator");const E=4095&g,v=A(t.subarray(o,4095===E?x:o+E));ht(v,n),o=x+1,o=n+(o-n+7&-8),s.push({ctimeSeconds:r,ctimeNanoseconds:i,mtimeSeconds:a,mtimeNanoseconds:c,dev:d,ino:f,mode:y,uid:h,gid:l,fileSize:w,id:p,flags:m,path:P.from(v)})}const i=function(t,e,n){const r=[],o=t.length-20;for(;e+8<=o;){const s=A(t.subarray(e,e+4)),i=n.getUint32(e+4);if(e+8+i>o)throw at(e,"extension size exceeds remaining bytes");const a=s.charCodeAt(0);if(a>=97&&a<=122){const t=s.replace(/[^\x20-\x7e]/g,"?");throw at(e,`mandatory extension '${t}' not supported`)}const c=t.slice(e+8,e+8+i);r.push({signature:s,data:c}),e+=8+i}return r}(t,o,e);return{version:2,entries:s,extensions:i}}(n)},exports.readObject=An,exports.readShallow=Er,exports.readTree=Qn,exports.refNotFound=ce,exports.refspecInvalid=(e,n)=>new t.TsgitError({code:"REFSPEC_INVALID",raw:e,reason:n}),exports.resolveRef=On,exports.sortByPath=tt,exports.synthesizeTreeFromIndex=async(t,e)=>er(t,(t=>{const e=[];for(const n of t)0===n.flags.stage&&(ht(n.path,-1),tr(n.path),e.push({path:n.path,id:n.id,mode:n.mode}));return e})(e)),exports.treeDepthExceeded=l,exports.unexpectedObjectType=h,exports.updateRef=async function(e,n,r,o){le(n);const s=Me(e.layout.gitDir,n),i=_n(e);if(void 0!==o?.expected){const e=await i.resolveDirect(n),r="direct"===e.kind?e.id:"absent";if(o.expected!==r)throw((e,n,r)=>new t.TsgitError({code:"REF_UPDATE_CONFLICT",name:e,expected:n,actual:r}))(n,o.expected,r)}if(!0===o?.delete){if(await i.isLoose(n))return void await i.removeLoose(n);if("direct"===(await i.resolveDirect(n)).kind)throw t.unsupportedOperation("delete-packed-ref","deleting packed-only refs requires packed-refs rewrite");throw ce(n)}const a=(new TextEncoder).encode(`${r}\n`);await Ln(e,n,s,a)},exports.updateShallow=async(t,e)=>{const n=new Set(await Er(t));for(const t of e.shallow)n.add(t);for(const t of e.unshallow)n.delete(t);const r=xr(t);if(0===n.size)return void await(async(t,e)=>{try{await t.fs.rm(e)}catch(t){if(br(t))return;throw t}})(t,r);const o=[...n].sort(),s=(new TextEncoder).encode(o.map(t=>`${t}\n`).join(""));await(async(t,e,n)=>{const r=(t=>`${t.layout.gitDir}/shallow.lock`)(t);await t.fs.writeExclusive(r,n);try{await t.fs.rename(r,e)}catch(e){try{await t.fs.rm(r)}catch(t){if(!br(t))throw t}throw e}})(t,r,s)},exports.validateRefName=le,exports.validateWorkingTreePath=en,exports.walkCommits=Ir,exports.walkTree=Vn,exports.walkWorkingTree=async function*(t,e){const r={ctx:t,maxDepth:e?.maxDepth??4096,maxEntries:e?.maxEntries??n,ignore:e?.ignore};yield*an(r,{value:0},"",0,!0)},exports.writeObject=hn,exports.writeSymbolicRef=async(t,e,n)=>{const r=le(e),o=le(n),s=Me(t.layout.gitDir,r),i=Un.encode(function(t){return`ref: ${t}\n`}(o));await Ln(t,r,s,i)},exports.writeTree=Zn;
|
|
2
|
+
//# sourceMappingURL=index-D5Nd-Mks.cjs.map
|