@scolladon/tsgit 1.0.0 → 1.2.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 +29 -137
- 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-D4NH-8oJ.cjs +2 -0
- package/dist/cjs/chunks/browser-http-transport-D4NH-8oJ.cjs.map +1 -0
- package/dist/cjs/chunks/context-BcoAzPuU.cjs.map +1 -1
- package/dist/cjs/chunks/error-CDLOBdNU.cjs +2 -0
- package/dist/cjs/chunks/error-CDLOBdNU.cjs.map +1 -0
- package/dist/cjs/chunks/index-BVArBKuk.cjs +2 -0
- package/dist/cjs/chunks/index-BVArBKuk.cjs.map +1 -0
- package/dist/cjs/chunks/index-DE9HSiWf.cjs +2 -0
- package/dist/cjs/chunks/index-DE9HSiWf.cjs.map +1 -0
- package/dist/cjs/chunks/{logger-Cz9r6yt5.cjs → logger-CVG0zcPH.cjs} +2 -2
- package/dist/cjs/chunks/{logger-Cz9r6yt5.cjs.map → logger-CVG0zcPH.cjs.map} +1 -1
- package/dist/cjs/chunks/memory-http-transport-DXwDGKtR.cjs +2 -0
- package/dist/cjs/chunks/memory-http-transport-DXwDGKtR.cjs.map +1 -0
- package/dist/cjs/chunks/node-http-transport-vrbnNEDb.cjs +2 -0
- package/dist/cjs/chunks/node-http-transport-vrbnNEDb.cjs.map +1 -0
- package/dist/cjs/chunks/{progress-CK7CT9vU.cjs → progress-Bj2w-90A.cjs} +2 -2
- package/dist/cjs/chunks/{progress-CK7CT9vU.cjs.map → progress-Bj2w-90A.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-BJwTSiGf.cjs +2 -0
- package/dist/cjs/chunks/repository-BJwTSiGf.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-DL8bkNdg.js +2 -0
- package/dist/esm/chunks/browser-http-transport-DL8bkNdg.js.map +1 -0
- package/dist/esm/chunks/context-CumKOV7K.js.map +1 -1
- package/dist/esm/chunks/error-MOmSzp9Z.js +2 -0
- package/dist/esm/chunks/error-MOmSzp9Z.js.map +1 -0
- package/dist/esm/chunks/index-BjmofbKE.js +2 -0
- package/dist/esm/chunks/index-BjmofbKE.js.map +1 -0
- package/dist/esm/chunks/index-Jh5R-UmU.js +2 -0
- package/dist/esm/chunks/index-Jh5R-UmU.js.map +1 -0
- package/dist/esm/chunks/{logger-84ixEPbQ.js → logger-DP2cCpvL.js} +2 -2
- package/dist/esm/chunks/{logger-84ixEPbQ.js.map → logger-DP2cCpvL.js.map} +1 -1
- package/dist/esm/chunks/memory-http-transport-COJU6VOL.js +2 -0
- package/dist/esm/chunks/memory-http-transport-COJU6VOL.js.map +1 -0
- package/dist/esm/chunks/node-http-transport-DYCFIJbc.js +2 -0
- package/dist/esm/chunks/node-http-transport-DYCFIJbc.js.map +1 -0
- package/dist/esm/chunks/{progress-OTDhgmPO.js → progress-NePjO3Kd.js} +2 -2
- package/dist/esm/chunks/{progress-OTDhgmPO.js.map → progress-NePjO3Kd.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-Cs-dbHqO.js +2 -0
- package/dist/esm/chunks/repository-Cs-dbHqO.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 -1
- package/dist/types/adapters/browser/index.d.ts +2 -1
- package/dist/types/adapters/memory/index.d.cts +23 -2
- package/dist/types/adapters/memory/index.d.ts +23 -2
- package/dist/types/adapters/node/index.d.cts +178 -3
- package/dist/types/adapters/node/index.d.ts +178 -3
- package/dist/types/chunks/{context-CTaXSPiP.d.ts → context-BORy7yXb.d.ts} +133 -20
- package/dist/types/chunks/{context-d36639-i.d.cts → context-CMrHCVwK.d.cts} +133 -20
- package/dist/types/chunks/reflog-entry-BIf-zt__.d.cts +331 -0
- package/dist/types/chunks/reflog-entry-D9P2hCgv.d.ts +331 -0
- package/dist/types/chunks/{repository-CFT9j9H6.d.cts → repository-BqibvTOu.d.cts} +23 -4
- package/dist/types/chunks/{repository-ntg7eXb2.d.ts → repository-C4rN09Am.d.ts} +23 -4
- package/dist/types/chunks/write-tree-B8G6kgTy.d.cts +154 -0
- package/dist/types/chunks/write-tree-BXCDChvv.d.ts +154 -0
- package/dist/types/commands/index.d.cts +229 -37
- package/dist/types/commands/index.d.ts +229 -37
- package/dist/types/index.browser.d.cts +4 -4
- package/dist/types/index.browser.d.ts +4 -4
- package/dist/types/index.d.cts +4 -4
- package/dist/types/index.d.ts +4 -4
- package/dist/types/index.default.d.cts +4 -4
- package/dist/types/index.default.d.ts +4 -4
- package/dist/types/index.node.d.cts +4 -4
- package/dist/types/index.node.d.ts +4 -4
- 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 +393 -171
- package/dist/types/primitives/index.d.ts +393 -171
- package/package.json +76 -10
- package/dist/cjs/chunks/browser-http-transport-BBF8uw-f.cjs +0 -2
- package/dist/cjs/chunks/browser-http-transport-BBF8uw-f.cjs.map +0 -1
- 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-Cfo6Bj8T.cjs +0 -2
- package/dist/cjs/chunks/repository-Cfo6Bj8T.cjs.map +0 -1
- package/dist/esm/chunks/browser-http-transport-mZQKkInJ.js +0 -2
- package/dist/esm/chunks/browser-http-transport-mZQKkInJ.js.map +0 -1
- package/dist/esm/chunks/error-CnIcr6IG.js +0 -2
- package/dist/esm/chunks/error-CnIcr6IG.js.map +0 -1
- package/dist/esm/chunks/error-DTEP18A3.js +0 -2
- package/dist/esm/chunks/error-DTEP18A3.js.map +0 -1
- package/dist/esm/chunks/index-CJc-SKMj.js +0 -2
- package/dist/esm/chunks/index-CJc-SKMj.js.map +0 -1
- package/dist/esm/chunks/memory-http-transport-BmHjaEWj.js +0 -2
- package/dist/esm/chunks/memory-http-transport-BmHjaEWj.js.map +0 -1
- package/dist/esm/chunks/merge-base-DmuOYxfP.js +0 -2
- package/dist/esm/chunks/merge-base-DmuOYxfP.js.map +0 -1
- package/dist/esm/chunks/node-http-transport-Bz3noIS3.js +0 -2
- package/dist/esm/chunks/node-http-transport-Bz3noIS3.js.map +0 -1
- package/dist/esm/chunks/repository-qcX3-LkP.js +0 -2
- package/dist/esm/chunks/repository-qcX3-LkP.js.map +0 -1
- package/dist/types/chunks/diff-change-B09vxnxy.d.cts +0 -59
- package/dist/types/chunks/diff-change-D7xSeCn9.d.ts +0 -59
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-BVArBKuk.cjs","sources":["../../../src/domain/git-index/error.ts","../../../src/domain/git-index/index-entry.ts","../../../src/domain/objects/encoding.ts","../../../src/domain/objects/error.ts","../../../src/domain/objects/author-identity.ts","../../../src/domain/objects/object-id.ts","../../../src/domain/objects/commit.ts","../../../src/domain/objects/file-mode.ts","../../../src/domain/objects/header.ts","../../../src/domain/objects/tag.ts","../../../src/domain/objects/tree.ts","../../../src/domain/objects/git-object.ts","../../../src/domain/objects/blob.ts","../../../src/domain/objects/size.ts","../../../src/domain/git-index/path-validator.ts","../../../src/domain/git-index/index-parser.ts","../../../src/domain/git-index/index-writer.ts","../../../src/domain/diff/flat-tree.ts","../../../src/domain/diff/change-path.ts","../../../src/domain/diff/mode-kind.ts","../../../src/domain/diff/path-compare.ts","../../../src/domain/diff/rename-detect.ts","../../../src/domain/diff/tree-diff.ts","../../../src/domain/pathspec/compile-glob.ts","../../../src/domain/ignore/parse-gitignore.ts","../../../src/domain/protocol/capabilities.ts","../../../src/domain/protocol/error.ts","../../../src/domain/protocol/pkt-line.ts","../../../src/domain/protocol/side-band.ts","../../../src/domain/protocol/upload-pack.ts","../../../src/domain/reflog/error.ts","../../../src/domain/reflog/reflog-format.ts","../../../src/domain/reflog/should-log.ts","../../../src/domain/refs/error.ts","../../../src/domain/refs/ref-validation.ts","../../../src/domain/refs/loose-ref.ts","../../../src/domain/sparse/cone.ts","../../../src/domain/sparse/non-cone.ts","../../../src/domain/sparse/parse-sparse-checkout.ts","../../../src/domain/storage/crc32.ts","../../../src/domain/storage/error.ts","../../../src/domain/storage/delta.ts","../../../src/domain/storage/pack-entry.ts","../../../src/domain/storage/pack-index.ts","../../../src/domain/storage/pack-writer.ts","../../../src/application/primitives/path-layout.ts","../../../src/domain/storage/loose-path.ts","../../../src/application/primitives/validators.ts","../../../src/application/primitives/types.ts","../../../src/domain/working-tree-path.ts","../../../src/application/primitives/walk-working-tree.ts","../../../src/application/primitives/write-object.ts","../../../src/application/primitives/config-read.ts","../../../src/application/primitives/reflog-store.ts","../../../src/application/primitives/object-resolver.ts","../../../src/application/primitives/pack-registry.ts","../../../src/application/primitives/read-object.ts","../../../src/application/primitives/ref-store.ts","../../../src/domain/refs/packed-refs.ts","../../../src/application/primitives/resolve-ref.ts","../../../src/application/primitives/atomic-write.ts","../../../src/application/primitives/reflog-identity.ts","../../../src/application/primitives/record-ref-update.ts","../../../src/application/primitives/update-ref.ts","../../../src/application/primitives/write-symbolic-ref.ts","../../../src/application/primitives/cat-file-batch.ts","../../../src/application/primitives/read-blob.ts","../../../src/application/primitives/apply-changeset.ts","../../../src/application/primitives/compute-changeset.ts","../../../src/application/primitives/walk-tree.ts","../../../src/application/primitives/materialize-tree.ts","../../../src/application/primitives/read-sparse-checkout.ts","../../../src/application/primitives/read-tree.ts","../../../src/application/primitives/write-tree.ts","../../../src/application/primitives/synthesize-tree-from-index.ts","../../../src/application/primitives/fetch-pack.ts","../../../src/application/primitives/shallow-file.ts","../../../src/application/primitives/update-config.ts","../../../src/application/primitives/run-hook.ts","../../../src/application/primitives/diff-trees.ts","../../../src/application/primitives/walk-commits.ts","../../../src/application/primitives/merge-base.ts","../../../src/application/primitives/build-pack.ts","../../../src/application/primitives/enumerate-push-objects.ts","../../../src/application/primitives/enumerate-refs.ts","../../../src/application/primitives/build-index-from-tree.ts","../../../src/application/primitives/walk-submodules.ts","../../../src/application/primitives/create-commit.ts","../../../src/application/primitives/read-index.ts","../../../src/application/primitives/write-sparse-checkout.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,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":["invalidIndexHeader","reason","TsgitError","code","invalidIndexEntry","offset","STAGE0_FLAGS","assumeValid","stage","skipWorktree","intentToAdd","skipWorktreeEntry","entry","ctimeSeconds","ctimeNanoseconds","mtimeSeconds","mtimeNanoseconds","dev","ino","mode","uid","gid","fileSize","id","flags","path","HEX_TABLE","Array","from","length","_","i","toString","padStart","bytesToHex","bytes","parts","join","hexToBytes","hex","Error","Uint8Array","high","parseHexDigit","charCodeAt","low","charCode","compareBytes","a","b","len","Math","min","indexOf","target","fromIndex","textEncoder","TextEncoder","textDecoder","TextDecoder","encode","str","decode","splitHeaderAndMessage","text","blankIndex","headerPart","message","slice","formatContinuationHeader","key","value","includes","valueParts","split","map","line","parseHeaderLine","spaceIdx","parseOptionalHeaderBlock","lines","startIndex","onInvalidKey","onDuplicateGpgsig","gpgSignature","extraHeaders","firstValue","endIdx","j","nextLine","startsWith","push","undefined","invalidObjectId","invalidObjectHeader","invalidTreeEntry","invalidCommit","invalidTag","invalidIdentity","objectNotFound","objectHashMismatch","expected","actual","unexpectedObjectType","treeDepthExceeded","depth","treeEntryLimitExceeded","count","limit","objectTooLarge","actualSize","parseIdentity","lastClose","lastIndexOf","lastOpen","rawName","name","endsWith","email","trim","timestamp","Number","isSafeInteger","timezoneOffset","test","CONTROL_CHARS","serializeIdentity","identity","SHA1_HEX_RE","SHA256_HEX_RE","ObjectId","fromRaw","ZERO_OID","RefName","FilePath","serializeCommitContent","commit","data","tree","parent","parents","author","committer","header","FILE_MODE","REGULAR","EXECUTABLE","SYMLINK","DIRECTORY","GITLINK","VALID_MODES","Set","Object","values","NORMALIZE_MAP","Map","normalizeFileMode","has","validateFileMode","get","isDirectory","VALID_TYPES","parseHeader","rawBytes","nullIndex","headerStr","subarray","spaceIndex","type","sizeStr","size","isFinite","String","contentOffset","VALID_OBJECT_TYPES","serializeTagContent","tag","object","objectType","tagName","tagger","serializeTreeContent","hash","encoded","sortTreeEntries","entries","totalLength","reduce","sum","e","digestLength","result","set","decorated","sortKey","encodeEntryName","sort","d","treeEntryCompare","isDir","nameBytes","parseObject","content","parseBlobContent","names","modeStr","hashStart","hashEnd","rawHash","entryId","ObjectIdFactory","add","parseTreeContent","nextIndex","parseRequiredFields","msg","parseOptionalHeaders","parseCommitContent","requiredEnd","objectTypeStr","parseRequiredTagFields","parseTaggerField","parseTagOptionalHeaders","parseTagContent","serializeObject","contentBytes","payloadByteLength","byteLength","UNSAFE_SEGMENTS","BIDI_CONTROLS","reasonFor","segment","isControlChar","validateIndexPath","unsafeReason","decodeEntryFlags","view","version","flagsRaw","getUint16","extended","extendedSize","raw","extRaw","findNul","compareEntryPath","left","right","writeEntry","buf","pathBytes","setUint32","parseInt","shaBytes","nameLength","setUint16","MAX_FLAT_TREE_ENTRIES","primaryPath","change","newPath","oldPath","kindOf","isSameKind","pathEncoder","sortByPath","items","pathOf","item","tryFoldAdd","deletesByOldId","matches","newId","del","rename","newMode","consumedDelete","addFrom","deleteFrom","oldId","oldMode","classifySamePath","oldEntry","newEntry","entriesOf","PREFIX_TOKEN","kind","scanToken","pattern","ch","token","next","after","scanStar","char","stepToken","cur","stepLiteral","stepSingle","stepStar","stepStarStar","seg","stepStarSlash","compileGlob","options","tokens","scanned","tokenize","dp","withDirSuffix","baseLayer","anchored","matchTokens","stripTrailingSpaces","end","unescapePattern","s","replace","tokenizeIgnoreLine","rawLine","trimmed","negated","afterNegation","directoryOnly","withoutTrailingSlash","stripped","cleanPattern","AGENT","CLIENT_CAPABILITIES_FETCH","CLIENT_CAPABILITIES_PUSH","keyOf","eq","pktLengthReserved","pktTooLarge","invalidBaseUrl","missingServiceHeader","invalidRefLine","invalidSidebandChannel","channel","sidebandFatal","tooManyAdvertisedRefs","ENCODER","DECODER","fatal","HEX_LENGTH_RE","ACC_CAPACITY","MAX_PKT_LINE_PAYLOAD","FLUSH_PKT","lengthPrefix","encodePktStream","payloads","total","p","RangeError","out","off","parseLength","acc","decodePktStream","source","Symbol","asyncIterator","async","PktBuffer","chunk","accept","drain","used","remaining","classify","available","v2","consume","this","headerNeeded","max","headerSlice","drop","copyWithin","to","decision","payload","TEXT_DECODER","safeInvoke","cb","parseSideBand","pkt","body","onError","onProgress","demux","TEXT_ENCODER","SHA_ANY_RE","SERVICE_LINE_RE","MAX_ADVERTISED_REFS","stripTrailingNewline","validateOidString","splitRef","space","appendNewRef","byName","duplicateRef","refs","handleRefLine","capabilities","nul","head","tail","splitFirstRef","t","dedupeByKey","filter","PEELED_SUFFIX","peeled","baseIdx","applyPeeled","haveLine","oid","DONE_FRAME","encodePktLine","parseAckLine","status","SHALLOW_PREFIX","UNSHALLOW_PREFIX","parseShallowOid","prefix","tryConsumeShallowLine","state","shallow","unshallow","pushbackBuffer","WeakMap","invalidReflogEntry","serializeReflogLine","parseReflogLine","tab","meta","NEW_ID_START","parseOid","OID_LENGTH","parseReflogIdentity","NEW_ID_END","sanitizeReflogMessage","DEFAULT_LOGGABLE_PREFIXES","invalidRef","invalidPackedRefs","refNotFound","refChainTooDeep","chain","refCycleDetected","refLocked","FORBIDDEN_SIMPLE","validateRefName","throwIfBadChars","components","component","parseLooseRef","SYMBOLIC_PREFIX","properAncestors","dir","segments","ancestors","normalizeConeDir","posix","rejectBadSegment","shown","invalidOption","parseConeDirLine","inner","compileSparseRule","tokenized","recursive","last","isRecursive","matcher","PATTERN_ENCODER","parseNonCone","rules","parseSparseCheckout","coneRequested","cone","index","parseCone","spec","degraded","buildSparseMatcher","slash","dirname","ancestor","coneMatcher","included","rule","CRC32_TABLE","table","Uint32Array","c","buildCrc32Table","crc32","invalidPackHeader","invalidPackIndex","invalidPackEntry","invalidDelta","deltaChainTooDeep","readVariableLengthInt","shift","pos","bytesRead","byte","nextOffset","decodeCopyFields","cmd","needed","countCopyFieldBytes","currentPos","nextPos","validateCopyBounds","baseLen","resultPos","targetLen","applyInsert","delta","targetLength","nextResultPos","applyDelta","base","sourceLength","o1","o2","validateDeltaHeader","applied","PACK_MAGIC","parsePackEntryHeader","firstByte","extensionBytes","decodeTypeAndSize","validateEntryType","distance","entryOffset","continuationCount","decodeOfsDistance","dataOffset","baseDistance","endPos","baseId","encodePackEntryHeader","nextByte","IDX_SHA_TABLE_OFFSET","readFanout","_view","getUint32","compareShaAtIndex","targetBytes","_bytes","readOffset","smallOffsetsTableOffset","largeIdx","largeOffset","largeOffsetsTableOffset","trailerOffset","lookupPackIndex","mid","cmp","concat","concatAll","arrays","arr","looseObjectPath","gitDir","computeLooseObjectPath","looseRefPath","indexPath","reflogPath","ref","sparseCheckoutPath","lockSuffix","hasHeaderInjectionChars","isInvalidExtraHeaderKey","REASON_INDEX_EXCEEDS_MAX","REASON_PACK_IDX_EXCEEDS_MAX","exceedsMaxIndexBytes","exceedsMaxPackIdxBytes","exceedsMaxSymbolicDepth","cap","exceedsMaxPeelDepth","isGitlink","exceedsMaxTreeEntries","OBJECT_ID_SHA1_RE","OBJECT_ID_SHA256_RE","looksLikeObjectId","PATH_ENCODER","GIT_FORBIDDEN","validateWorkingTreePath","input","reject","rejectComponent","isForbiddenGitComponent","lowered","toLowerCase","pathspecOutsideRepo","original","walkInternal","config","counter","isRoot","maxDepth","ctx","fs","readdir","directoryPath","some","isEmbeddedGitMarker","signal","aborted","operationAborted","visitEntry","joinPath","isSymbolicLink","ignore","isFile","maxEntries","stat","lstat","layout","workDir","writeObject","hashConfig","computed","hashHex","declaredId","mkdir","objectsDir","compressed","compressor","deflate","writeExclusive","error","isFileExists","cache","readConfig","existing","pending","loadConfig","invalidateConfigCache","delete","readRawConfig","parseConfigText","readUtf8","err","sections","parseIniSections","assembleParsed","current","joinContinuations","stripInlineComment","parseSectionHeader","section","subsection","kv","parseKeyValue","piece","cuts","indexOfUnquoted","n","inQuotes","quoteAt","sectionPart","lastQuote","eqAt","dispatchSection","sec","mergeCore","mergeUser","mergeRemote","mergeBranch","mergeExtensions","finalize","core","bare","parseGitBoolean","excludesFile","logAllRefUpdates","parseLogAllRefUpdates","hooksPath","sparseCheckout","sparseCheckoutCone","user","remote","fetch","url","promisor","partialCloneFilter","merged","branch","merge","extensions","partialClone","finalizeCore","TRUE_VALUES","appendReflog","appendUtf8","reflogExists","exists","deleteReflog","rm","collectReflogs","rel","resolveObject","registry","verifyHash","maxBytes","checkAborted","loose","read","inflate","tryLoose","inflated","enforceLooseCap","hit","lookup","targetId","phase1","deltas","currentHit","headerEndInChunk","readEntryHeaderWithChunk","isBase","enforcePackBaseCap","baseContent","streamInflate","output","baseType","instructions","enforcePackDeltaPreApplyCap","resolvedBaseId","pack","refDeltaBaseId","resolveBaseForRefDelta","collectDeltaChain","step","fullBytes","typeName","packTypeName","headerBytes","prependHeader","cacheEntry","deltaCache","resolvePackChain","declaredSize","declaredTargetSize","readDeltaTargetSize","h","readSlice","packPath","cached","nulIdx","enforceCachedCap","splitHeader","sourceId","typeNameToPackType","isCandidate","loadPack","entryName","idxPath","idxBytes","readBoundedIdx","IDX_HEADER_SIZE","DataView","buffer","byteOffset","magic","prev","validateFanoutMonotonicity","objectCount","crc32TableOffset","minExpectedSize","parsePackIndex","createPackRegistry","loadAll","packs","all","refresh","registryCache","inflightCache","readObject","getPackRegistry","isObjectNotFound","inflight","getInflight","then","outcome","attempted","lazyFetchOnce","storeCache","getRefStore","store","packedCache","loadPackedRefs","peeling","sorted","mtimeMs","mtimeKey","parsed","firstLine","traitStr","HEADER_PREFIX","traits","hasPeeled","lastIndex","sha","RefNameFactory","parseEntries","parsePackedRefs","readLooseContent","resolveDirect","looseContent","packed","writeLoose","writeUtf8","serializeDirectRef","removeLoose","getPackedRefs","createRefStore","resolveRef","maxSymbolicDepth","maxPeelDepth","peel","refStore","initial","resolveDirectChain","startId","peelChain","atomicWriteRef","refName","refPath","lockPath","rmError","isFileNotFound","resolveReflogIdentity","floor","Date","now","recordRefUpdate","cfg","isDefaultLoggable","shouldAutocreateReflog","isLoggable","HEAD","throwIfAborted","readOne","readOptions","ok","buildOkEntry","buildMissingEntry","readBlob","decoder","workdir","isWorkingTreeDirty","absPath","expectedId","combined","blobMatches","evaluateDirtyPath","previousId","isUntrackedClash","writeFileEntry","symlink","write","chmod","applyEntry","blob","relPath","ctimeMs","ctimeNs","mtimeNs","buildIndexEntry","applyChangeset","opts","changeset","force","dirty","offending","checkDirty","checkoutOverwriteDirty","writtenEntries","written","deleted","indexEntry","progress","update","stats","targetEntry","previousMode","computeChangeset","currentIndex","targetTree","indexByPath","projectIndex","targetByPath","projectTarget","allPaths","keys","noop","walkTree","treeIdOrObject","rootTree","obj","resolveTree","stack","exceedsMaxTreeDepth","descentStack","shouldRecurse","subtreeObj","filterByPaths","paths","pickEntry","writtenByPath","oldByPath","tallyStats","MAX_SPARSE_PATTERN_FILE_BYTES","readSparsePatternText","sparsePatternFileTooLarge","readTree","currentId","writeTree","assertDepthBounded","slashCount","synthesizeLevel","files","subdirs","slashIndex","rest","bucket","sub","groupByPrefix","treeEntries","file","subEntries","subId","SIDE_BAND_CAPS","downloadPack","transport","requestBody","req","wants","wantPayloads","forEach","w","idx","caps","wantLine","wantStream","haveStream","haves","trailer","done","buildUploadPackRequest","uploadUrl","buildUploadPackUrl","response","request","method","headers","statusCode","httpError","pktSource","readableStreamToAsyncIterable","iter","shallowUpdates","expectShallow","parseShallowResponse","acks","nak","first","buffered","splitMeta","packBody","replayed","replay","sideBand","sbOptions","rawPackBytes","packBodyStream","parseUploadPackResponse","hasSideBand","progressOp","sanitize","packBytes","drainPackBodyBounded","maxResponseBytes","chunks","lastTick","packTooLargeBytes","baseUrl","URL","pathname","protocol","host","search","inflateAllEntries","parsePackHeader","objectCountCap","maxObjectsPerPack","trailerStart","entryHeader","entryEnd","bytesConsumed","entryCrc","resolveAllEntries","byOffset","byId","unresolved","resolved","tryResolveEntry","firstUnresolvedError","refBaseId","isBaseHeader","baseTypeName","computeLooseObjectId","baseOffset","resolveDelta","refBase","writePackArtifacts","packSha","packDir","shallowPath","readShallow","isShallowOid","OID","matchesSection","isSectionHeader","isKeyLine","renderEntry","rejectControlChars","field","setConfigEntry","rejectSection","rejectSubsection","headerIndex","findSectionHeader","renderSectionHeader","keyIndex","findKeyInSection","at","replacement","replaceLine","insertAfter","updateConfigEntries","readConfigText","updated","resolveHooksDir","fallback","homeDir","resolveInput","walkCommits","invalidWalkInput","exceedsMaxWalkSeeds","validateOptions","order","ignoreMissing","queue","visited","missing","until","pickNext","fetchCommit","enqueueParents","MAX_WALK_SEEDS","_order","advanceFrontier","frontier","intersection","encodeEntry","compressedData","packEntryTypeFor","uncompressedSize","tryEmit","emitted","resolveTagChain","recordTag","walkLooseRefs","includedFlags","donorFlags","sparse","byPath","HEAD_REF","walkInTree","pathPrefix","rows","readGitmodules","fullPath","row","buildEntry","childCtx","deriveChildContext","childTree","tryReadTree","nextVisited","treeRelPath","leaf","find","reduceSection","mergeKey","k","isUnsafeSubmoduleName","DRIVE_LETTER_PREFIX","hasControlChar","_promisor","hooks","_hooks","freeze","cwd","commitId","dirs","service","donors","donorByPath","leaves","treeId","collectLeaves","donor","zeroStatEntry","projectLeaf","writerEntries","oids","packfile","serializePackHeader","metas","currentOffset","entryBytes","serializePackfile","trailerBytes","ids","treeA","treeB","Promise","oldTree","newTree","oldEntries","newEntries","changes","domainDiffTrees","detectRenames","diff","maxSameIdDeletes","adds","deletes","other","partition","byOldId","list","pruned","buildDeletesByOldId","consumedDeletes","renames","unfoldedAdds","fold","unfoldedDeletes","renameOptions","maxObjects","commitSeeds","seeds","want","seed","collectCommitSeeds","walkCommitClosure","root","collectLooseRefs","start","download","trailerLen","bodyEnd","expectedHex","actualHex","verifyPackTrailer","r","walkPackEntries","packChecksum","withBytes","largeCount","shaTableSize","crcTableSize","offsetTableSize","totalSize","headerSize","bucketCounts","fanout","cumulative","fanoutOffset","crcStart","offsetStart","largeOffsetStart","serializePackIndex","idxTrailerBytes","buildIdx","logger","warn","allTarget","collected","collectTargetEntries","plan","indexForDiff","excluded","planMaterialize","rawChangeset","forceRewriteAll","upgradeNoopsToUpdates","inScope","scopedPaths","writtenEntriesByPath","indexEntriesByPath","preserveOutOfScope","picked","mergeNewIndexEntries","newIndexEntries","visitedA","visitedB","frontierA","frontierB","stepA","stepB","serverCaps","clientCaps","serverByKey","serverValue","expectedService","match","exec","groups","sep","consumeServiceHeader","collectRefs","directHead","symref","targetRef","findHead","return","compiled","trailerSize","entryCount","entryStart","rawMode","nulEnd","FilePathFactory","extensionEnd","signature","firstChar","safe","parseExtensions","parseIndex","requested","runner","hooksDir","args","stdin","run","exitCode","hookFailed","stderr","sortedEntries","entryMetas","paddedLength","extensionMetas","ext","sigBytes","m","stage0Entries","refUpdateConflict","isLoose","unsupportedOperation","deleteRef","reflogMessage","logCoupledHead","updates","deleteIfPresent","shallowLockPath","rmErr","atomicWrite","validatedName","validatedTarget","serializeSymbolicRef"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var e=require("./error-CDLOBdNU.cjs"),t=require("./index-BVArBKuk.cjs"),r=require("../transport/index.cjs"),a=require("./readable-stream-MTA6D0Zh.cjs");const i=t=>new e.TsgitError({code:"INVALID_DIFF_INPUT",reason:t});function o(e){const t=[];return void 0!==e.baseId&&void 0!==e.baseMode&&t.push({id:e.baseId,mode:e.baseMode,stage:1}),void 0!==e.ourId&&void 0!==e.ourMode&&t.push({id:e.ourId,mode:e.ourMode,stage:2}),void 0!==e.theirId&&void 0!==e.theirMode&&t.push({id:e.theirId,mode:e.theirMode,stage:3}),t}function n(e,r,a){const i=a(r.mode);return{ctimeSeconds:i.ctimeSeconds,ctimeNanoseconds:i.ctimeNanoseconds,mtimeSeconds:i.mtimeSeconds,mtimeNanoseconds:i.mtimeNanoseconds,dev:i.dev,ino:i.ino,mode:r.mode,uid:i.uid,gid:i.gid,fileSize:i.fileSize,id:r.id,flags:{...t.STAGE0_FLAGS,stage:r.stage},path:e}}const s=1e5;function c(e){const t=[];let r=0;for(let a=0;a<e.length;a++)10===e[a]&&(t.push(e.subarray(r,a+1)),r=a+1);return r<e.length&&t.push(e.subarray(r)),t}function d(e){return function(e){const t=Math.min(e.length,8e3);for(let r=0;r<t;r++)if(0===e[r])return!0;return!1}(e)||function(e){let t=0,r=0;for(let a=0;a<e.length;a++){if(t++,t>=65536)return!0;if(10===e[a]){if(r++,r>=s)return!0;t=0}}return t>0&&(r++,r>=s)}(e)}function f(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0}function l(e,t,r,a){return a===-r||e[a-1+t]<e[a+1+t]}function u(e,t,r,a,i,o){let n=l(r,a,i,o)?r[o+1+a]:r[o-1+a]+1,s=n-o;for(;n<e.length&&s<t.length&&f(e[n],t[s]);)n++,s++;return{x:n,y:s}}function h(e){const t=[];let r=0,a=0,i=0;for(;i<e.length;){const o=e[i],n=r,s=a;for(;e[i]===o;)"equal"===o?(r++,a++):"delete"===o?r++:a++,i++;t.push({kind:"equal"===o?"common":"delete"===o?"ours-only":"theirs-only",oursStart:n,oursEnd:r,theirsStart:s,theirsEnd:a})}return t}function w(e,t){const r=c(e),a=c(t),i=r.length,o=a.length;if(0===i&&0===o)return{hunks:[{kind:"common",oursStart:0,oursEnd:0,theirsStart:0,theirsEnd:0}],oursLines:r,theirsLines:a,degraded:!1};const n=function(e,t){const r=e.length,a=t.length;if(r+a>5e4)return;const i=r+a,o=i,n=new Array(2*i+1).fill(0),s=[],c=1e3*i;let d=0;for(let i=0;;i++){const f=2*i+1,l=new Array(f);for(let e=0;e<f;e++)l[e]=n[o-i+e];s.push(l);for(let f=-i;f<=i;f+=2){if(d++,d>c)return;const l=u(e,t,n,o,i,f);if(n[f+o]=l.x,l.x>=r&&l.y>=a)return{trace:s,totalD:i}}}}(r,a);return void 0===n?function(e,t){const r=[];return e.length>0&&r.push({kind:"ours-only",oursStart:0,oursEnd:e.length,theirsStart:0,theirsEnd:0}),t.length>0&&r.push({kind:"theirs-only",oursStart:e.length,oursEnd:e.length,theirsStart:0,theirsEnd:t.length}),{hunks:r,oursLines:e,theirsLines:t,degraded:!0}}(r,a):{hunks:h(function(e,t,r){const a=[];let i=e,o=t;for(let e=r.length-1;e>0;e--){const t=r[e],n=e,s=i-o,c=l(t,n,e,s)?s+1:s-1,d=t[c+n],f=d-c;for(;i>d&&o>f;)a.push("equal"),i--,o--;a.push(i===d?"insert":"delete"),i===d?o--:i--}for(;i>0;)a.push("equal"),i--;return a.reverse(),a}(i,o,n.trace)),oursLines:r,theirsLines:a,degraded:!1}}const p=(e,t,r)=>{let a="unset";for(const i of e)i.directoryOnly&&!r||i.compiled.test(t)&&(a=i.negated?"unignored":"ignored");return a},m=(e,t)=>{if(""===t)return e;const r=`${t}/`;return e.startsWith(r)?e.slice(r.length):void 0},g=e=>{const r=e.startsWith("!"),a=r?e.slice(1):e;return t.containsGlob(a)?{pattern:e,body:a,negated:r,isLiteral:!1,compiled:t.compileGlob(a,{anchored:a.includes("/")})}:{pattern:e,body:a,negated:r,isLiteral:!0,compiled:t.compileGlob(a,{anchored:!0,withDirSuffix:!0})}},y=(e,t)=>{let r=!1;for(const a of e)a.compiled.test(t)&&(r=!a.negated);return r},v=t=>new e.TsgitError({code:"INVALID_MERGE_TREE",reason:t}),b=t=>new e.TsgitError({code:"INVALID_MERGE_INPUT",reason:t}),k=268435456,E=["<<<<<<<","=======",">>>>>>>","|||||||"],x=new TextEncoder;function $(e){return e<=31||e>=127&&e<=159}function I(e){return e>=8234&&e<=8238||e>=8294&&e<=8297||8203===e||8204===e||8205===e||8288===e||65279===e}function R(e,t){if(e.length>255)throw b(`conflict marker ${t} label exceeds maximum length`);if(""===e.trim())throw b(`conflict marker ${t} label is empty or whitespace-only`);if(function(e){for(let t=0;t<e.length;t++){const r=e.charCodeAt(t);if($(r)||I(r))return!0}return!1}(e))throw b(`conflict marker ${t} label contains forbidden control character`);if(function(e){for(const t of E)if(e.includes(t))return!0;return!1}(e))throw b(`conflict marker ${t} label contains forbidden marker substring`)}function D(e){let t=0;for(const r of e)t+=r.length;return t}function S(e){if(0===e.length)return new Uint8Array(0);const t=D(e),r=e[e.length-1],a=0===r.length||10!==r[r.length-1],i=new Uint8Array(t+(a?1:0));let o=0;for(const t of e)i.set(t,o),o+=t.length;return a&&(i[o]=10),i}function T(e,t,r={}){if("diff3"===r.conflictStyle)throw b("diff3 conflict style requires base lines — not supported in v1");const a=r.labels?.ours??"ours",i=r.labels?.theirs??"theirs";if(R(a,"ours"),R(i,"theirs"),void 0!==r.labels?.base&&R(r.labels.base,"base"),D(e)+D(t)>k)throw b("conflict output exceeds MAX_CONFLICT_OUTPUT_BYTES");const o=x.encode(`<<<<<<< ${a}\n`),n=x.encode("=======\n"),s=x.encode(`>>>>>>> ${i}\n`),c=S(e),d=S(t),f=new Uint8Array(o.length+c.length+n.length+d.length+s.length);let l=0;return f.set(o,l),l+=o.length,f.set(c,l),l+=c.length,f.set(n,l),l+=n.length,f.set(d,l),l+=d.length,f.set(s,l),f}function M(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0}function O(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(!M(e[r],t[r]))return!1;return!0}function A(e){let t=0;for(const r of e)t+=r.length;const r=new Uint8Array(t);let a=0;for(const t of e)r.set(t,a),a+=t.length;return r}function N(e,t){const r=[];let a;const i=()=>{void 0!==a&&(r.push({baseStart:a.baseStart,baseEnd:a.baseEnd,replacement:a.replacement}),a=void 0)};for(const r of e)if("common"!==r.kind)if(void 0===a&&(a={baseStart:r.oursStart,baseEnd:r.oursStart,replacement:[]}),"ours-only"===r.kind)a.baseEnd=Math.max(a.baseEnd,r.oursEnd);else for(let e=r.theirsStart;e<r.theirsEnd;e++)a.replacement.push(t[e]);else i();return i(),r}function _(e,t){return e.baseStart===e.baseEnd?t.baseStart===t.baseEnd?e.baseStart===t.baseStart:e.baseStart>=t.baseStart&&e.baseStart<t.baseEnd:t.baseStart===t.baseEnd?t.baseStart>=e.baseStart&&t.baseStart<e.baseEnd:e.baseStart<t.baseEnd&&t.baseStart<e.baseEnd}function L(e,t){for(const r of t)if(r.baseStart===e.baseStart&&r.baseEnd===e.baseEnd&&O(r.replacement,e.replacement))return r}function C(e,t){for(const r of t)if(_(e,r))return!0;return!1}function U(e,t,r){return{status:"conflict",conflictType:"content",markedBytes:T(e,t,r)}}function F(e,t){return e.id===t.id&&e.mode===t.mode}function H(e,r){if(void 0!==e&&e.entries.size>t.MAX_FLAT_TREE_ENTRIES)throw v(`${r} FlatTree exceeds MAX_FLAT_TREE_ENTRIES`)}function B(e){return{status:"conflict",conflict:e}}function P(e,t,r,a){return B({type:"modify-delete",path:e,baseId:t.id,baseMode:t.mode,...void 0===r?{}:{ourId:r.id,ourMode:r.mode},...void 0===a?{}:{theirId:a.id,theirMode:a.mode}})}function W(e,t,r,a){return void 0===t?{status:"resolved-known",path:e,id:r.id,mode:r.mode}:F(t,r)?{status:"resolved-deleted",path:e}:"our"===a?P(e,t,r,void 0):P(e,t,void 0,r)}function j(e,r,a,i,o){return void 0===a&&void 0===i?{status:"resolved-deleted",path:e}:void 0===a?W(e,r,i,"their"):void 0===i?W(e,r,a,"our"):void 0===r?function(e,t,r){return F(t,r)?{status:"resolved-known",path:e,id:t.id,mode:t.mode}:function(e,t,r){return B({type:"add-add",path:e,ourId:t.id,theirId:r.id,ourMode:t.mode,theirMode:r.mode})}(e,t,r)}(e,a,i):async function(e,r,a,i,o){const n=F(r,a),s=F(r,i);if(n&&s)return{status:"unchanged",path:e,id:r.id,mode:r.mode};if(n)return{status:"resolved-known",path:e,id:i.id,mode:i.mode};if(s)return{status:"resolved-known",path:e,id:a.id,mode:a.mode};if(F(a,i))return{status:"resolved-known",path:e,id:a.id,mode:a.mode};if(!t.isSameKind(a.mode,i.mode)||!t.isSameKind(r.mode,a.mode))return function(e,t,r,a){return B({type:"type-change",path:e,baseId:t.id,ourId:r.id,theirId:a.id,baseMode:t.mode,ourMode:r.mode,theirMode:a.mode})}(e,r,a,i);const c=function(e,t,r){return t.mode===r.mode?t.mode:t.mode===e.mode?r.mode:t.mode}(r,a,i);return function(e){return e===t.FILE_MODE.GITLINK}(c)?function(e,t,r,a){return B({type:"gitlink",path:e,baseId:t.id,ourId:r.id,theirId:a.id,baseMode:t.mode,ourMode:r.mode,theirMode:a.mode})}(e,r,a,i):async function(e,t,r,a,i,o){const n={path:e,baseId:t.id,ourId:r.id,theirId:a.id,baseMode:t.mode,ourMode:r.mode,theirMode:a.mode},s=await o(n,void 0,new Uint8Array(0),new Uint8Array(0));if("clean"===s.status){if(s.bytes.length>k)throw b("contentMerger returned oversize clean bytes");return void 0!==s.id?{status:"resolved-known",path:e,id:s.id,mode:i}:{status:"resolved-merged",path:e,bytes:s.bytes,mode:i}}if(s.markedBytes.length>k)throw b("contentMerger returned oversize marked bytes");return B({type:s.conflictType,path:e,baseId:t.id,ourId:r.id,theirId:a.id,baseMode:t.mode,ourMode:r.mode,theirMode:a.mode,conflictContent:s.markedBytes})}(e,r,a,i,c,o)}(e,r,a,i,o)}const G="blob:limit=",z="tree:",q=/^(\d+)([kmg])?$/i,X=/^\d+$/,Y=e=>{if(""===e)throw t.invalidFilterSpec(e,"empty");if("blob:none"===e)return{kind:"blob-none"};if(e.startsWith(G))return(e=>{const r=e.slice(11).match(q);if(null===r)throw t.invalidFilterSpec(e,"bad-blob-limit");const a=Number(r[1])*(e=>{switch(e?.toLowerCase()){case"k":return 1024;case"m":return 1048576;case"g":return 1073741824;default:return 1}})(r[2]);if(!Number.isSafeInteger(a))throw t.invalidFilterSpec(e,"bad-blob-limit");return{kind:"blob-limit",bytes:a}})(e);if(e.startsWith(z))return(e=>{const r=e.slice(5);if(!X.test(r))throw t.invalidFilterSpec(e,"bad-tree-depth");const a=Number(r);if(!Number.isSafeInteger(a))throw t.invalidFilterSpec(e,"bad-tree-depth");return{kind:"tree-depth",depth:a}})(e);throw t.invalidFilterSpec(e,"unknown-kind")},V=e=>{switch(e.kind){case"blob-none":return"blob:none";case"blob-limit":return`${G}${e.bytes}`;case"tree-depth":return`${z}${e.depth}`}},K=new TextDecoder("utf-8",{fatal:!1}),Z=new TextEncoder,J=e=>e.endsWith("\n")?e.slice(0,-1):e,Q=e=>{if(e.startsWith("ok "))return{name:e.slice(3),accepted:!0};if(e.startsWith("ng ")){const r=e.slice(3),a=r.indexOf(" ");if(a<0)throw t.invalidReportStatus(e);return{name:r.slice(0,a),accepted:!1,reason:r.slice(a+1)}}throw t.invalidReportStatus(e)},ee=async e=>{const r=await(async e=>{const t=[];for await(const r of e){if("data"!==r.kind)return t;t.push(J(K.decode(r.payload)))}return t})(e);if(0===r.length)throw t.invalidReportStatus("");const[a,...i]=r,o=(e=>{if("unpack ok"===e)return{ok:!0};if(e.startsWith("unpack "))return{ok:!1,error:e.slice(7)};throw t.invalidReportStatus(e)})(a);return o.ok?{unpackOk:!0,refUpdates:i.map(Q)}:{unpackOk:!1,unpackError:o.error,refUpdates:[]}},te={second:1,minute:60,hour:3600,day:86400,week:604800,month:2592e3,year:31536e3},re=/^(\d{4})-(\d{2})-(\d{2})(?: (\d{2}):(\d{2}):(\d{2}))?$/,ae=/^(\d+)[ .]([a-z]+?)s?(?:[ .]ago)?$/;function ie(e,t){const r=e.trim().toLowerCase();return"now"===r?t:"yesterday"===r?t-86400:function(e){const t=re.exec(e);if(null===t)return;const[,r,a,i,o,n,s]=t,c=Number(r),d=Number(a),f=Number(i),l=void 0===o?0:Number(o),u=void 0===n?0:Number(n),h=void 0===s?0:Number(s);if(d<1||d>12)return;if(f<1||f>function(e,t){return 2===t&&function(e){return e%4==0&&e%100!=0||e%400==0}(e)?29:oe[t-1]}(c,d))return;if(l>23)return;if(u>59)return;if(h>59)return;const w=new Date(c,d-1,f,l,u,h);return w.setFullYear(c),Math.floor(w.getTime()/1e3)}(r)??function(e,t){const r=ae.exec(e);if(null===r)return;const[,a,i]=r,o=te[i];return void 0===o?void 0:t-Number(a)*o}(r,t)}const oe=[31,28,31,30,31,30,31,31,30,31,30,31],ne=async(e,t)=>se(e,""===t?`${e.layout.workDir}/.gitignore`:`${e.layout.workDir}/${t}/.gitignore`),se=async(r,a)=>{let i;try{i=await r.fs.lstat(a)}catch(t){if(t instanceof e.TsgitError&&"FILE_NOT_FOUND"===t.data.code)return;throw t}if(!i.isFile||i.isSymbolicLink)return;if(i.size>t.MAX_GITIGNORE_BYTES)throw e.gitignoreFileTooLarge(ce(a),i.size,t.MAX_GITIGNORE_BYTES);const o=await r.fs.readUtf8(a);return t.parseGitignore(o)},ce=e=>{const t=e.lastIndexOf("/");return-1===t?e:e.slice(t+1)},de=async e=>{const r=await(async e=>{const r=[],a=await(async e=>{const r=await t.readConfig(e),a=r.core?.excludesFile;if(void 0===a)return;const i=((e,t)=>{if("~"===t)return e.layout.homeDir;if(t.startsWith("~/")){if(void 0===e.layout.homeDir)return;return`${e.layout.homeDir}/${t.slice(2)}`}return t})(e,a);return void 0!==i?se(e,i):void 0})(e);void 0!==a&&r.push({basedir:"",rules:a});const i=await(async e=>se(e,`${e.layout.gitDir}/info/exclude`))(e);void 0!==i&&r.push({basedir:"",rules:i});const o=await ne(e,"");void 0!==o&&r.push({basedir:"",rules:o});const n=new Map;return{base:r,loadDirRules:async t=>{const r=n.get(t);if(void 0!==r)return r;const a=await ne(e,t)??[];return n.set(t,a),a}}})(e),a=[...r.base],i=new Set([]);return async(e,t)=>{for(const t of fe(e)){if(i.has(t))continue;i.add(t);const e=await r.loadDirRules(t);e.length>0&&a.push({basedir:t,rules:e})}return"ignored"===((e,t,r)=>{let a="unset";for(const i of e){const e=m(t,i.basedir);if(void 0===e)continue;const o=p(i.rules,e,r);"unset"!==o&&(a=o)}return a})(a,e,t)}},fe=e=>{const t=e.split("/");if(t.length<=1)return[];const r=[];for(let e=1;e<t.length;e+=1)r.push(t.slice(0,e).join("/"));return r},le=(t,r)=>new e.TsgitError(void 0===r?{code:"RESOURCE_LOCKED",resource:"index",path:t}:{code:"RESOURCE_LOCKED",resource:"index",path:t,mtimeMs:r}),ue=async(r,a={})=>{const i=`${t.indexPath(r.layout.gitDir)}${t.lockSuffix}`,o=t.indexPath(r.layout.gitDir),n=a.now??(()=>Date.now()),s=a.breakStaleLockMs;try{await r.fs.writeExclusive(i,new Uint8Array)}catch(t){if(!(t instanceof e.TsgitError)||"FILE_EXISTS"!==t.data.code)throw t;if(void 0===s)throw le(i,await he(r,i));await we(r,i,s,n)}return pe(r,i,o)},he=async(e,t)=>{try{return(await e.fs.lstat(t)).mtimeMs}catch{return}},we=async(t,r,a,i)=>{const o=await he(t,r);if(void 0===o)return void await t.fs.writeExclusive(r,new Uint8Array);const n=i()-o;if(n<0)throw le(r,o);if(n<a)throw le(r,o);await t.fs.rm(r);try{await t.fs.writeExclusive(r,new Uint8Array)}catch(a){if(a instanceof e.TsgitError&&"FILE_EXISTS"===a.data.code)throw le(r,await he(t,r));throw a}},pe=(r,a,i)=>{let o=!1,n=!1;return{release:async()=>{if(!o&&!n){n=!0;try{await r.fs.rm(a)}catch(t){if(!(t instanceof e.TsgitError)||"FILE_NOT_FOUND"!==t.data.code)throw t}}},commit:async e=>{if(o||n)return;const s={entries:[...e],extensions:[]},c=t.serializeIndex(s),d=await r.hash.hash(c),f=new Uint8Array(c.length+d.length);f.set(c,0),f.set(d,c.length),await r.fs.write(a,f),await r.fs.rename(a,i),o=!0}}},me=t.RefName.from("HEAD"),ge=async t=>{const r=`${t.layout.gitDir}/HEAD`;if(!await t.fs.exists(r))throw new e.TsgitError({code:"NOT_A_REPOSITORY",path:t.layout.workDir});return t.layout.bare?t.layout.gitDir:t.layout.workDir},ye=async(r,a)=>{if(await(async e=>{const r=await t.readConfig(e);return r.core?.bare??!1})(r))throw(t=>new e.TsgitError({code:"BARE_REPOSITORY",operation:t}))(a)},ve=async r=>{const a=`${r.layout.gitDir}/HEAD`;let i;try{i=await r.fs.readUtf8(a)}catch(r){if(r instanceof e.TsgitError&&"FILE_NOT_FOUND"===r.data.code)throw t.refNotFound(me);throw r}const o=t.parseLooseRef(i);return"symbolic"===o.type?{kind:"symbolic",target:o.target}:{kind:"direct",id:o.target}},be=[{file:"MERGE_HEAD",operation:"merge"},{file:"CHERRY_PICK_HEAD",operation:"cherry-pick"},{file:"REVERT_HEAD",operation:"revert"},{file:"REBASE_HEAD",operation:"rebase"}],ke=async(t,r={})=>{const a=await Promise.all(be.map(e=>t.fs.exists(`${t.layout.gitDir}/${e.file}`)));for(let t=0;t<be.length;t+=1){const i=be[t];if(void 0!==i&&r.except!==i.operation&&!0===a[t])throw e.operationInProgress(i.operation)}},Ee=t.validateWorkingTreePath,xe=(e,t)=>`${e.layout.workDir}/${t}`,$e=async(e,t)=>{const r=Ee(t);return e.fs.read(xe(e,r))},Ie=async(t,r)=>{const a=Ee(r),i=xe(t,a);let o;try{o=await t.fs.lstat(i)}catch{throw e.checkoutOverwriteDirty([a])}if(!o.isFile&&!o.isSymbolicLink)throw e.checkoutOverwriteDirty([a]);await t.fs.rm(i)},Re=new TextEncoder,De=e=>{for(const t of e){const e=t.startsWith("!")?t.slice(1):t;Ee(e),Se(t)}const t=(e=>e.map(g))(e),r=t.filter(Oe).map(e=>Ne(e)),a=t.some(Ae);return{matcher:t,literalMustMatch:r,hasGlob:a}},Se=t=>{if(Re.encode(t).byteLength>256)throw e.invalidOption("paths","pattern exceeds max length 256 bytes");if(Te(t)>4)throw e.invalidOption("paths","pattern exceeds max **-token count 4")},Te=e=>{let t=0,r=0;for(;r<e.length;)"*"!==e[r]||"*"!==e[r+1]?r+=1:(t+=1,r+=2);return t},Me=(t,r)=>{if(0===t.length)return;const a=new Set(r);for(const i of t)if(!a.has(i)&&!r.some(e=>e.startsWith(`${i}/`)))throw e.pathspecNoMatch(i)},Oe=e=>!e.negated&&e.isLiteral,Ae=e=>!e.negated&&!e.isLiteral,Ne=e=>e.body,_e=new Set(["FILE_NOT_FOUND","INVALID_INDEX_HEADER","INVALID_INDEX_ENTRY"]),Le=async(t,r,a)=>{const i=await ue(t,void 0!==a.breakStaleLockMs?{breakStaleLockMs:a.breakStaleLockMs}:{});try{const a=await Pe(t),o=new Map(a),n=[],s=[];for(const i of r){const r=await We(t,i);if("missing"===r)throw e.pathspecNoMatch(i);const c=a.get(i);o.set(i,r),void 0===c?n.push(i):c.id===r.id&&c.mode===r.mode||s.push(i)}return await i.commit(Array.from(o.values())),{added:n,modified:s,removed:[]}}finally{await i.release()}},Ce=async(e,t)=>{if(0===t.length)return!1;for(const r of t){const t=await e.fs.lstat(`${e.layout.workDir}/${r}`).catch(()=>{});if(void 0===t)return!1;if(t.isDirectory&&!t.isSymbolicLink)return!1}return!0},Ue=async(e,r,a,i)=>{const o=await de(e),n=async(e,t)=>!!await o(e,t)||!t&&!y(r,e),s=await ue(e,void 0!==i.breakStaleLockMs?{breakStaleLockMs:i.breakStaleLockMs}:{});try{const r=await Pe(e),i=new Map(r),o=[],c=[],d=[],f=new Set;for await(const a of t.walkWorkingTree(e,{ignore:n})){const t=await Be(e,a,r,f);void 0!==t&&(o.push(t.path),i.set(t.path,t.entry),"added"===t.kind?c.push(t.path):"modified"===t.kind&&d.push(t.path))}return Me(a,o),c.sort(),d.sort(),await s.commit(Array.from(i.values())),{added:c,modified:d,removed:[]}}finally{await s.release()}},Fe=async(e,t,r)=>{const a=[];for(const[i,o]of e)t.has(i)||o.flags.skipWorktree||await He(i,r)||a.push(i);return a},He=async(e,t)=>{if(await t(e,!1))return!0;const r=e.split("/");for(let e=1;e<r.length;e+=1){const a=r.slice(0,e).join("/");if(await t(a,!0))return!0}return!1},Be=async(r,a,i,o)=>{const{path:n,stat:s}=a;if(o.add(n),s.size>t.MAX_WORKING_TREE_BLOB_BYTES)throw e.workingTreeFileTooLarge(n,s.size,t.MAX_WORKING_TREE_BLOB_BYTES);const c=await je(r,n,s),d=i.get(n);return void 0===d?{kind:"added",path:n,entry:c}:d.id!==c.id||d.mode!==c.mode?{kind:"modified",path:n,entry:c}:{kind:"unchanged",path:n,entry:c}},Pe=async r=>{try{const e=await t.readIndex(r),a=new Map;for(const t of e.entries)a.set(t.path,t);return a}catch(t){if(t instanceof e.TsgitError&&_e.has(t.data.code))return new Map;throw t}},We=async(e,t)=>{const r=await e.fs.lstat(`${e.layout.workDir}/${t}`).catch(()=>{});return void 0===r?"missing":je(e,t,r)},je=async(r,a,i)=>{const o=await r.fs.lstat(`${r.layout.workDir}/${a}`);if(o.isSymbolicLink!==i.isSymbolicLink||o.isDirectory!==i.isDirectory||o.isFile!==i.isFile)throw e.operationAborted();if(o.size>t.MAX_WORKING_TREE_BLOB_BYTES)throw e.workingTreeFileTooLarge(a,o.size,t.MAX_WORKING_TREE_BLOB_BYTES);const n=o.isSymbolicLink?"120000":73&o.mode?"100755":"100644",s=await Ge(r,a,o),c=await t.writeObject(r,{type:"blob",id:"",content:s});return ze(o,n,c,a)},Ge=async(r,a,i)=>{if(i.isSymbolicLink){const i=(new TextEncoder).encode(await r.fs.readlink(`${r.layout.workDir}/${a}`));if(i.byteLength>t.MAX_WORKING_TREE_BLOB_BYTES)throw e.workingTreeFileTooLarge(a,i.byteLength,t.MAX_WORKING_TREE_BLOB_BYTES);return i}return $e(r,a)},ze=(e,r,a,i)=>({ctimeSeconds:Math.floor(e.ctimeMs/1e3),ctimeNanoseconds:0,mtimeSeconds:Math.floor(e.mtimeMs/1e3),mtimeNanoseconds:0,dev:e.dev,ino:e.ino,mode:r,uid:e.uid,gid:e.gid,fileSize:e.size,id:a,flags:t.STAGE0_FLAGS,path:i}),qe="refs/heads/",Xe=(e,t)=>e<t?-1:e>t?1:0,Ye=async(r,a)=>{if(/^[0-9a-f]{40}$/.test(a))return a;const i="HEAD"===a?["HEAD"]:[`${qe}${a}`,a];for(const e of i)try{return await t.resolveRef(r,e)}catch{}throw e.branchNotFound(a)},Ve=e=>"string"==typeof e?t.ObjectId.from(e):e,Ke="refs/heads/",Ze="checkout:materialize",Je=async(e,r)=>{if("HEAD"===r){const r=await t.resolveRef(e,"HEAD");return(await t.readTree(e,r)).id}return(await t.readTree(e,r)).id},Qe=async(e,r)=>{const a=t.validateRefName(r.initialBranch),i=e.layout.gitDir;try{await e.fs.mkdir(i),await e.fs.writeUtf8(`${i}/HEAD`,`ref: refs/heads/${a}\n`),await e.fs.writeUtf8(`${i}/config`,(o=r.bare,`[core]\n\trepositoryformatversion = 0\n\tfilemode = true\n\tbare = ${o?"true":"false"}\n`)),await e.fs.mkdir(`${i}/refs/heads`),await e.fs.mkdir(`${i}/refs/tags`),await e.fs.mkdir(`${i}/objects/info`),await e.fs.mkdir(`${i}/objects/pack`),await e.fs.writeUtf8(`${i}/info/exclude`,"# git ls-files --others --exclude-from=.git/info/exclude\n# Lines that start with '#' are comments.\n# For a project mostly in C, the following would be a good set of\n# exclude patterns (uncomment them if you want to use them):\n# *.[oa]\n# *~\n"),await e.fs.writeUtf8(`${i}/description`,"Unnamed repository; edit this file 'description' to name the repository.\n")}catch(t){throw await e.fs.rmRecursive(i).catch(()=>{}),t}var o;return{gitDir:i,initialBranch:a,bare:r.bare}},et={attempts:3,backoff:"exponential",baseMs:250,maxDelayMs:5e3},tt=(e,t={})=>{const a=void 0!==t.logger?rt(t.logger):void 0;let i=e.transport;return i=r.withRetry(t.retry??et)(i),void 0!==t.auth&&(i=r.withAuth(t.auth)(i)),void 0!==a&&(i=r.withLogging({logger:a})(i)),i},rt=e=>({log:t=>e.log(at(t))}),at=e=>"request"===e.kind||"response"===e.kind?{...e,url:ot(e.url),headers:it(e.headers)}:{...e,url:ot(e.url),errorMessage:ot(e.errorMessage)},it=e=>{const t={};for(const[r,a]of Object.entries(e))t[r]=ot(a);return t},ot=e=>{let t="";for(let r=0;r<e.length;r+=1){const a=e.charCodeAt(r);t+=9===a||10===a?e[r]:a<32||a>126?`\\x${a.toString(16).padStart(2,"0").toUpperCase()}`:e[r]}return t},nt={"git-upload-pack":"application/x-git-upload-pack-advertisement","git-receive-pack":"application/x-git-receive-pack-advertisement"},st=async(r,i,o,n)=>{const s=t.buildDiscoveryUrl(o,n),c=await i.request({url:s,method:"GET",headers:{accept:nt[n]},...void 0!==r.signal?{signal:r.signal}:{}});if(200!==c.statusCode)throw e.httpError(c.statusCode,`${n} discovery returned ${c.statusCode}`);const d=t.decodePktStream(a.readableStreamToAsyncIterable(c.body));return t.parseAdvertisedRefs(d,n)},ct=async(e,t,r)=>st(e,t,r,"git-upload-pack"),dt=e=>{const r=t.CLIENT_CAPABILITIES_FETCH.filter(e=>"multi_ack_detailed"!==e&&"thin-pack"!==e&&"no-progress"!==e&&e!==t.AGENT);return[...t.negotiateCapabilities(e,r),t.AGENT]},ft=e=>{const t=new Set,r=[];for(const a of e)t.has(a.id)||(t.add(a.id),r.push(a.id));return r},lt=e=>e.includes("filter"),ut=async(e,t)=>{ht(e);const r=wt(e);pt(r,t.allowInsecure??!1),mt(r);const a=await t.resolver(r.hostname);return{url:e,pinnedAddress:gt(a,t.allowPrivateNetworks??!1)}},ht=t=>{for(let r=0;r<t.length;r+=1){const a=t.charCodeAt(r);if(10===a||13===a)throw e.invalidUrl("contains forbidden control character")}},wt=t=>{try{return new URL(t)}catch{throw e.invalidUrl("not a valid URL")}},pt=(t,r)=>{const a=t.protocol;if("https:"!==a&&("http:"!==a||!r))throw e.unsupportedScheme(a.replace(":",""))},mt=t=>{if(""!==t.hash)throw e.invalidUrl("URL fragment is not allowed")},gt=(t,r)=>{for(const e of t)if(r||!yt(e))return e;if(0===t.length)throw e.blockedHost("<unresolved>","no DNS records returned");throw e.blockedHost(t[0],"all resolved addresses are in a blocked range")},yt=e=>e.includes(":")?bt(e):vt(e),vt=e=>{const t=(e=>{const t=e.split(".");if(4!==t.length)return;const r=[];for(const e of t){if(!/^\d{1,3}$/.test(e))return;const t=Number(e);if(t>255)return;r.push(t)}return r})(e);if(void 0===t)return!1;const[r,a]=t;return 0===r||10===r||100===r&&a>=64&&a<=127||127===r||169===r&&254===a||172===r&&a>=16&&a<=31||192===r&&168===a||r>=224},bt=e=>{const t=e.toLowerCase(),r=t.match(/::ffff:(?:0:)?(\d+\.\d+\.\d+\.\d+)$/);if(void 0!==r?.[1])return vt(r[1]);const a=t.match(/^::ffff:([0-9a-f]{1,4}):([0-9a-f]{1,4})$/);if(void 0!==a?.[1]&&void 0!==a[2]){const e=parseInt(a[1],16),t=parseInt(a[2],16);return vt(`${e>>8}.${255&e}.${t>>8}.${255&t}`)}return!!("::1"===t||"::"===t||t.startsWith("fe80:")||t.startsWith("fe80::")||t.startsWith("ff")||t.startsWith("fc")||t.startsWith("fd"))},kt="clone:discover",Et=async(e,r,a)=>{await t.updateConfigEntries(e,[{section:"core",key:"repositoryformatversion",value:"1"},{section:"remote",subsection:"origin",key:"url",value:r},{section:"remote",subsection:"origin",key:"fetch",value:"+refs/heads/*:refs/remotes/origin/*"},{section:"remote",subsection:"origin",key:"promisor",value:"true"},{section:"remote",subsection:"origin",key:"partialclonefilter",value:a},{section:"extensions",key:"partialClone",value:"origin"}])},xt=async(e,t,r)=>{const a=It(t),i=[];for(const o of t.refs)if("HEAD"!==o.name){if(o.name.startsWith("refs/heads/")){const t=o.name.slice(11),n=`refs/remotes/origin/${t}`;if(await $t(e,n,o.id,r),i.push({name:n,id:o.id}),void 0!==a&&t===a){const t=o.name;await $t(e,t,o.id,r),i.push({name:t,id:o.id})}continue}if(o.name.startsWith("refs/tags/")){const t=o.name;await $t(e,t,o.id,r),i.push({name:t,id:o.id});continue}e.logger?.debug?.("clone: skipping unsupported ref namespace",{name:o.name})}return i},$t=async(e,r,a,i)=>{const o=`${e.layout.gitDir}/${r}`;await e.fs.writeUtf8(o,`${a}\n`),await t.recordRefUpdate(e,r,t.ZERO_OID,a,`clone: from ${i}`)},It=e=>{const t=e.capabilities.find(e=>e.startsWith("symref=HEAD:refs/heads/"));if(void 0!==t)return t.slice(23)},Rt=async(e,t,r)=>{const a=It(t),i=t.head?.id;if(void 0!==a){const t=`refs/heads/${a}`;return await e.fs.writeUtf8(`${e.layout.gitDir}/HEAD`,`ref: ${t}\n`),await Dt(e,i,r),t}if(void 0!==t.head)return await e.fs.writeUtf8(`${e.layout.gitDir}/HEAD`,`${t.head.id}\n`),void await Dt(e,i,r)},Dt=async(e,r,a)=>{void 0!==r&&await t.recordRefUpdate(e,"HEAD",t.ZERO_OID,r,`clone: from ${a}`)},St=t=>{if(void 0!==t.explicit)return t.explicit;if(void 0!==t.configUser)return t.configUser;throw e.authorUnconfigured()},Tt=t=>{if(void 0!==t.explicit)return t.explicit;if(void 0!==t.author)return t.author;if(void 0!==t.configUser)return t.configUser;throw e.authorUnconfigured()},Mt=(t,r)=>{const a=t.trim();if(""===a&&!r.allowEmpty)throw e.emptyCommitMessage();return a},Ot=e=>`${e.layout.gitDir}/MERGE_HEAD`,At=e=>`${e.layout.gitDir}/MERGE_MSG`,Nt=(e,t,r)=>{if(1===t.length)return void e.files.set(t[0],{id:r.id,mode:r.mode});const[a,...i]=t,o=a;let n=e.subdirs.get(o);void 0===n&&(n={files:new Map,subdirs:new Map},e.subdirs.set(o,n)),Nt(n,i,r)},_t=async(e,r)=>{const a=[];for(const[e,t]of r.files)a.push({mode:t.mode,name:e,id:t.id});const i=await Promise.all(Array.from(r.subdirs).map(async([t,r])=>({name:t,id:await _t(e,r)})));for(const{name:e,id:t}of i)a.push({mode:"40000",name:e,id:t});return t.writeTree(e,a)},Lt=async(e,r)=>{const a=/^[0-9a-f]{40}$/.test(r)?r:await t.resolveRef(e,t.validateRefName(r)),i=await t.readObject(e,a);return"commit"===i.type?i.data.tree:a},Ct="fetch:negotiate",Ut=async(e,r)=>{const a=[],i=[`refs/remotes/${r}`,"refs/tags"];for(const t of i){const r=`${e.layout.gitDir}/${t}`;await e.fs.exists(r)&&await Ft(e,r,a)}const o=`refs/remotes/${r}/`,n=await t.getRefStore(e).getPackedRefs();for(const e of n.entries)(e.name.startsWith(o)||e.name.startsWith("refs/tags/"))&&a.push(e.id);return a},Ft=async(e,t,r)=>{const a=await e.fs.readdir(t);for(const i of a){const a=`${t}/${i.name}`;if(i.isDirectory){await Ft(e,a,r);continue}const o=(await e.fs.readUtf8(a)).trim();Bt(o)&&r.push(o)}},Ht=/^[0-9a-f]{40}([0-9a-f]{24})?$/i,Bt=e=>Ht.test(e),Pt=(e,t)=>{if("HEAD"!==t.name&&Wt(t.name)){if(t.name.startsWith("refs/heads/")){const r=`refs/remotes/${e}/${t.name.slice(11)}`;if(!Wt(r))return;return r}return t.name.startsWith("refs/tags/")?t.name:void 0}},Wt=e=>{try{return t.validateRefName(e),!0}catch{return!1}},jt=async(e,r)=>{t.validateRefName(r);const a=`${e.layout.gitDir}/${r}`;if(!await e.fs.exists(a))return;const i=(await e.fs.readUtf8(a)).trim();return Bt(i)?i:void 0},Gt=async(e,t,r)=>{const a=new Set(r.refs.filter(e=>e.name.startsWith("refs/heads/")).map(e=>e.name.slice(11))),i=`${e.layout.gitDir}/refs/remotes/${t}`;if(!await e.fs.exists(i))return[];const o=[];return await zt(e,i,"",a,t,o),o},zt=async(e,r,a,i,o,n)=>{const s=await e.fs.readdir(r);for(const c of s){const s=`${r}/${c.name}`,d=""===a?c.name:`${a}/${c.name}`;if(c.isDirectory){await zt(e,s,d,i,o,n);continue}if(i.has(d))continue;const f=`refs/remotes/${o}/${d}`;if(!Wt(f)){e.logger?.warn?.("fetch.prune: skipping unsafe ref name",{name:f});continue}const l=f;try{await t.updateRef(e,l,t.ZERO_OID,{delete:!0})}catch(t){if(qt(t)){e.logger?.warn?.("fetch.prune: skipping packed-only ref",{name:l});continue}throw t}n.push(l)}},qt=t=>t instanceof e.TsgitError&&"UNSUPPORTED_OPERATION"===t.data.code&&"delete-packed-ref"===t.data.operation,Xt=async(e,r,a)=>!!await e.fs.exists(t.looseObjectPath(e.layout.gitDir,a))||void 0!==await r.lookup(a),Yt=async(r,a)=>{await ge(r);const i=await t.readConfig(r),o=i.extensions?.partialClone;if(void 0===o)return{kind:"no-promisor"};const n=i.remote?.get(o)?.url;if(void 0===n||""===n)throw e.remoteNotConfigured(o);const s=await(async(e,r)=>{const a=t.createPackRegistry(e),i=new Set,o=[];for(const t of r)i.has(t)||(i.add(t),await Xt(e,a,t)||o.push(t));return o})(r,a);if(0===s.length)return{kind:"fetched",remote:o,requested:a.length,fetched:0};const c=tt(r,void 0!==r.config?.auth?{auth:r.config.auth}:{}),d=await ct(r,c,n),f=dt(d.capabilities);try{await t.fetchPack(r,c,{wants:s,haves:[],capabilities:f,url:n,progressOp:"fetch-missing:write-objects",promisor:!0})}catch(t){if(!(t=>t instanceof e.TsgitError&&"FILE_EXISTS"===t.data.code)(t))throw t}return{kind:"fetched",remote:o,requested:a.length,fetched:s.length}},Vt=async(e,r)=>{const a=new Map;for await(const i of t.walkTree(e,r))i.mode!==t.FILE_MODE.DIRECTORY&&a.set(i.path,{id:i.id,mode:i.mode});return{entries:a}},Kt="merge:write-files",Zt=new Set(["rename-rename","gitlink"]),Jt=async(e,r,a,i,o,n)=>{const s=await mr(e,r),c={tree:n,parents:[i,o],author:s,committer:gr(r,s),message:Mt(r.message??`Merge ${r.target}`,{allowEmpty:!1}),extraHeaders:[]},d=await t.createCommit(e,c);return await t.updateRef(e,a,d,{expected:i,reflogMessage:`merge ${r.target}: Merge made by the 'tsgit' strategy.`}),{kind:"merge",id:d,branch:a,parents:[i,o]}},Qt=async(e,r,a,i)=>{const o=await yr(e,r),n=await yr(e,a),s=void 0!==i?await yr(e,i):void 0,[c,d,f]=await Promise.all([Vt(e,o),Vt(e,n),void 0!==s?Vt(e,s):Promise.resolve(void 0)]),l=er(e),u=await async function(e,r,a,i){H(e,"base"),H(r,"ours"),H(a,"theirs");const o=function(e,r,a){const i=new Set;for(const t of[e,r,a])if(void 0!==t)for(const e of t.entries.keys())i.add(e);if(i.size>t.MAX_FLAT_TREE_ENTRIES)throw v("union FlatTree exceeds MAX_FLAT_TREE_ENTRIES");return i}(e,r,a),n=t.sortByPath([...o],e=>e),s=[];for(const t of n){const o=j(t,e?.entries.get(t),r?.entries.get(t),a?.entries.get(t),i),n=o instanceof Promise?await o:o;s.push(n)}const c=function(e){const t=[];for(const r of e)"conflict"===r.status&&t.push(r.conflict);return t}(s);return{outcomes:s,conflicts:c,cleanMerge:0===c.length}}(f,c,d,l);return u.cleanMerge?{kind:"clean",tree:await tr(e,u.outcomes)}:{kind:"conflict",outcomes:u.outcomes,conflicts:u.conflicts}},er=e=>async(r,a,i,o)=>{const[n,s,f]=await Promise.all([t.readBlob(e,r.ourId,{maxBytes:k}),t.readBlob(e,r.theirId,{maxBytes:k}),void 0!==r.baseId?t.readBlob(e,r.baseId,{maxBytes:k}):Promise.resolve(void 0)]);return function(e,t,r,a={}){if(d(t)||d(r)||void 0!==e&&d(e))return{status:"conflict",conflictType:"binary",markedBytes:t};if(void 0===e)return M(t,r)?{status:"clean",bytes:t}:U(c(t),c(r),a);if(M(t,e))return{status:"clean",bytes:r};if(M(r,e))return{status:"clean",bytes:t};if(M(t,r))return{status:"clean",bytes:t};const i=w(e,t),o=w(e,r);if(i.degraded||o.degraded)return U(c(t),c(r),a);const n=function(e,t){const r=[],a=new Set;for(const i of e){const e=L(i,t);if(void 0===e){if(C(i,t))return;r.push(i)}else a.add(e),r.push(i)}for(const e of t)a.has(e)||r.push(e);return r.sort((e,t)=>e.baseStart-t.baseStart),{changes:r}}(N(i.hunks,i.theirsLines),N(o.hunks,o.theirsLines));if(void 0===n)return U(c(t),c(r),a);return{status:"clean",bytes:A(function(e,t){const r=[];let a=0;for(const i of t.changes){for(let t=a;t<i.baseStart;t++)r.push(e[t]);for(const e of i.replacement)r.push(e);a=i.baseEnd}for(let t=a;t<e.length;t++)r.push(e[t]);return r}(i.oursLines,n))}}(f?.content,n.content,s.content)},tr=async(e,r)=>{const a=await(async(e,r)=>{const a=[];for(const i of r)if("resolved-deleted"!==i.status&&"conflict"!==i.status){if("resolved-merged"===i.status){const r=await t.writeObject(e,{type:"blob",content:i.bytes,id:""});a.push({path:i.path,id:r,mode:i.mode});continue}a.push({path:i.path,id:i.id,mode:i.mode})}return a})(e,r);return rr(e,a)},rr=async(e,r,a=0)=>{if(a>4096)throw t.treeDepthExceeded(a);const{files:i,subdirs:o}=(e=>{const t=[],r=new Map;for(const a of e){const e=a.path.indexOf("/");if(-1===e){t.push(a);continue}const i=a.path.slice(0,e),o={path:a.path.slice(e+1),id:a.id,mode:a.mode},n=r.get(i);void 0===n?r.set(i,[o]):n.push(o)}return{files:t,subdirs:r}})(r),n=await Promise.all(Array.from(o,async([r,i])=>({name:r,id:await rr(e,i,a+1),mode:t.FILE_MODE.DIRECTORY}))),s=i.map(e=>({name:e.path,id:e.id,mode:e.mode}));return t.writeTree(e,[...s,...n])},ar=async(e,r,a,i,o)=>{ir(a.conflicts);const n=await t.loadSparseMatcher(e),s=await ue(e);try{await nr(e,a.outcomes,a.conflicts,n),await(async(e,t)=>{await e.fs.writeUtf8((e=>`${e.layout.gitDir}/ORIG_HEAD`)(e),`${t}\n`)})(e,i),await(async(e,t)=>{await e.fs.writeUtf8(Ot(e),`${t}\n`)})(e,o);const t=Mt(r.message??`Merge ${r.target}`,{allowEmpty:!1});await(async(e,t)=>{await e.fs.writeUtf8(At(e),t)})(e,t);const c=pr(a.outcomes,a.conflicts,n);await s.commit(c)}finally{await s.release()}return{kind:"conflict",conflicts:a.conflicts.map(e=>({path:e.path,type:e.type})),mergeHead:o,origHead:i}},ir=t=>{for(const r of t)if(Zt.has(r.type))throw e.unsupportedOperation("merge",`conflict type '${r.type}' not supported in v1 (path=${r.path})`)},or=(e,t)=>void 0!==e&&!e(t),nr=async(e,t,r,a)=>{await sr(t,32,t=>cr(e,t,a)),await sr(r,32,t=>dr(e,t))},sr=async(e,t,r)=>{let a=0;const i=[],o=async()=>{for(;a<e.length;){const t=e[a++];if(void 0===t)break;await r(t)}},n=Math.min(t,e.length);for(let e=0;e<n;e++)i.push(o());await Promise.all(i)},cr=async(e,r,a)=>{if("unchanged"===r.status||"resolved-known"===r.status){if(or(a,r.path))return;const i=await t.readBlob(e,r.id,{maxBytes:k});return void await lr(e,r.path,i.content)}"resolved-merged"!==r.status?"resolved-deleted"===r.status&&await ur(e,r.path):await lr(e,r.path,r.bytes)},dr=async(e,t)=>{const r=await fr(e,t);void 0!==r&&await lr(e,t.path,r)},fr=async(e,r)=>{if("content"===r.type&&void 0!==r.conflictContent)return r.conflictContent;if("binary"===r.type&&void 0!==r.ourId)return(await t.readBlob(e,r.ourId,{maxBytes:k})).content;if(("add-add"===r.type||"type-change"===r.type)&&void 0!==r.ourId)return(await t.readBlob(e,r.ourId,{maxBytes:k})).content;if("modify-delete"===r.type){const a=r.ourId??r.theirId;if(void 0!==a)return(await t.readBlob(e,a,{maxBytes:k})).content}if("content"===r.type&&void 0!==r.ourId&&void 0!==r.theirId){const[a,i]=await Promise.all([t.readBlob(e,r.ourId,{maxBytes:k}),t.readBlob(e,r.theirId,{maxBytes:k})]);return T([a.content],[i.content])}},lr=async(e,t,r)=>{const a=`${e.layout.workDir}/${t}`,i=hr(a);void 0!==i&&await e.fs.mkdir(i),await e.fs.write(a,r)},ur=async(e,t)=>{const r=`${e.layout.workDir}/${t}`;await e.fs.exists(r)&&await e.fs.rm(r)},hr=e=>{const t=e.lastIndexOf("/");if(!(t<=0))return e.slice(0,t)},wr=e=>({ctimeSeconds:0,ctimeNanoseconds:0,mtimeSeconds:0,mtimeNanoseconds:0,dev:0,ino:0,mode:e,uid:0,gid:0,fileSize:0}),pr=(e,r,a)=>{const s=[];for(const r of e)"unchanged"!==r.status&&"resolved-known"!==r.status||s.push(or(a,r.path)?t.skipWorktreeEntry({path:r.path,id:r.id,mode:r.mode}):{...wr(r.mode),id:r.id,flags:t.STAGE0_FLAGS,path:r.path});const c=function(e,r){const a=new Set;for(const t of e){if(a.has(t.path))throw i("duplicate conflict path");a.add(t.path)}const s=[];for(const t of e)for(const e of o(t))s.push(n(t.path,e,r));return s.sort((e,r)=>{const a=t.comparePaths(e.path,r.path);return 0!==a?a:e.flags.stage-r.flags.stage}),s}(r,wr),d=[...s,...c];return d.sort((e,t)=>e.path<t.path?-1:e.path>t.path?1:e.flags.stage-t.flags.stage),d},mr=async(e,r)=>{const a=await t.readConfig(e),i=a.user?{name:a.user.name,email:a.user.email,timestamp:Math.floor(Date.now()/1e3),timezoneOffset:"+0000"}:void 0,o={};return void 0!==r.author&&(o.explicit=r.author),void 0!==i&&(o.configUser=i),St(o)},gr=(e,t)=>{const r={author:t};return void 0!==e.committer&&(r.explicit=e.committer),Tt(r)},yr=async(e,r)=>{const a=await t.readObject(e,r);if("commit"!==a.type)throw t.unexpectedObjectType("commit",a.type,r);return a.data.tree},vr=e=>"HEAD"===e||e.includes("/")?e:`refs/heads/${e}`,br=e=>{if(""===e)throw t.refspecInvalid(e,"refspec must not be empty");let r=e,a="normal";if(r.startsWith("+")&&(a="force",r=r.slice(1)),""===r)throw t.refspecInvalid(e,"refspec must not be empty after force prefix");const i=kr(r,":");if(i>1)throw t.refspecInvalid(e,"refspec must contain at most one colon");if(0===i){const e=vr(r);return{force:a,src:e,dst:e,isDelete:!1}}const o=r.indexOf(":"),n=r.slice(0,o),s=r.slice(o+1);if(""===s)throw t.refspecInvalid(e,"destination must not be empty");const c=vr(s);if("HEAD"===c)throw t.refspecInvalid(e,"destination must not be HEAD");return""===n?{force:a,src:"",dst:c,isDelete:!0}:{force:a,src:vr(n),dst:c,isDelete:!1}},kr=(e,t)=>{let r=0;for(let a=0;a<e.length;a+=1)e[a]===t&&(r+=1);return r},Er="push:enumerate-objects",xr="push:upload",$r=t.ObjectId.from("0".repeat(40)),Ir="refs/heads/",Rr=new Set(["side-band-64k","side-band"]),Dr=e=>`${e.parsed.isDelete?"(delete)":e.parsed.src} ${e.localOid} ${e.parsed.dst} ${e.remoteOid}\n`,Sr=/^[A-Za-z0-9._-]+$/,Tr=e=>{const t=new Map;for(const r of e)t.set(r.name,r.id);return t},Mr=async(r,a,i,o,n)=>{const s=i.get(a.dst)??$r;if(a.isDelete){if(s===$r)throw e.invalidOption("refspecs",`delete target ${a.dst} is not advertised`);return{parsed:a,localOid:$r,remoteOid:s}}const c=await t.resolveRef(r,a.src);return await Or(r,a,c,s,o,n),{parsed:a,localOid:c,remoteOid:s}},Or=async(t,r,a,i,o,n)=>{const s=await Ar(t,r,o,n);if(void 0===s){if("force"!==r.force&&!0!==n.force&&i!==$r&&!await Nr(t,i,a))throw e.nonFastForward(r.dst,a,i)}else if(s!==i)throw e.pushRejected(r.dst,"lease-mismatch",_r())},Ar=async(r,a,i,o)=>{if(void 0===o.forceWithLease)return;if("auto"!==o.forceWithLease)return o.forceWithLease;if(!a.dst.startsWith(Ir))throw e.invalidOption("forceWithLease","lease-on-non-branch");const n=a.dst.slice(11);return t.resolveRef(r,`refs/remotes/${i}/${n}`)},Nr=async(e,r,a)=>{for await(const i of t.walkCommits(e,{from:[a],ignoreMissing:!0}))if(i.id===r)return!0;return!1},_r=()=>({unpackOk:!0,refUpdates:[]}),Lr=async(r,a,i,o,n,s)=>{const c=n.filter(e=>!e.parsed.isDelete).map(e=>e.localOid),d=o.refs.map(e=>e.id),f=await Cr(r,c,d),l=await t.buildPack(r,{oids:f}),u=(e=>{const r=t.CLIENT_CAPABILITIES_PUSH.filter(e=>e!==t.AGENT);return[...t.negotiateCapabilities(e,r),t.AGENT]})(o.capabilities),h=(e=>{if(0===e.updates.length)throw t.emptyReceiveUpdates();const r=e.updates.map((t,r)=>((e,t)=>{const r=0===t.length?"":`\0${t.join(" ")}`;return Z.encode(`${e.oldId} ${e.newId} ${e.name}${r}\n`)})(t,0===r?e.capabilities:[])),a=t.encodePktStream(r),i=new Uint8Array(a.byteLength+e.packfile.byteLength);return i.set(a,0),i.set(e.packfile,a.byteLength),i})({updates:n.map(Ur),capabilities:u,packfile:l.bytes}),w=await Fr(r,a,i,h),p=await Br(r,w,u);if(!p.unpackOk)throw e.pushRejected(n[0]?.parsed.dst,p.unpackError??"unpack failed",p);return await Wr(r,n,p.refUpdates,s)},Cr=async(e,r,a)=>{if(0===r.length)return[];const i=[];for await(const o of t.enumeratePushObjects(e,{wants:r,haves:a}))i.push(o);return i},Ur=e=>({name:e.parsed.dst,oldId:e.remoteOid,newId:e.localOid}),Fr=async(t,r,a,i)=>{t.progress.start(xr);try{const o=Hr(a),n=await r.request({url:o,method:"POST",headers:{"content-type":"application/x-git-receive-pack-request",accept:"application/x-git-receive-pack-result"},body:i,...void 0!==t.signal?{signal:t.signal}:{}});if(200!==n.statusCode)throw e.httpError(n.statusCode,`git-receive-pack returned ${n.statusCode}`);return n}finally{t.progress.end(xr)}},Hr=e=>{let r;try{r=new URL(e)}catch{throw t.invalidBaseUrl("invalid URL")}if(""!==r.hash)throw t.invalidBaseUrl("fragment must not be set");const a=r.pathname.endsWith("/")?r.pathname.slice(0,-1):r.pathname;return`${r.protocol}//${r.host}${a}/git-receive-pack${r.search}`},Br=async(r,i,o)=>{const n=a.readableStreamToAsyncIterable(i.body),s=t.decodePktStream(n);if(Pr(o)){const a=t.parseSideBand(s,{onProgress:t=>r.progress.update(xr,0,void 0,e.sanitize(t))});return ee(t.decodePktStream(a))}return ee(s)},Pr=e=>e.some(e=>Rr.has(e)),Wr=async(e,t,r,a)=>{const i=new Map;for(const e of r)i.set(e.name,e);const o=[];for(const r of t){const t=i.get(r.parsed.dst),n=!0===t?.accepted;n&&await jr(e,r,a),o.push({name:r.parsed.dst,oldId:r.remoteOid,newId:r.localOid,status:n?"ok":"rejected",...void 0!==t?.reason?{reason:t.reason}:{}})}return o},jr=async(e,r,a)=>{if(!r.parsed.dst.startsWith(Ir))return;if(r.parsed.isDelete)return;const i=`refs/remotes/${a}/${r.parsed.dst.slice(11)}`;Gr(i)&&await t.updateRef(e,i,r.localOid,{reflogMessage:"update by push"})},Gr=e=>{try{return t.validateRefName(e),!0}catch{return!1}},zr=e=>t.validateRefName(e),qr=(e,t,r)=>{const a=e[t],i=e[t+1];return e.filter((e,r)=>r!==t).map(e=>r&&e===i?{...e,oldId:a.oldId}:e)},Xr=(t,r)=>{const a=ie(t,r);if(void 0===a)throw e.revparseUnresolved(t);return a},Yr=(e,t,r,a)=>{const i=t.has(e.newId)?r:a;return e.identity.timestamp>=i},Vr=async e=>{const r=await Kr(e),a=new Set;if(0===r.length)return a;for await(const i of t.walkCommits(e,{from:r,ignoreMissing:!0}))a.add(i.id);return a},Kr=async e=>{const r=new Set;for(const a of await t.enumerateRefs(e)){const t=await Zr(e,a);void 0!==t&&r.add(t)}return[...r]},Zr=async(r,a)=>{try{return await t.resolveRef(r,a)}catch(t){if(t instanceof e.TsgitError)return;throw t}},Jr=new Set(["commit","tree","blob","tag"]),Qr=/^:(\d):(.+)$/,ea=/^[0-9a-f]{1,6}$/,ta=t=>{throw e.revparseUnresolved(t)},ra=/^\d+$/,aa=e=>{for(let t=0;t<e.length;t+=1){const r=e[t];if("~"===r||"^"===r)return t}return-1},ia=(e,t)=>{const r=[];let a=t;for(;a<e.length;){const t=e[a];if("~"===t){const t=oa(e,a);r.push(t.op),a=t.next}else if("^"===t){const t=na(e,a);r.push(t.op),a=t.next}else ta(e)}return r},oa=(e,t)=>{let r=t+1;for(;r<e.length&&sa(e.charCodeAt(r));)r+=1;return r===t+1&&ta(e),{op:{kind:"ancestor",n:Number(e.slice(t+1,r))},next:r}},na=(e,t)=>{if("{"===e[t+1]){const r=e.indexOf("}",t+2);-1===r&&ta(e);const a=e.slice(t+2,r);return Jr.has(a)||ta(e),{op:{kind:"peel",target:a},next:r+1}}let r=t+1;for(;r<e.length&&sa(e.charCodeAt(r));)r+=1;const a=e.slice(t+1,r);return{op:{kind:"parent",n:""===a?1:Number(a)},next:r}},sa=e=>e>=48&&e<=57,ca=async(e,r)=>{if(/^[0-9a-f]{40}$/.test(r))return t.ObjectId.from(r);for(const a of da(r))try{return await t.resolveRef(e,a)}catch{}throw t.objectNotFound(r)},da=e=>[e,`refs/heads/${e}`,`refs/tags/${e}`,`refs/remotes/${e}`],fa=async(r,a,i,o,n)=>{const s=""===a?await la(r):await ua(r,a),c=await t.readReflog(r,s);if(0===c.length)throw e.revparseUnresolved(n);return"index"===i.kind?pa(c,i.n,s):ma(c,i.raw,o,n)},la=async e=>{const r=await t.getRefStore(e).resolveDirect("HEAD");return"symbolic"===r.kind?r.target:"HEAD"},ua=async(e,r)=>{const a=ha(r),i=da(a);for(const r of i)if(await t.reflogExists(e,r))return r;for(const t of i)if(await wa(e,t))return t;return a},ha=r=>{try{return t.validateRefName(r)}catch{throw e.revparseUnresolved(r)}},wa=async(e,r)=>{try{return await t.resolveRef(e,r),!0}catch{return!1}},pa=(e,r,a)=>{const i=e[e.length-1-r];if(void 0===i)throw t.reflogEntryOutOfRange(a,r,e.length);return i.newId},ma=(t,r,a,i)=>{const o=ie(r,a);if(void 0===o)throw e.revparseUnresolved(i);for(let e=t.length-1;e>=0;e-=1){const r=t[e];if(r.identity.timestamp<=o)return r.newId}return t[0].oldId},ga=async(e,t,r)=>{if("parent"===r.kind)return ya(e,t,r.n);if("ancestor"===r.kind){let a=t;for(let t=0;t<r.n;t+=1)a=await ya(e,a,1);return a}return va(e,t,r.target)},ya=async(e,r,a)=>{const i=await t.readObject(e,r);if("commit"!==i.type)throw t.objectNotFound(r);const o=i.data.parents[a-1];if(void 0===o)throw t.objectNotFound(r);return o},va=async(e,r,a)=>{let i=r;for(let r=0;r<5;r+=1){const r=await t.readObject(e,i);if(r.type===a)return i;if("tag"!==r.type){if("tree"===a&&"commit"===r.type)return r.data.tree;throw t.objectNotFound(i)}i=r.data.object}throw t.objectNotFound(i)},ba=async(e,r)=>{const a=await t.readIndex(e);for(const e of a.entries)if(e.path===r.path&&e.flags.stage===r.stage)return e.id;throw t.objectNotFound(`${r.stage}:${r.path}`)},ka=(e,t)=>`${e}/${t}`,Ea=(e,t)=>void 0===e||e(t),xa=e=>({kind:"delete",path:e.path,mode:e.mode,id:void 0,previousId:e.id,previousMode:e.mode}),$a=e=>({kind:"add",path:e.path,mode:e.mode,id:e.id,previousId:void 0,previousMode:void 0}),Ia=e=>({kind:"noop",path:e.path,mode:e.mode,id:e.id,previousId:e.id,previousMode:e.mode}),Ra={ctimeSeconds:0,ctimeNanoseconds:0,mtimeSeconds:0,mtimeNanoseconds:0,dev:0,ino:0,uid:0,gid:0,fileSize:0},Da=e=>({...Ra,mode:e.mode,id:e.id,flags:{...t.STAGE0_FLAGS,skipWorktree:!0},path:e.path}),Sa=e=>e.flags.skipWorktree?{...e,flags:{...e.flags,skipWorktree:!1}}:e,Ta=async(e,r)=>{const a=e.layout.workDir,i=await ue(e);try{const o=(await t.readIndex(e)).entries.filter(e=>0===e.flags.stage),n=await(async(e,r,a,i)=>{const o=[],n=[],s=[];for(const c of a){if(Ea(i.matcher,c.path)){o.push(c);continue}const a=ka(r,c.path),d=await e.fs.exists(a);d&&await t.isWorkingTreeDirty(e,a,c.id)&&!0!==i.force?s.push(c):n.push({entry:c,present:d})}return{included:o,removable:n,retained:s}})(e,a,o,r),s=await(async(e,t,r)=>{const a=[];for(const{entry:e,present:t}of r.removable)a.push(t?xa(e):Ia(e));for(const i of r.included){const r=await e.fs.exists(ka(t,i.path));a.push(r?Ia(i):$a(i))}const i={add:0,update:0,delete:0,noop:0};for(const e of a)i[e.kind]+=1;return{entries:a,stats:i}})(e,a,n),c=await t.applyChangeset(e,{changeset:s,force:!0,workdir:a}),d=((e,t)=>{const r=new Map;for(const e of t)r.set(e.path,e);const a=[];for(const t of e.included)a.push(r.get(t.path)??Sa(t));for(const{entry:t}of e.removable)a.push(Da(t));for(const t of e.retained)a.push(Sa(t));return a})(n,c.writtenEntries);return await i.commit(d),{materialized:c.written,removed:c.deleted,retained:n.retained.map(e=>e.path)}}finally{await i.release()}},Ma=(e,t)=>void 0===t?{matcher:e}:{matcher:e,force:t},Oa=async(e,r,a,i)=>{const o=await Ta(e,Ma(t.buildSparseMatcher(r),i));return await t.writeSparsePatternText(e,a),await t.updateCoreConfig(e,{sparseCheckout:"true",sparseCheckoutCone:"cone"===r.mode?"true":"false"}),_a("cone"===r.mode,o)},Aa=(e,r)=>{if(e){const e=t.buildConeSpec(r);return{spec:e,text:t.serializeCone(e)}}const a=r.join("\n");return{spec:t.parseSparseCheckout(a,!1).spec,text:a}},Na=(e,r,a)=>{if(e){const e=t.parseSparseCheckout(r,!0).spec,i="cone"===e.mode?[...e.recursive,...a]:a,o=t.buildConeSpec(i);return{spec:o,text:t.serializeCone(o)}}const i=(""===r?a:[r,...a]).join("\n");return{spec:t.parseSparseCheckout(i,!1).spec,text:i}},_a=(e,t)=>({kind:"applied",cone:e,materialized:t.materialized,removed:t.removed,retained:t.retained}),La="status:scan",Ca=(e,t)=>e.path<t.path?-1:1,Ua=new TextEncoder,Fa=async(e,t,r)=>{try{const a=await $e(e,Ee(t)),i=Ua.encode(`blob ${a.byteLength}\0`),o=new Uint8Array(i.byteLength+a.byteLength);return o.set(i,0),o.set(a,i.byteLength),await e.hash.hashHex(o)!==r.id}catch{return!0}},Ha="refs/tags/",Ba=async e=>{const r=await ve(e);return"direct"===r.kind?r.id:t.resolveRef(e,r.target)};exports.add=async(r,a,i={})=>{if(await ge(r),await ye(r,"add"),await ke(r,{except:"merge"}),!0===i.all){if(0!==a.length)throw e.invalidOption("all","pathspec must be empty when all=true");return(async(e,r)=>{const a=await de(e),i=await ue(e,void 0!==r.breakStaleLockMs?{breakStaleLockMs:r.breakStaleLockMs}:{});try{const r=await Pe(e),o=new Map(r),n=new Set,s=[],c=[];for await(const i of t.walkWorkingTree(e,{ignore:a})){const t=await Be(e,i,r,n);void 0!==t&&(o.set(t.path,t.entry),"added"===t.kind?s.push(t.path):"modified"===t.kind&&c.push(t.path))}const d=await Fe(r,n,a);for(const e of d)o.delete(e);return s.sort(),c.sort(),d.sort(),await i.commit(Array.from(o.values())),{added:s,modified:c,removed:d}}finally{await i.release()}})(r,i)}if(0===a.length)throw e.emptyPathspec();return(async(e,t,r)=>{const{matcher:a,literalMustMatch:i,hasGlob:o}=De(t);return!o&&await Ce(e,i)?Le(e,i,r):Ue(e,a,i,r)})(r,a,i)},exports.branch=async(r,a)=>(await ge(r),"list"===a.kind?(async e=>{const r=`${e.layout.gitDir}/refs/heads`;if(!await e.fs.exists(r))return{kind:"list",branches:[]};const a=await ve(e),i="symbolic"===a.kind&&a.target.startsWith(qe)?a.target:void 0,o=await e.fs.readdir(r),n=[];for(const r of o){if(!r.isFile)continue;const a=`${qe}${r.name}`,o=await t.resolveRef(e,a);n.push({name:a,id:o,current:a===i})}return n.sort((e,t)=>Xe(e.name,t.name)),{kind:"list",branches:n}})(r):"create"===a.kind?(async(r,a)=>{const i=t.validateRefName(`${qe}${a.name}`),o=a.startPoint??"HEAD",n=await Ye(r,o),s=`branch: Created from ${o}`;try{await t.updateRef(r,i,n,!0===a.force?{reflogMessage:s}:{expected:"absent",reflogMessage:s})}catch(t){if(t instanceof e.TsgitError&&"REF_UPDATE_CONFLICT"===t.data.code)throw e.branchExists(i);throw t}return{kind:"create",name:i,id:n}})(r,a):"delete"===a.kind?(async(r,a)=>{const i=t.validateRefName(`${qe}${a.name}`),o=await ve(r);if("symbolic"===o.kind&&o.target===i)throw e.cannotDeleteCheckedOutBranch(i);if(!await r.fs.exists(`${r.layout.gitDir}/${i}`))throw e.branchNotFound(i);return await t.updateRef(r,i,t.ZERO_OID,{delete:!0}),{kind:"delete",name:i}})(r,a):(async(r,a)=>{const i=t.validateRefName(`${qe}${a.from}`),o=t.validateRefName(`${qe}${a.to}`),n=await t.resolveRef(r,i),s=`branch: renamed ${i} to ${o}`,c=await t.readReflog(r,i);try{await t.updateRef(r,o,n,!0===a.force?{reflogMessage:s}:{expected:"absent",reflogMessage:s})}catch(t){if(t instanceof e.TsgitError&&"REF_UPDATE_CONFLICT"===t.data.code)throw e.branchExists(o);throw t}c.length>0&&await t.writeReflog(r,o,[...c,...await t.readReflog(r,o)]),await t.updateRef(r,i,t.ZERO_OID,{delete:!0});const d=await ve(r);return"symbolic"===d.kind&&d.target===i&&await t.writeSymbolicRef(r,"HEAD",o),{kind:"rename",from:i,to:o}})(r,a)),exports.catFile=async(e,r)=>{await ge(e);const a=r.ids.map(Ve),i=void 0===r.maxBytes?void 0:{maxBytes:r.maxBytes},o=[];for await(const r of t.catFileBatch(e,a,i))o.push(r);return{kind:"batch",entries:o}},exports.checkout=async(r,a)=>{await ge(r),await ye(r,"checkout"),await ke(r);const i=(e=>"target"in e&&void 0!==e.target)(a),o=(e=>"paths"in e&&void 0!==e.paths)(a);if(i&&o)throw e.invalidOption("paths","cannot be combined with target");if(!i&&!o)throw e.invalidOption("target","either target or paths must be provided");r.progress.start(Ze);try{return o?await(async(r,a)=>{if(0===a.paths.length)throw e.invalidOption("paths","must not be empty");const i=a.source??"index",{matcher:o,literalMustMatch:n}=De(a.paths),s=(await(async(e,r)=>{if("index"===r)return(await t.readIndex(e)).entries.map(e=>e.path);const a=await Je(e,r),i=[];for await(const r of t.walkTree(e,a))r.mode!==t.FILE_MODE.DIRECTORY&&i.push(r.path);return i})(r,i)).filter(e=>y(o,e));Me(n,s);const c=new Set(s);if(0===c.size)return{branch:void 0,id:await t.resolveRef(r,"HEAD"),detached:!1,changedPaths:0};const d="index"===i?await(async(e,r)=>{const a=await t.readIndex(e),i=await t.synthesizeTreeFromIndex(e,a.entries);return t.materializeTree(e,{targetTree:i,currentIndex:a,force:!0,forceRewriteAll:!0,paths:r})})(r,c):await(async(e,r,a)=>{const i=await ue(e);try{const o=await t.readIndex(e),n=await t.materializeTree(e,{targetTree:r,currentIndex:o,force:!0,forceRewriteAll:!0,paths:a});return await i.commit(n.newIndexEntries),n}finally{await i.release()}})(r,await Je(r,i),c);return{branch:void 0,id:await t.resolveRef(r,"HEAD"),detached:!1,changedPaths:d.written+d.deleted}})(r,a):await(async(r,a)=>{const i=!0===a.detach||/^[0-9a-f]{40}$/.test(a.target),o=await ve(r),n=await t.resolveRef(r,"HEAD");let s,c;if(i)c=await(async(e,r)=>/^[0-9a-f]{40}$/.test(r)?r:t.resolveRef(e,r))(r,a.target);else{if(s=t.validateRefName(`${Ke}${a.target}`),!await r.fs.exists(`${r.layout.gitDir}/${s}`))throw e.branchNotFound(s);c=await t.resolveRef(r,s)}const d=await t.readTree(r,c),f=await t.loadSparseMatcher(r),l=await ue(r);let u;try{const e=await t.readIndex(r);u=await t.materializeTree(r,{targetTree:d.id,currentIndex:e,force:a.force??!1,...void 0!==f?{sparse:f}:{}}),await l.commit(u.newIndexEntries)}finally{await l.release()}const h=(e=>{if("symbolic"!==e.kind)return e.id.slice(0,7);if(e.target.startsWith(Ke))return e.target.slice(11);const t=e.target.lastIndexOf("/");return-1===t?e.target:e.target.slice(t+1)})(o);return i?(await r.fs.writeUtf8(`${r.layout.gitDir}/HEAD`,`${c}\n`),await t.recordRefUpdate(r,"HEAD",n,c,`checkout: moving from ${h} to ${c.slice(0,7)}`),{branch:void 0,id:c,detached:!0,changedPaths:u.written+u.deleted}):(await t.writeSymbolicRef(r,"HEAD",s),await t.recordRefUpdate(r,"HEAD",n,c,`checkout: moving from ${h} to ${a.target}`),{branch:s,id:c,detached:!1,changedPaths:u.written+u.deleted})})(r,a)}finally{r.progress.end(Ze)}},exports.clone=async(r,a)=>{if(await r.fs.exists(`${r.layout.gitDir}/HEAD`))throw e.targetDirectoryNotEmpty(r.layout.workDir);if(""===a.url)throw e.remoteAdvertisesNoRefs();const i=void 0!==a.filter?V(Y(a.filter)):void 0;r.progress.start(kt);try{void 0!==a.resolver&&await ut(a.url,{resolver:a.resolver,...void 0!==a.allowInsecure?{allowInsecure:a.allowInsecure}:{},...void 0!==a.allowPrivateNetworks?{allowPrivateNetworks:a.allowPrivateNetworks}:{}});const o=await Qe(r,{initialBranch:a.initialBranch??"main",bare:a.bare??!1});try{return await(async(r,a,i,o)=>{const n=tt(r,{...void 0!==r.config?.auth?{auth:r.config.auth}:{}}),s=await ct(r,n,a.url);if(0===s.refs.length)throw e.remoteAdvertisesNoRefs();if(void 0!==o&&!lt(s.capabilities))throw t.remoteFilterUnsupported();const c=dt(s.capabilities),d=ft(s.refs),f=await t.fetchPack(r,n,{wants:d,haves:[],capabilities:c,url:a.url,progressOp:"clone:write-objects",...void 0!==a.depth?{depth:a.depth}:{},...void 0!==o?{filter:o,promisor:!0}:{}});f.shallow.length>0&&await t.updateShallow(r,{shallow:f.shallow,unshallow:f.unshallow});const l=await xt(r,s,a.url),u=await Rt(r,s,a.url);return void 0!==o&&await Et(r,a.url,o),{path:i,head:u,fetchedRefs:l}})(r,a,o.gitDir,i)}catch(e){throw await r.fs.rmRecursive(r.layout.gitDir).catch(()=>{}),e}}finally{r.progress.end(kt)}},exports.commit=async(r,a)=>{await ge(r),await ye(r,"commit");const i=await(async e=>{const r=Ot(e);if(!await e.fs.exists(r))return;const a=(await e.fs.readUtf8(r)).trim();return 0!==a.length?t.ObjectId.from(a):void 0})(r);await ke(r,void 0!==i?{except:"merge"}:{});const o=a.noVerify??!1;await(async(e,r)=>{r||await t.runHook(e,"pre-commit")})(r,o);const n=await(async(e,t,r)=>{if(t.message.length>0||void 0===r)return Mt(t.message,{allowEmpty:t.allowEmptyMessage??!1});const a=await(async e=>{const t=At(e);if(await e.fs.exists(t))return e.fs.readUtf8(t)})(e);return Mt(a??"",{allowEmpty:t.allowEmptyMessage??!1})})(r,a,i),s=(e=>{if(void 0!==e)return{name:e.name,email:e.email,timestamp:Math.floor(Date.now()/1e3),timezoneOffset:"+0000"}})((await t.readConfig(r)).user),c=St(((e,t)=>{const r={};return void 0!==e&&(r.explicit=e),void 0!==t&&(r.configUser=t),r})(a.author,s)),d=Tt(((e,t,r)=>{const a={};return void 0!==e&&(a.explicit=e),void 0!==t&&(a.author=t),void 0!==r&&(a.configUser=r),a})(a.committer,c,s)),f=await t.readIndex(r);(t=>{const r=new Set;for(const e of t)0!==e.flags.stage&&r.add(e.path);if(r.size>0)throw e.mergeHasConflicts(r.size,[...r])})(f.entries);const l=await(async(e,t)=>{const r={files:new Map,subdirs:new Map};for(const e of t)Nt(r,e.path.split("/"),e);return _t(e,r)})(r,f.entries),u=await ve(r),h="symbolic"===u.kind?await(async(e,r)=>{try{return await t.resolveRef(e,r)}catch{return}})(r,u.target):u.id,w=((e,t)=>{const r=[];return void 0!==e&&r.push(e),void 0!==t&&r.push(t),r})(h,i);if(!a.allowEmpty&&void 0!==h&&void 0===i&&await(async(e,r)=>{const a=await t.readObject(e,r);return"commit"!==a.type?t.ZERO_OID:a.data.tree})(r,h)===l)throw e.nothingToCommit();const p=await(async(e,r,a)=>{if(a.noVerify||void 0===e.hooks)return r;const i=`${e.layout.gitDir}/COMMIT_EDITMSG`;await e.fs.writeUtf8(i,r),await t.runHook(e,"commit-msg",{args:[i]});const o=await e.fs.readUtf8(i);return Mt(o,{allowEmpty:a.allowEmptyMessage})})(r,n,{noVerify:o,allowEmptyMessage:a.allowEmptyMessage??!1}),m={tree:l,parents:w,author:c,committer:d,message:p,extraHeaders:[]},g=await t.createCommit(r,m),y="symbolic"===u.kind?u.target:void 0,v=((e,t,r)=>{const a=e.split("\n")[0];return void 0===t?`commit (initial): ${a}`:void 0!==r?`commit (merge): ${a}`:`commit: ${a}`})(p,h,i);return void 0!==y?await t.updateRef(r,y,g,void 0!==h?{expected:h,reflogMessage:v}:{reflogMessage:v}):(await r.fs.writeUtf8(`${r.layout.gitDir}/HEAD`,`${g}\n`),await t.recordRefUpdate(r,"HEAD",h??t.ZERO_OID,g,v)),void 0!==i&&await(async e=>{for(const t of[Ot(e),At(e)])await e.fs.exists(t)&&await e.fs.rm(t)})(r),{id:g,tree:l,branch:y,parents:w}},exports.createPromisorRemote=e=>({fetch:async t=>{const r=await Yt(e,t);return"no-promisor"===r.kind?{attempted:!1,requested:t.length,fetched:0}:{attempted:!0,requested:r.requested,fetched:r.fetched}}}),exports.diff=async(e,r={})=>{await ge(e);const a=await Lt(e,r.from??"HEAD"),i=void 0!==r.to?await Lt(e,r.to):void 0;return t.diffTrees(e,a,i,!0===r.detectRenames?{detectRenames:!0}:{})},exports.fetch=async(r,a={})=>{await ge(r);const i=a.remote??"origin",{url:o,filter:n}=await(async(r,a)=>{const i=await t.readConfig(r),o=i.remote?.get(a);if(void 0===o?.url||""===o.url)throw e.remoteNotConfigured(a);const n=void 0!==o.partialCloneFilter?V(Y(o.partialCloneFilter)):void 0;return{url:o.url,filter:n}})(r,i);r.progress.start(Ct);try{const s=tt(r,void 0!==r.config?.auth?{auth:r.config.auth}:{}),c=await ct(r,s,o);if(0===c.refs.length)throw e.remoteAdvertisesNoRefs();if(void 0!==n&&!lt(c.capabilities))throw t.remoteFilterUnsupported();const d=dt(c.capabilities),f=ft(c.refs),l=await(async(e,r)=>{const a=await Ut(e,r);if(0===a.length)return[];const i=new Set,o=[];for(const e of a)if(!i.has(e)&&(i.add(e),o.push(e),o.length>=t.MAX_HAVES))return o;const n=a.slice(0,t.MAX_WALK_SEEDS);for await(const r of t.walkCommits(e,{from:n,ignoreMissing:!0,verifyHash:!1}))if(!i.has(r.id)&&(i.add(r.id),o.push(r.id),o.length>=t.MAX_HAVES))break;return o})(r,i),u=await t.fetchPack(r,s,{wants:f,haves:l,capabilities:d,url:o,progressOp:"fetch:write-objects",...void 0!==a.depth?{depth:a.depth}:{},...void 0!==n?{filter:n,promisor:!0}:{}});(u.shallow.length>0||u.unshallow.length>0)&&await t.updateShallow(r,{shallow:u.shallow,unshallow:u.unshallow});const h=await(async(e,r,a)=>{const i=[];for(const o of a.refs){const a=Pt(r,o);if(void 0===a)continue;const n=await jt(e,a);n!==o.id?(await t.updateRef(e,a,o.id,{reflogMessage:`fetch ${r}: storing head`}),i.push({name:a,oldId:n,newId:o.id})):i.push({name:a,oldId:n,newId:o.id})}return i})(r,i,c);return{remote:i,url:o,updatedRefs:h,prunedRefs:!0===a.prune?await Gt(r,i,c):[],shallow:u.shallow,unshallow:u.unshallow}}finally{r.progress.end(Ct)}},exports.fetchMissing=async(t,r)=>{const a=await Yt(t,r.oids);if("no-promisor"===a.kind)throw e.noPromisorRemote();return{remote:a.remote,requested:a.requested,fetched:a.fetched}},exports.init=async(t,r={})=>{const a=r.initialBranch??"main",i=r.bare??!1;if(await t.fs.exists(`${t.layout.gitDir}/HEAD`))throw new e.TsgitError({code:"ALREADY_INITIALIZED",path:t.layout.gitDir});const o=await Qe(t,{initialBranch:a,bare:i});return{path:o.gitDir,initialBranch:o.initialBranch,bare:o.bare}},exports.log=async(e,r={})=>{await ge(e);const a=await(async(e,r)=>{if(/^[0-9a-f]{40}$/.test(r))return r;const a=[r,`refs/heads/${r}`,`refs/tags/${r}`];for(const r of a)try{return await t.resolveRef(e,t.validateRefName(r))}catch{}return t.resolveRef(e,t.validateRefName(r))})(e,r.from??"HEAD"),i=await(async(e,r)=>{const a=[];for(const i of r)if(/^[0-9a-f]{40}$/.test(i))a.push(i);else try{a.push(await t.resolveRef(e,t.validateRefName(i)))}catch{}return a})(e,r.excluding??[]),o=r.before,n=[];let s=0;for await(const c of t.walkCommits(e,{from:[a],until:i,order:"first-parent"}))if(!(void 0!==o&&c.data.committer.timestamp>=o.getTime()/1e3)&&(n.push({id:c.id,tree:c.data.tree,parents:c.data.parents,author:c.data.author,committer:c.data.committer,message:c.data.message}),s+=1,void 0!==r.limit&&s>=r.limit))break;return n},exports.merge=async(r,a)=>{await ge(r),await ye(r,"merge"),await ke(r);const i=await ve(r);if("symbolic"!==i.kind)throw e.unsupportedOperation("merge","cannot merge with detached HEAD");const o=await t.resolveRef(r,i.target),n=await(async(e,r)=>/^[0-9a-f]{40}$/.test(r)?r:t.resolveRef(e,`refs/heads/${r}`))(r,a.target);if(o===n)return{kind:"up-to-date",id:o};const s=await t.mergeBase(r,o,n);if(s===n)return{kind:"up-to-date",id:o};if(s===o&&!0!==a.noFastForward)return await t.updateRef(r,i.target,n,{expected:o,reflogMessage:`merge ${a.target}: Fast-forward`}),{kind:"fast-forward",id:n,branch:i.target};if(!0===a.fastForwardOnly)throw e.nonFastForward(i.target,o,n);return(async(e,t,r,a,i,o)=>{e.progress.start(Kt);try{const n=await Qt(e,a,i,o);return"conflict"===n.kind?ar(e,t,n,a,i):Jt(e,t,r,a,i,n.tree)}finally{e.progress.end(Kt)}})(r,a,i.target,o,n,s)},exports.push=async(r,a={})=>{await ge(r),r.progress.start(Er);try{const i=a.remote??"origin",o=await(async(r,a)=>{if(!Sr.test(a))throw e.invalidOption("remote",`invalid remote name: ${a}`);const i=await t.readConfig(r),o=i.remote?.get(a);if(void 0===o?.url)throw e.remoteNotConfigured(a);return o.url})(r,i),n=await(async(t,r)=>{if(void 0!==r&&r.length>0)return r.map(br);const a=await ve(t);if("symbolic"!==a.kind)throw e.invalidOption("refspecs","no-default-refspec (HEAD is detached)");const i=a.target;return[br(`${i}:${i}`)]})(r,a.refspecs),s=tt(r,void 0!==r.config?.auth?{auth:r.config.auth}:{}),c=await(async(e,t,r)=>st(e,t,r,"git-receive-pack"))(r,s,o),d=(await(async(e,t,r,a,i)=>{const o=Tr(r.refs),n=[];for(const r of t)n.push(await Mr(e,r,o,a,i));return n})(r,n,c,i,a)).filter(e=>e.localOid!==e.remoteOid);return 0===d.length?{remote:i,url:o,pushedRefs:[]}:(await(async(e,r,a,i,o)=>{if(r)return;const n=o.map(Dr).join("");await t.runHook(e,"pre-push",{args:[a,i],stdin:n})})(r,a.noVerify??!1,i,o,d),{remote:i,url:o,pushedRefs:await Lr(r,s,o,c,d,i)})}finally{r.progress.end(Er)}},exports.reflog=async(e,r={})=>(await ge(e),"exists"===r.action?(async(e,r)=>({kind:"exists",exists:await t.reflogExists(e,zr(r))}))(e,r.ref):"delete"===r.action?(async(e,r)=>{const a=zr(r.ref);if(!await t.reflogExists(e,a))throw t.reflogNotFound(a);const i=await t.readReflog(e,a);if(!Number.isInteger(r.index)||r.index<0)throw t.reflogEntryOutOfRange(a,r.index,i.length);const o=i.length-1-r.index;if(o<0)throw t.reflogEntryOutOfRange(a,r.index,i.length);const n=i[o],s=qr(i,o,!0===r.rewrite);return await t.writeReflog(e,a,s),{kind:"delete",removed:n}})(e,r):"expire"===r.action?(async(e,r)=>{const a=Math.floor(Date.now()/1e3),i=Xr(r.expire??"90.days.ago",a),o=Xr(r.expireUnreachable??"30.days.ago",a),n=await Vr(e),s=!0===r.all?await t.listReflogs(e):[zr(r.ref??"HEAD")];let c=0,d=0;for(const r of s){const a=await t.readReflog(e,r),s=a.filter(e=>Yr(e,n,i,o));c+=a.length-s.length,d+=s.length,s.length!==a.length&&await t.writeReflog(e,r,s)}return{kind:"expire",removed:c,kept:d}})(e,r):(async(e,r)=>{const a=zr(r),i=await t.readReflog(e,a),o=i.length-1,n=i.map((e,t)=>({index:t,selector:`${a}@{${t}}`,entry:i[o-t]}));return{kind:"show",ref:a,entries:n}})(e,r.ref??"HEAD")),exports.reset=async(r,a)=>{await ge(r),"hard"===a.mode&&await ye(r,"reset --hard"),await ke(r);const i=await(async(r,a)=>{if(/^[0-9a-f]{40}$/.test(a))return a;const i="HEAD"===a?["HEAD"]:[a,`refs/heads/${a}`,`refs/tags/${a}`];for(const e of i)try{return await t.resolveRef(r,e)}catch{}throw e.revparseUnresolved(a)})(r,a.target);"mixed"===a.mode?await(async(e,r)=>{const a=await t.readObject(e,r);if("commit"!==a.type)throw t.unexpectedObjectType("commit",a.type,r);const i=await t.loadSparseMatcher(e),o=await ue(e);try{const r=await t.readIndex(e),n=await t.buildIndexFromTree(e,{targetTree:a.data.tree,currentIndex:r,...void 0!==i?{sparse:i}:{}});await o.commit(n)}finally{await o.release()}})(r,i):"hard"===a.mode&&await(async(e,r)=>{const a=await t.readObject(e,r);if("commit"!==a.type)throw t.unexpectedObjectType("commit",a.type,r);const i=await t.loadSparseMatcher(e),o=await ue(e);try{const r=await t.readIndex(e),n=await t.materializeTree(e,{targetTree:a.data.tree,currentIndex:r,force:!0,forceRewriteAll:!0,...void 0!==i?{sparse:i}:{}});(n.written>0||n.deleted>0||void 0!==i)&&await o.commit(n.newIndexEntries)}finally{await o.release()}})(r,i);const o=await ve(r),n=`reset: moving to ${a.target}`;return"symbolic"===o.kind?(await t.updateRef(r,o.target,i,{reflogMessage:n}),{mode:a.mode,id:i,branch:o.target}):(await r.fs.writeUtf8(`${r.layout.gitDir}/HEAD`,`${i}\n`),await t.recordRefUpdate(r,"HEAD",o.id,i,n),{mode:a.mode,id:i,branch:void 0})},exports.revParse=async(e,t)=>{await ge(e);var r;return(async(e,t,r)=>{if("index-stage"===t.kind)return ba(e,t);const a=Math.floor(Date.now()/1e3);let i=void 0!==t.reflog?await fa(e,t.base,t.reflog,a,r):await ca(e,t.base);for(const r of t.operations)i=await ga(e,i,r);return i})(e,(""===(r=t)&&ta(r),r.startsWith(":")?(e=>{const t=Qr.exec(e);null===t&&ta(e);const r=t[2],a=Number(t[1]);return a>3&&ta(e),{kind:"index-stage",stage:a,path:r}})(r):r.includes("@{")?(e=>{const t=e.indexOf("@{"),r=e.indexOf("}",t+2),a=e.slice(0,t),i=e.slice(t+2,r);return""===i&&ta(e),{kind:"ref-or-hex",base:a,reflog:ra.test(i)?{kind:"index",n:Number(i)}:{kind:"date",raw:i},operations:ia(e.slice(r+1),0)}})(r):(e=>{const t=aa(e),r=-1===t?e:e.slice(0,t);return""===r&&ta(e),ea.test(r)&&-1===t&&ta(e),{kind:"ref-or-hex",base:r,operations:-1===t?[]:ia(e,t)}})(r)),t)},exports.rm=async(r,a,i={})=>{if(await ge(r),await ye(r,"rm"),await ke(r),0===a.length)throw e.emptyPathspec();const{matcher:o,literalMustMatch:n}=De(a),s=await ue(r,void 0!==i.breakStaleLockMs?{breakStaleLockMs:i.breakStaleLockMs}:{});try{const a=await t.readIndex(r).catch(t=>{if(t instanceof e.TsgitError&&("FILE_NOT_FOUND"===(r=t.data.code)||"INVALID_INDEX_HEADER"===r||"INVALID_INDEX_ENTRY"===r))return{entries:[]};var r;throw t}),c=new Map;for(const e of a.entries)c.set(e.path,e);const d=[];for(const[e]of c)y(o,e)&&d.push(e);Me(n,d);for(const e of d)c.delete(e);if(!i.cached)for(const t of d)await Ie(r,t).catch(t=>{if(!(t instanceof e.TsgitError&&"FILE_NOT_FOUND"===t.data.code))throw t});return await s.commit(Array.from(c.values())),{removed:d}}finally{await s.release()}},exports.sparseCheckout=async(r,a)=>(await(async e=>{await ge(e),await ye(e,"sparse-checkout"),await ke(e)})(r),"list"===a.action?(async e=>{const r=await t.readConfig(e);if(!0!==r.core?.sparseCheckout)return{kind:"list",cone:!1,patterns:[]};const a=!0===r.core.sparseCheckoutCone,i=await t.readSparsePatternText(e)??"";return"cone"===(o=t.parseSparseCheckout(i,a).spec).mode?{kind:"list",cone:!0,patterns:[...o.recursive].sort()}:{kind:"list",cone:!1,patterns:o.rules.map(e=>e.source)};var o})(r):"set"===a.action?(async(r,a)=>{if(0===a.patterns.length)throw e.invalidOption("patterns","set requires at least one pattern");const i=await t.readConfig(r),o=a.cone??i.core?.sparseCheckoutCone??!0,{spec:n,text:s}=Aa(o,a.patterns);return Oa(r,n,s,a.force)})(r,a):"add"===a.action?(async(r,a)=>{if(0===a.patterns.length)throw e.invalidOption("patterns","add requires at least one pattern");const i=await t.readConfig(r);if(!0!==i.core?.sparseCheckout)throw e.invalidOption("action","add requires sparse checkout to be enabled");const o=!0===i.core.sparseCheckoutCone,n=await t.readSparsePatternText(r)??"",{spec:s,text:c}=Na(o,n,a.patterns);return Oa(r,s,c,a.force)})(r,a):"reapply"===a.action?(async(r,a)=>{const i=await t.loadSparseMatcher(r);if(void 0===i)throw e.invalidOption("action","reapply requires sparse checkout to be enabled");const o=await t.readConfig(r),n=await Ta(r,Ma(i,a.force));return _a(!0===o.core?.sparseCheckoutCone,n)})(r,a):(async(e,r)=>{const a=await Ta(e,Ma(void 0,r.force));return await t.updateCoreConfig(e,{sparseCheckout:"false"}),_a(!1,a)})(r,a)),exports.status=async e=>{await ge(e);const r=await ve(e),a="symbolic"===r.kind?r.target:void 0,i="direct"===r.kind,o=await t.readIndex(e).catch(()=>({entries:[]})),n=new Map;for(const e of o.entries)n.set(e.path,e);e.progress.start(La);try{const r=((e,t)=>{let r=0,a=0;return{tick:()=>{r+=1;const i=Math.floor(r/100);i>a&&(a=i,e.update(t,r))}}})(e.progress,La),o=(await Promise.all(Array.from(n).map(async([t,a])=>{const i=await(async(e,t,r)=>{if(!r.flags.skipWorktree)return void 0===await e.fs.lstat(`${e.layout.workDir}/${t}`).catch(()=>{})?{kind:"deleted",path:t}:await Fa(e,t,r)?{kind:"modified",path:t}:void 0})(e,t,a);return r.tick(),i}))).filter(e=>void 0!==e),s=await de(e),c=[];for await(const{path:r}of t.walkWorkingTree(e,{ignore:s}))n.has(r)||c.push({kind:"untracked",path:r});c.sort(Ca);const d=[...o,...c];return{branch:a,detached:i,indexChanges:[],workingTreeChanges:d,clean:0===d.length}}finally{e.progress.end(La)}},exports.submodules=async(e,r={})=>{await ge(e);const a=(e=>t.looksLikeObjectId(e)?t.ObjectId.from(e):t.validateRefName(e))(r.ref??"HEAD"),i=!0===r.recursive,o=[];for await(const n of t.walkSubmodules(e,{ref:a,recursive:i,...void 0!==r.maxDepth?{maxDepth:r.maxDepth}:{}}))o.push(n);return{kind:"list",entries:o}},exports.tag=async(r,a)=>(await ge(r),"list"===a.kind?(async e=>{const r=`${e.layout.gitDir}/refs/tags`;if(!await e.fs.exists(r))return{kind:"list",tags:[]};const a=await e.fs.readdir(r),i=[];for(const r of a){if(!r.isFile)continue;const a=`${Ha}${r.name}`,o=await t.resolveRef(e,a);i.push({name:a,id:o})}return i.sort((e,t)=>e.name<t.name?-1:1),{kind:"list",tags:i}})(r):"create"===a.kind?(async(r,a)=>{const i=t.validateRefName(`${Ha}${a.name}`),o=void 0!==a.target?a.target:await Ba(r),n=/^[0-9a-f]{40}$/.test(o)?o:await t.resolveRef(r,o),s=`tag: ${a.name}`;try{await t.updateRef(r,i,n,!0===a.force?{reflogMessage:s}:{expected:"absent",reflogMessage:s})}catch(t){if(t instanceof e.TsgitError&&"REF_UPDATE_CONFLICT"===t.data.code)throw e.tagExists(i);throw t}return{kind:"create",name:i,id:n}})(r,a):(async(r,a)=>{const i=t.validateRefName(`${Ha}${a.name}`);if(!await r.fs.exists(`${r.layout.gitDir}/${i}`))throw e.tagNotFound(i);return await t.updateRef(r,i,t.ZERO_OID,{delete:!0}),{kind:"delete",name:i}})(r,a)),exports.validateUrl=ut;
|
|
2
|
+
//# sourceMappingURL=index-DE9HSiWf.cjs.map
|