@gitkraken/core-gitlens 0.2.0 → 0.3.1
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/CHANGELOG.md +11 -1
- package/dist/git/cache.d.ts +38 -8
- package/dist/git/cache.d.ts.map +1 -1
- package/dist/git/cache.js +120 -55
- package/dist/git/cache.js.map +1 -1
- package/dist/git/context.d.ts +19 -0
- package/dist/git/context.d.ts.map +1 -1
- package/dist/git/context.js.map +1 -1
- package/dist/git/features.d.ts +1 -1
- package/dist/git/features.d.ts.map +1 -1
- package/dist/git/features.js +1 -0
- package/dist/git/features.js.map +1 -1
- package/dist/git/models/commit.d.ts.map +1 -1
- package/dist/git/models/commit.js.map +1 -1
- package/dist/git/models/graph.d.ts +96 -0
- package/dist/git/models/graph.d.ts.map +1 -1
- package/dist/git/models/graph.js +24 -1
- package/dist/git/models/graph.js.map +1 -1
- package/dist/git/models/reference.d.ts +31 -0
- package/dist/git/models/reference.d.ts.map +1 -1
- package/dist/git/models/remote.d.ts.map +1 -1
- package/dist/git/models/remote.js.map +1 -1
- package/dist/git/models/remoteProvider.d.ts +1 -0
- package/dist/git/models/remoteProvider.d.ts.map +1 -1
- package/dist/git/models/remoteProvider.js.map +1 -1
- package/dist/git/models/repository.d.ts +30 -13
- package/dist/git/models/repository.d.ts.map +1 -1
- package/dist/git/models/repository.js +89 -87
- package/dist/git/models/repository.js.map +1 -1
- package/dist/git/models/search.d.ts +2 -2
- package/dist/git/models/search.d.ts.map +1 -1
- package/dist/git/models/statusFile.d.ts +9 -0
- package/dist/git/models/statusFile.d.ts.map +1 -1
- package/dist/git/models/statusFile.js +11 -0
- package/dist/git/models/statusFile.js.map +1 -1
- package/dist/git/models/worktree.d.ts +4 -1
- package/dist/git/models/worktree.d.ts.map +1 -1
- package/dist/git/models/worktree.js +2 -2
- package/dist/git/models/worktree.js.map +1 -1
- package/dist/git/parsers/diffParser.d.ts.map +1 -1
- package/dist/git/parsers/diffParser.js.map +1 -1
- package/dist/git/providers/branches.d.ts +15 -4
- package/dist/git/providers/branches.d.ts.map +1 -1
- package/dist/git/providers/commits.d.ts +4 -0
- package/dist/git/providers/commits.d.ts.map +1 -1
- package/dist/git/providers/config.d.ts +5 -4
- package/dist/git/providers/config.d.ts.map +1 -1
- package/dist/git/providers/operations.d.ts +61 -12
- package/dist/git/providers/operations.d.ts.map +1 -1
- package/dist/git/providers/pausedOperations.d.ts +3 -1
- package/dist/git/providers/pausedOperations.d.ts.map +1 -1
- package/dist/git/providers/refs.d.ts +23 -2
- package/dist/git/providers/refs.d.ts.map +1 -1
- package/dist/git/providers/staging.d.ts +16 -0
- package/dist/git/providers/staging.d.ts.map +1 -1
- package/dist/git/providers/status.d.ts +4 -1
- package/dist/git/providers/status.d.ts.map +1 -1
- package/dist/git/remotes/azure-devops.d.ts.map +1 -1
- package/dist/git/remotes/azure-devops.js.map +1 -1
- package/dist/git/remotes/custom.d.ts +2 -0
- package/dist/git/remotes/custom.d.ts.map +1 -1
- package/dist/git/remotes/custom.js +20 -0
- package/dist/git/remotes/custom.js.map +1 -1
- package/dist/git/{exec.types.d.ts → run.types.d.ts} +22 -3
- package/dist/git/run.types.d.ts.map +1 -0
- package/dist/git/run.types.js +2 -0
- package/dist/git/run.types.js.map +1 -0
- package/dist/git/service.d.ts.map +1 -1
- package/dist/git/service.js.map +1 -1
- package/dist/git/utils/autolink.utils.d.ts.map +1 -1
- package/dist/git/utils/autolink.utils.js.map +1 -1
- package/dist/git/utils/blame.utils.d.ts.map +1 -1
- package/dist/git/utils/blame.utils.js.map +1 -1
- package/dist/git/utils/conflictResolution.utils.d.ts +6 -0
- package/dist/git/utils/conflictResolution.utils.d.ts.map +1 -0
- package/dist/git/utils/conflictResolution.utils.js +25 -0
- package/dist/git/utils/conflictResolution.utils.js.map +1 -0
- package/dist/git/utils/contributor.utils.d.ts +3 -0
- package/dist/git/utils/contributor.utils.d.ts.map +1 -1
- package/dist/git/utils/contributor.utils.js +22 -0
- package/dist/git/utils/contributor.utils.js.map +1 -1
- package/dist/git/utils/fileStatus.utils.d.ts +2 -1
- package/dist/git/utils/fileStatus.utils.d.ts.map +1 -1
- package/dist/git/utils/fileStatus.utils.js +4 -0
- package/dist/git/utils/fileStatus.utils.js.map +1 -1
- package/dist/git/utils/reachability.utils.d.ts +37 -0
- package/dist/git/utils/reachability.utils.d.ts.map +1 -0
- package/dist/git/utils/reachability.utils.js +96 -0
- package/dist/git/utils/reachability.utils.js.map +1 -0
- package/dist/git/utils/search.utils.d.ts.map +1 -1
- package/dist/git/utils/search.utils.js +3 -0
- package/dist/git/utils/search.utils.js.map +1 -1
- package/dist/git/utils/sorting.d.ts +8 -0
- package/dist/git/utils/sorting.d.ts.map +1 -1
- package/dist/git/utils/sorting.js +15 -0
- package/dist/git/utils/sorting.js.map +1 -1
- package/dist/git/utils/status.utils.d.ts.map +1 -1
- package/dist/git/utils/status.utils.js.map +1 -1
- package/dist/git/watching/classifyChange.d.ts.map +1 -1
- package/dist/git/watching/classifyChange.js +8 -0
- package/dist/git/watching/classifyChange.js.map +1 -1
- package/dist/git/watching/gitIgnoreFilter.js +1 -1
- package/dist/git/watching/gitIgnoreFilter.js.map +1 -1
- package/dist/git/watching/initWatcher.d.ts.map +1 -1
- package/dist/git/watching/initWatcher.js.map +1 -1
- package/dist/git/watching/watchGroup.d.ts.map +1 -1
- package/dist/git/watching/watchGroup.js.map +1 -1
- package/dist/git/watching/watchService.d.ts +4 -2
- package/dist/git/watching/watchService.d.ts.map +1 -1
- package/dist/git/watching/watchService.js +31 -6
- package/dist/git/watching/watchService.js.map +1 -1
- package/dist/git/watching/watchSession.d.ts +14 -12
- package/dist/git/watching/watchSession.d.ts.map +1 -1
- package/dist/git/watching/watchSession.js +56 -55
- package/dist/git/watching/watchSession.js.map +1 -1
- package/dist/git-cli/exec/exec.types.d.ts +1 -1
- package/dist/git-cli/exec/exec.types.d.ts.map +1 -1
- package/dist/git-cli/exec/git.d.ts +3 -3
- package/dist/git-cli/exec/git.d.ts.map +1 -1
- package/dist/git-cli/exec/git.js.map +1 -1
- package/dist/git-cli/exec/gitQueue.d.ts +10 -2
- package/dist/git-cli/exec/gitQueue.d.ts.map +1 -1
- package/dist/git-cli/exec/gitQueue.js +39 -12
- package/dist/git-cli/exec/gitQueue.js.map +1 -1
- package/dist/git-cli/parsers/blameParser.d.ts.map +1 -1
- package/dist/git-cli/parsers/blameParser.js.map +1 -1
- package/dist/git-cli/parsers/logParser.js.map +1 -1
- package/dist/git-cli/parsers/refParser.d.ts +3 -30
- package/dist/git-cli/parsers/refParser.d.ts.map +1 -1
- package/dist/git-cli/parsers/refParser.js +30 -30
- package/dist/git-cli/parsers/refParser.js.map +1 -1
- package/dist/git-cli/providers/blame.d.ts.map +1 -1
- package/dist/git-cli/providers/blame.js.map +1 -1
- package/dist/git-cli/providers/branches.d.ts +15 -5
- package/dist/git-cli/providers/branches.d.ts.map +1 -1
- package/dist/git-cli/providers/branches.js +99 -68
- package/dist/git-cli/providers/branches.js.map +1 -1
- package/dist/git-cli/providers/commits.d.ts +1 -0
- package/dist/git-cli/providers/commits.d.ts.map +1 -1
- package/dist/git-cli/providers/commits.js +86 -30
- package/dist/git-cli/providers/commits.js.map +1 -1
- package/dist/git-cli/providers/config.d.ts +19 -6
- package/dist/git-cli/providers/config.d.ts.map +1 -1
- package/dist/git-cli/providers/config.js +86 -38
- package/dist/git-cli/providers/config.js.map +1 -1
- package/dist/git-cli/providers/diff.d.ts.map +1 -1
- package/dist/git-cli/providers/diff.js +5 -3
- package/dist/git-cli/providers/diff.js.map +1 -1
- package/dist/git-cli/providers/graph.d.ts.map +1 -1
- package/dist/git-cli/providers/graph.js +139 -16
- package/dist/git-cli/providers/graph.js.map +1 -1
- package/dist/git-cli/providers/operations.d.ts +17 -14
- package/dist/git-cli/providers/operations.d.ts.map +1 -1
- package/dist/git-cli/providers/operations.js +135 -63
- package/dist/git-cli/providers/operations.js.map +1 -1
- package/dist/git-cli/providers/patch.d.ts.map +1 -1
- package/dist/git-cli/providers/patch.js.map +1 -1
- package/dist/git-cli/providers/pausedOperations.d.ts +3 -1
- package/dist/git-cli/providers/pausedOperations.d.ts.map +1 -1
- package/dist/git-cli/providers/pausedOperations.js +7 -1
- package/dist/git-cli/providers/pausedOperations.js.map +1 -1
- package/dist/git-cli/providers/refs.d.ts +19 -2
- package/dist/git-cli/providers/refs.d.ts.map +1 -1
- package/dist/git-cli/providers/refs.js +286 -2
- package/dist/git-cli/providers/refs.js.map +1 -1
- package/dist/git-cli/providers/revision.js.map +1 -1
- package/dist/git-cli/providers/staging.d.ts +6 -0
- package/dist/git-cli/providers/staging.d.ts.map +1 -1
- package/dist/git-cli/providers/staging.js +32 -0
- package/dist/git-cli/providers/staging.js.map +1 -1
- package/dist/git-cli/providers/stash.d.ts.map +1 -1
- package/dist/git-cli/providers/stash.js +20 -2
- package/dist/git-cli/providers/stash.js.map +1 -1
- package/dist/git-cli/providers/status.d.ts +4 -1
- package/dist/git-cli/providers/status.d.ts.map +1 -1
- package/dist/git-cli/providers/status.js +8 -4
- package/dist/git-cli/providers/status.js.map +1 -1
- package/dist/git-cli/providers/tags.d.ts.map +1 -1
- package/dist/git-cli/providers/tags.js +10 -6
- package/dist/git-cli/providers/tags.js.map +1 -1
- package/dist/ipc/discovery.d.ts +49 -0
- package/dist/ipc/discovery.d.ts.map +1 -0
- package/dist/ipc/discovery.js +147 -0
- package/dist/ipc/discovery.js.map +1 -0
- package/dist/ipc/ipcServer.d.ts +20 -0
- package/dist/ipc/ipcServer.d.ts.map +1 -0
- package/dist/ipc/ipcServer.js +162 -0
- package/dist/ipc/ipcServer.js.map +1 -0
- package/dist/plus/agents/providers/claudeCodeProvider.d.ts +167 -0
- package/dist/plus/agents/providers/claudeCodeProvider.d.ts.map +1 -0
- package/dist/plus/agents/providers/claudeCodeProvider.js +1786 -0
- package/dist/plus/agents/providers/claudeCodeProvider.js.map +1 -0
- package/dist/plus/agents/providers/claudeCodeTranscript.d.ts +36 -0
- package/dist/plus/agents/providers/claudeCodeTranscript.d.ts.map +1 -0
- package/dist/plus/agents/providers/claudeCodeTranscript.js +171 -0
- package/dist/plus/agents/providers/claudeCodeTranscript.js.map +1 -0
- package/dist/plus/agents/sanitizePrompt.d.ts +15 -0
- package/dist/plus/agents/sanitizePrompt.d.ts.map +1 -0
- package/dist/plus/agents/sanitizePrompt.js +103 -0
- package/dist/plus/agents/sanitizePrompt.js.map +1 -0
- package/dist/plus/agents/stateMachine.d.ts +32 -0
- package/dist/plus/agents/stateMachine.d.ts.map +1 -0
- package/dist/plus/agents/stateMachine.js +180 -0
- package/dist/plus/agents/stateMachine.js.map +1 -0
- package/dist/plus/agents/types.d.ts +254 -0
- package/dist/plus/agents/types.d.ts.map +1 -0
- package/dist/plus/agents/types.js +49 -0
- package/dist/plus/agents/types.js.map +1 -0
- package/dist/plus/ai/errors.d.ts +4 -1
- package/dist/plus/ai/errors.d.ts.map +1 -1
- package/dist/plus/ai/errors.js +38 -0
- package/dist/plus/ai/errors.js.map +1 -1
- package/dist/plus/ai/models/model.d.ts +1 -1
- package/dist/plus/ai/models/model.d.ts.map +1 -1
- package/dist/plus/ai/models/model.js.map +1 -1
- package/dist/plus/ai/models/promptTemplates.d.ts +11 -2
- package/dist/plus/ai/models/promptTemplates.d.ts.map +1 -1
- package/dist/plus/ai/models/provider.d.ts +3 -0
- package/dist/plus/ai/models/provider.d.ts.map +1 -1
- package/dist/plus/ai/prompts.d.ts +1 -0
- package/dist/plus/ai/prompts.d.ts.map +1 -1
- package/dist/plus/ai/prompts.js +48 -8
- package/dist/plus/ai/prompts.js.map +1 -1
- package/dist/plus/ai/providers/gitkrakenProvider.d.ts +1 -1
- package/dist/plus/ai/providers/gitkrakenProvider.d.ts.map +1 -1
- package/dist/plus/ai/providers/gitkrakenProvider.js +4 -1
- package/dist/plus/ai/providers/gitkrakenProvider.js.map +1 -1
- package/dist/plus/ai/providers/openAICompatibleProviderBase.d.ts +4 -3
- package/dist/plus/ai/providers/openAICompatibleProviderBase.d.ts.map +1 -1
- package/dist/plus/ai/providers/openAICompatibleProviderBase.js +9 -6
- package/dist/plus/ai/providers/openAICompatibleProviderBase.js.map +1 -1
- package/dist/plus/ai/utils/ai.utils.d.ts.map +1 -1
- package/dist/plus/ai/utils/ai.utils.js +2 -0
- package/dist/plus/ai/utils/ai.utils.js.map +1 -1
- package/dist/plus/ai/utils/results.utils.d.ts.map +1 -1
- package/dist/plus/ai/utils/results.utils.js.map +1 -1
- package/dist/plus/git-github/api/github.d.ts +12 -1
- package/dist/plus/git-github/api/github.d.ts.map +1 -1
- package/dist/plus/git-github/api/github.js +245 -51
- package/dist/plus/git-github/api/github.js.map +1 -1
- package/dist/plus/git-github/api/types.d.ts +8 -0
- package/dist/plus/git-github/api/types.d.ts.map +1 -1
- package/dist/plus/git-github/models.d.ts +1 -1
- package/dist/plus/git-github/models.d.ts.map +1 -1
- package/dist/plus/git-github/models.js.map +1 -1
- package/dist/plus/git-github/providers/github/blame.d.ts.map +1 -1
- package/dist/plus/git-github/providers/github/blame.js.map +1 -1
- package/dist/plus/git-github/providers/github/branches.d.ts +5 -1
- package/dist/plus/git-github/providers/github/branches.d.ts.map +1 -1
- package/dist/plus/git-github/providers/github/branches.js +47 -24
- package/dist/plus/git-github/providers/github/branches.js.map +1 -1
- package/dist/plus/git-github/providers/github/commits.d.ts.map +1 -1
- package/dist/plus/git-github/providers/github/commits.js +144 -92
- package/dist/plus/git-github/providers/github/commits.js.map +1 -1
- package/dist/plus/git-github/providers/github/diff.d.ts +1 -1
- package/dist/plus/git-github/providers/github/diff.d.ts.map +1 -1
- package/dist/plus/git-github/providers/github/diff.js +23 -9
- package/dist/plus/git-github/providers/github/diff.js.map +1 -1
- package/dist/plus/git-github/providers/github/refs.d.ts +9 -1
- package/dist/plus/git-github/providers/github/refs.d.ts.map +1 -1
- package/dist/plus/git-github/providers/github/refs.js +39 -14
- package/dist/plus/git-github/providers/github/refs.js.map +1 -1
- package/dist/plus/git-github/providers/github/revision.d.ts.map +1 -1
- package/dist/plus/git-github/providers/github/revision.js +1 -2
- package/dist/plus/git-github/providers/github/revision.js.map +1 -1
- package/dist/plus/git-github/providers/github/status.d.ts +4 -1
- package/dist/plus/git-github/providers/github/status.d.ts.map +1 -1
- package/dist/plus/git-github/providers/github/status.js +1 -1
- package/dist/plus/git-github/providers/github/status.js.map +1 -1
- package/dist/plus/git-github/providers/github/tags.d.ts.map +1 -1
- package/dist/plus/git-github/providers/github/tags.js +35 -36
- package/dist/plus/git-github/providers/github/tags.js.map +1 -1
- package/dist/plus/git-github/providers/githubGitProvider.d.ts.map +1 -1
- package/dist/plus/git-github/providers/githubGitProvider.js.map +1 -1
- package/dist/utils/color.d.ts.map +1 -1
- package/dist/utils/color.js.map +1 -1
- package/dist/utils/date.d.ts.map +1 -1
- package/dist/utils/date.js +6 -0
- package/dist/utils/date.js.map +1 -1
- package/dist/utils/debounce.js +1 -1
- package/dist/utils/decorators/serializable.d.ts.map +1 -1
- package/dist/utils/decorators/serializable.js.map +1 -1
- package/dist/utils/dedupedAsyncCache.d.ts +37 -0
- package/dist/utils/dedupedAsyncCache.d.ts.map +1 -0
- package/dist/utils/dedupedAsyncCache.js +68 -0
- package/dist/utils/dedupedAsyncCache.js.map +1 -0
- package/dist/utils/diff.d.ts +2 -0
- package/dist/utils/diff.d.ts.map +1 -0
- package/dist/utils/diff.js +53 -0
- package/dist/utils/diff.js.map +1 -0
- package/dist/utils/disposable.d.ts.map +1 -1
- package/dist/utils/disposable.js.map +1 -1
- package/dist/utils/env/node/exec.d.ts.map +1 -1
- package/dist/utils/env/node/exec.js.map +1 -1
- package/dist/utils/error.d.ts.map +1 -1
- package/dist/utils/error.js.map +1 -1
- package/dist/utils/iterable.d.ts +7 -1
- package/dist/utils/iterable.d.ts.map +1 -1
- package/dist/utils/iterable.js +12 -4
- package/dist/utils/iterable.js.map +1 -1
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/lruMap.d.ts +9 -0
- package/dist/utils/lruMap.d.ts.map +1 -1
- package/dist/utils/lruMap.js +26 -4
- package/dist/utils/lruMap.js.map +1 -1
- package/dist/utils/markdown.d.ts.map +1 -1
- package/dist/utils/markdown.js.map +1 -1
- package/dist/utils/mru.d.ts.map +1 -1
- package/dist/utils/mru.js.map +1 -1
- package/dist/utils/object.d.ts +22 -1
- package/dist/utils/object.d.ts.map +1 -1
- package/dist/utils/object.js +56 -3
- package/dist/utils/object.js.map +1 -1
- package/dist/utils/paging.js +14 -15
- package/dist/utils/paging.js.map +1 -1
- package/dist/utils/path.d.ts.map +1 -1
- package/dist/utils/path.js.map +1 -1
- package/dist/utils/promise.d.ts +1 -0
- package/dist/utils/promise.d.ts.map +1 -1
- package/dist/utils/promise.js +17 -0
- package/dist/utils/promise.js.map +1 -1
- package/dist/utils/promiseCache.d.ts +10 -0
- package/dist/utils/promiseCache.d.ts.map +1 -1
- package/dist/utils/promiseCache.js +34 -4
- package/dist/utils/promiseCache.js.map +1 -1
- package/dist/utils/string.d.ts.map +1 -1
- package/dist/utils/string.js +1 -1
- package/dist/utils/string.js.map +1 -1
- package/dist/utils/uri.d.ts.map +1 -1
- package/dist/utils/uri.js.map +1 -1
- package/dist/utils/version.d.ts.map +1 -1
- package/dist/utils/version.js.map +1 -1
- package/package.json +13 -1
- package/src/git/cache.ts +192 -90
- package/src/git/context.ts +21 -0
- package/src/git/features.ts +2 -0
- package/src/git/models/commit.ts +1 -0
- package/src/git/models/graph.ts +97 -0
- package/src/git/models/reference.ts +33 -0
- package/src/git/models/remote.ts +1 -0
- package/src/git/models/remoteProvider.ts +1 -0
- package/src/git/models/repository.ts +105 -96
- package/src/git/models/search.ts +2 -2
- package/src/git/models/statusFile.ts +12 -0
- package/src/git/models/worktree.ts +10 -2
- package/src/git/parsers/diffParser.ts +2 -0
- package/src/git/providers/branches.ts +22 -4
- package/src/git/providers/commits.ts +4 -0
- package/src/git/providers/config.ts +3 -5
- package/src/git/providers/operations.ts +65 -1
- package/src/git/providers/pausedOperations.ts +1 -0
- package/src/git/providers/refs.ts +32 -3
- package/src/git/providers/staging.ts +12 -0
- package/src/git/providers/status.ts +6 -1
- package/src/git/remotes/azure-devops.ts +2 -0
- package/src/git/remotes/custom.ts +23 -0
- package/src/git/{exec.types.ts → run.types.ts} +22 -2
- package/src/git/service.ts +1 -0
- package/src/git/utils/autolink.utils.ts +1 -0
- package/src/git/utils/blame.utils.ts +2 -0
- package/src/git/utils/conflictResolution.utils.ts +31 -0
- package/src/git/utils/contributor.utils.ts +24 -0
- package/src/git/utils/fileStatus.utils.ts +7 -1
- package/src/git/utils/reachability.utils.ts +109 -0
- package/src/git/utils/search.utils.ts +2 -0
- package/src/git/utils/sorting.ts +17 -0
- package/src/git/utils/status.utils.ts +1 -0
- package/src/git/watching/classifyChange.ts +9 -0
- package/src/git/watching/gitIgnoreFilter.ts +2 -2
- package/src/git/watching/initWatcher.ts +2 -0
- package/src/git/watching/watchGroup.ts +3 -0
- package/src/git/watching/watchService.ts +45 -7
- package/src/git/watching/watchSession.ts +71 -55
- package/src/git-cli/exec/exec.types.ts +2 -2
- package/src/git-cli/exec/git.ts +6 -5
- package/src/git-cli/exec/gitQueue.ts +41 -12
- package/src/git-cli/parsers/blameParser.ts +1 -0
- package/src/git-cli/parsers/logParser.ts +1 -0
- package/src/git-cli/parsers/refParser.ts +33 -34
- package/src/git-cli/providers/blame.ts +1 -0
- package/src/git-cli/providers/branches.ts +165 -93
- package/src/git-cli/providers/commits.ts +107 -37
- package/src/git-cli/providers/config.ts +101 -48
- package/src/git-cli/providers/diff.ts +10 -3
- package/src/git-cli/providers/graph.ts +156 -16
- package/src/git-cli/providers/operations.ts +208 -83
- package/src/git-cli/providers/patch.ts +1 -0
- package/src/git-cli/providers/pausedOperations.ts +8 -0
- package/src/git-cli/providers/refs.ts +247 -3
- package/src/git-cli/providers/revision.ts +2 -2
- package/src/git-cli/providers/staging.ts +33 -0
- package/src/git-cli/providers/stash.ts +20 -2
- package/src/git-cli/providers/status.ts +24 -5
- package/src/git-cli/providers/tags.ts +15 -16
- package/src/ipc/discovery.ts +186 -0
- package/src/ipc/ipcServer.ts +171 -0
- package/src/plus/agents/providers/claudeCodeProvider.ts +2122 -0
- package/src/plus/agents/providers/claudeCodeTranscript.ts +214 -0
- package/src/plus/agents/sanitizePrompt.ts +109 -0
- package/src/plus/agents/stateMachine.ts +197 -0
- package/src/plus/agents/types.ts +325 -0
- package/src/plus/ai/errors.ts +40 -0
- package/src/plus/ai/models/model.ts +1 -0
- package/src/plus/ai/models/promptTemplates.ts +13 -0
- package/src/plus/ai/models/provider.ts +7 -1
- package/src/plus/ai/prompts.ts +49 -8
- package/src/plus/ai/providers/gitkrakenProvider.ts +4 -0
- package/src/plus/ai/providers/openAICompatibleProviderBase.ts +21 -4
- package/src/plus/ai/utils/ai.utils.ts +2 -0
- package/src/plus/ai/utils/results.utils.ts +2 -0
- package/src/plus/git-github/api/github.ts +315 -57
- package/src/plus/git-github/api/types.ts +15 -0
- package/src/plus/git-github/models.ts +1 -1
- package/src/plus/git-github/providers/github/blame.ts +2 -0
- package/src/plus/git-github/providers/github/branches.ts +61 -31
- package/src/plus/git-github/providers/github/commits.ts +231 -160
- package/src/plus/git-github/providers/github/diff.ts +27 -19
- package/src/plus/git-github/providers/github/refs.ts +58 -23
- package/src/plus/git-github/providers/github/revision.ts +1 -2
- package/src/plus/git-github/providers/github/status.ts +6 -1
- package/src/plus/git-github/providers/github/tags.ts +61 -62
- package/src/plus/git-github/providers/githubGitProvider.ts +1 -0
- package/src/utils/color.ts +2 -0
- package/src/utils/date.ts +5 -0
- package/src/utils/debounce.ts +1 -1
- package/src/utils/decorators/serializable.ts +1 -0
- package/src/utils/dedupedAsyncCache.ts +74 -0
- package/src/utils/diff.ts +61 -0
- package/src/utils/disposable.ts +2 -0
- package/src/utils/env/node/exec.ts +2 -0
- package/src/utils/error.ts +1 -0
- package/src/utils/iterable.ts +17 -3
- package/src/utils/logger.ts +1 -0
- package/src/utils/lruMap.ts +29 -4
- package/src/utils/markdown.ts +1 -0
- package/src/utils/mru.ts +2 -0
- package/src/utils/object.ts +55 -4
- package/src/utils/paging.ts +14 -14
- package/src/utils/path.ts +1 -0
- package/src/utils/promise.ts +22 -0
- package/src/utils/promiseCache.ts +48 -16
- package/src/utils/string.ts +3 -1
- package/src/utils/uri.ts +1 -0
- package/src/utils/version.ts +1 -0
- package/dist/git/exec.types.d.ts.map +0 -1
- package/dist/git/exec.types.js +0 -2
- package/dist/git/exec.types.js.map +0 -1
|
@@ -32,9 +32,9 @@ import {
|
|
|
32
32
|
getRemoteNameFromBranchName,
|
|
33
33
|
} from '../../git/utils/branch.utils.js';
|
|
34
34
|
import { getChangedFilesCount } from '../../git/utils/commit.utils.js';
|
|
35
|
+
import { createReachabilityTableBuilder } from '../../git/utils/reachability.utils.js';
|
|
35
36
|
import { isUncommitted } from '../../git/utils/revision.utils.js';
|
|
36
37
|
import { getSearchQueryComparisonKey, parseSearchQueryGitCommand } from '../../git/utils/search.utils.js';
|
|
37
|
-
import { compareReachableRefs } from '../../git/utils/sorting.js';
|
|
38
38
|
import { getTagId } from '../../git/utils/tag.utils.js';
|
|
39
39
|
import { isUserMatch } from '../../git/utils/user.utils.js';
|
|
40
40
|
import { getWorktreeId, groupWorktreesByBranch } from '../../git/utils/worktree.utils.js';
|
|
@@ -119,9 +119,14 @@ export class GraphGitSubProvider implements GitGraphSubProvider {
|
|
|
119
119
|
const [worktrees, worktreesByBranch] = getSettledValue(worktreesResult) ?? [[], new Map<string, GitWorktree>()];
|
|
120
120
|
|
|
121
121
|
let branchIdOfMainWorktree: string | undefined;
|
|
122
|
+
let mainWorktree: GitWorktree | undefined;
|
|
122
123
|
if (worktreesByBranch != null) {
|
|
123
|
-
|
|
124
|
-
if (
|
|
124
|
+
const defaultEntry = find(worktreesByBranch, ([, wt]) => wt.isDefault);
|
|
125
|
+
if (defaultEntry != null) {
|
|
126
|
+
[branchIdOfMainWorktree, mainWorktree] = defaultEntry;
|
|
127
|
+
// Remove the main/default worktree so the branch-row decoration shows `+checkedout`
|
|
128
|
+
// (not `+worktree`) for the main checkout. `mainWorktree` is retained below purely so
|
|
129
|
+
// Undo Commit can still reach the main worktree's HEAD from a secondary worktree's graph.
|
|
125
130
|
worktreesByBranch.delete(branchIdOfMainWorktree);
|
|
126
131
|
}
|
|
127
132
|
}
|
|
@@ -142,9 +147,62 @@ export class GraphGitSubProvider implements GitGraphSubProvider {
|
|
|
142
147
|
const avatars = new Map<string, string>();
|
|
143
148
|
const ids = new Set<string>();
|
|
144
149
|
const reachableFromHEAD = new Set<string>();
|
|
150
|
+
// SHAs on the first-parent chain from HEAD up to (excluding) the first merge commit — the only
|
|
151
|
+
// commits a plain (non-`--rebase-merges`) interactive rebase can safely rewrite. `headSha` seeds
|
|
152
|
+
// the chain; `rewriteableNextSha` tracks the next sha expected on it. Outer scope so they persist
|
|
153
|
+
// across `more()` pagination, like `reachableFromHEAD`.
|
|
154
|
+
const rewriteableFromHEAD = new Set<string>();
|
|
155
|
+
let headSha: string | undefined;
|
|
156
|
+
let rewriteableNextSha: string | undefined;
|
|
157
|
+
// Undo Commit is offered only on a worktree HEAD that is a LEAF (nothing is built on it) —
|
|
158
|
+
// undoing a commit other work is stacked on is unsafe. The leaf check is only needed for the
|
|
159
|
+
// undo-eligible tips (the active HEAD + each worktree's HEAD), so track just those shas rather
|
|
160
|
+
// than every commit, keeping this O(#worktrees) instead of O(#commits).
|
|
161
|
+
const undoableTipShas = new Set<string>();
|
|
162
|
+
if (headBranch?.sha != null) {
|
|
163
|
+
undoableTipShas.add(headBranch.sha);
|
|
164
|
+
}
|
|
165
|
+
for (const wt of worktrees) {
|
|
166
|
+
if (wt.sha != null) {
|
|
167
|
+
undoableTipShas.add(wt.sha);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
// The subset of `undoableTipShas` that turn out to have a child (are an ancestor of another
|
|
171
|
+
// commit) — i.e. NOT leaves. Built newest-first during the walk, so by the time a tip's row is
|
|
172
|
+
// processed every newer commit (its only possible children) has been seen. Undo is withheld for
|
|
173
|
+
// shas recorded here. Stash rows are excluded (a stash sitting on a tip must not block undoing it).
|
|
174
|
+
const tipShasWithChildren = new Set<string>();
|
|
175
|
+
// SHAs reachable from HEAD's tracking upstream tip. Combined with `reachableFromHEAD`,
|
|
176
|
+
// this lets us mark commits as unpushed (reachable from HEAD but not from HEAD's upstream).
|
|
177
|
+
const reachableFromHeadUpstream = new Set<string>();
|
|
145
178
|
|
|
146
179
|
// Map<sha, Map<refKey, ref>> — inner map deduplicates refs during propagation
|
|
147
180
|
const reachableRefs = new Map<string, Map<string, ReachableRef>>();
|
|
181
|
+
|
|
182
|
+
// Stable, append-only reachability table built as we walk — the PRIMARY representation shipped to
|
|
183
|
+
// consumers. Lives in the outer scope so it accumulates across `more()` pagination; indices
|
|
184
|
+
// already assigned never change, since git reachability only propagates to older (later-walked)
|
|
185
|
+
// commits. Per-row ref arrays are NOT retained — each row keeps only its set index
|
|
186
|
+
// (`contexts.reachabilityIndex`), and the working `reachableRefs` entry is dropped once emitted.
|
|
187
|
+
// The encoder lives next to its decoder in `reachability.utils` so the wire format can't drift.
|
|
188
|
+
const reachabilityBuilder = createReachabilityTableBuilder();
|
|
189
|
+
|
|
190
|
+
function finalizeRowReachability(
|
|
191
|
+
row: GitGraphRow,
|
|
192
|
+
sha: string,
|
|
193
|
+
refs: Map<string, ReachableRef> | undefined,
|
|
194
|
+
): void {
|
|
195
|
+
const setIndex = reachabilityBuilder.intern(refs?.values());
|
|
196
|
+
if (setIndex != null) {
|
|
197
|
+
(row.contexts ??= {}).reachabilityIndex = setIndex;
|
|
198
|
+
}
|
|
199
|
+
// Drop the transient per-row arrays so emitted rows don't retain reachability, and release the
|
|
200
|
+
// working entry — once a commit is emitted its children are all walked and its parents already
|
|
201
|
+
// seeded, so nothing reads `reachableRefs.get(sha)` again (orderings keep parents after children).
|
|
202
|
+
row.reachability = undefined;
|
|
203
|
+
reachableRefs.delete(sha);
|
|
204
|
+
}
|
|
205
|
+
|
|
148
206
|
const rowStats: GitGraphRowsStats = new Map<string, GitGraphRowStats>();
|
|
149
207
|
let pendingRowsStatsCount = 0;
|
|
150
208
|
let iterations = 0;
|
|
@@ -224,6 +282,12 @@ export class GraphGitSubProvider implements GitGraphSubProvider {
|
|
|
224
282
|
branchIdOfMainWorktree: branchIdOfMainWorktree,
|
|
225
283
|
stashes: gitStash?.stashes,
|
|
226
284
|
reachableFromHEAD: reachableFromHEAD,
|
|
285
|
+
rewriteableFromHEAD: rewriteableFromHEAD,
|
|
286
|
+
tipShasWithChildren: tipShasWithChildren,
|
|
287
|
+
// `undefined` when HEAD has no upstream, so the processor flags nothing as
|
|
288
|
+
// unpublished; otherwise the live set (mutated during the walk, read by ref).
|
|
289
|
+
reachableFromHeadUpstream:
|
|
290
|
+
headRefUpstreamName != null ? reachableFromHeadUpstream : undefined,
|
|
227
291
|
avatars: avatars,
|
|
228
292
|
}
|
|
229
293
|
: undefined;
|
|
@@ -234,7 +298,14 @@ export class GraphGitSubProvider implements GitGraphSubProvider {
|
|
|
234
298
|
// - SHA + limit = 0: Find SHA, stop immediately
|
|
235
299
|
// - No SHA + limit > 0: Load exactly `limit` commits
|
|
236
300
|
// - No SHA + limit = 0: Load everything remaining
|
|
237
|
-
|
|
301
|
+
// - SHA + limit > 0 + still unfound past 10× limit: defensive cap so an unreachable
|
|
302
|
+
// SHA (e.g. a stale merge-base the webview hasn't yet seen invalidated) can't
|
|
303
|
+
// walk the entire history. `hasMore=true` lets callers retry; the graph-wrapper
|
|
304
|
+
// side deduplicates re-requests so the cap doesn't loop.
|
|
305
|
+
if (
|
|
306
|
+
(limit && count >= limit && (!sha || found || count >= limit * 10)) ||
|
|
307
|
+
(!limit && sha && found)
|
|
308
|
+
) {
|
|
238
309
|
hasMore = true;
|
|
239
310
|
aborter.abort();
|
|
240
311
|
break;
|
|
@@ -250,6 +321,7 @@ export class GraphGitSubProvider implements GitGraphSubProvider {
|
|
|
250
321
|
total++;
|
|
251
322
|
shaOrRemapped = remappedIds.get(commit.sha);
|
|
252
323
|
if (shaOrRemapped && ids.has(shaOrRemapped)) continue;
|
|
324
|
+
|
|
253
325
|
shaOrRemapped ??= commit.sha;
|
|
254
326
|
|
|
255
327
|
ids.add(shaOrRemapped);
|
|
@@ -280,6 +352,7 @@ export class GraphGitSubProvider implements GitGraphSubProvider {
|
|
|
280
352
|
if (tip.startsWith('HEAD')) {
|
|
281
353
|
head = true;
|
|
282
354
|
reachableFromHEAD.add(shaOrRemapped);
|
|
355
|
+
headSha ??= shaOrRemapped;
|
|
283
356
|
|
|
284
357
|
if (tip !== 'HEAD') {
|
|
285
358
|
tip = tip.substring(8);
|
|
@@ -294,12 +367,16 @@ export class GraphGitSubProvider implements GitGraphSubProvider {
|
|
|
294
367
|
if (branchName === 'HEAD') continue;
|
|
295
368
|
|
|
296
369
|
remoteBranchId = getBranchId(repoPath, true, tip);
|
|
370
|
+
const isHeadUpstream = tip === headRefUpstreamName;
|
|
371
|
+
if (isHeadUpstream) {
|
|
372
|
+
reachableFromHeadUpstream.add(shaOrRemapped);
|
|
373
|
+
}
|
|
297
374
|
refRemoteHead = {
|
|
298
375
|
id: remoteBranchId,
|
|
299
376
|
name: branchName,
|
|
300
377
|
owner: remote.name,
|
|
301
378
|
url: remote.url,
|
|
302
|
-
current:
|
|
379
|
+
current: isHeadUpstream,
|
|
303
380
|
hostingServiceType: remote.provider?.gkProviderId,
|
|
304
381
|
};
|
|
305
382
|
refRemoteHeads.push(refRemoteHead);
|
|
@@ -310,7 +387,16 @@ export class GraphGitSubProvider implements GitGraphSubProvider {
|
|
|
310
387
|
|
|
311
388
|
branch = branchMap.get(tip);
|
|
312
389
|
branchId = branch?.id ?? getBranchId(repoPath, false, tip);
|
|
313
|
-
|
|
390
|
+
// `worktreesByBranch` has the main/default worktree removed (above), so recover it
|
|
391
|
+
// here — Undo Commit needs to reach the main worktree's HEAD even when the active
|
|
392
|
+
// workspace is a secondary worktree.
|
|
393
|
+
const worktree =
|
|
394
|
+
worktreesByBranch?.get(branchId) ??
|
|
395
|
+
(branchId === branchIdOfMainWorktree ? mainWorktree : undefined);
|
|
396
|
+
const worktreeRef =
|
|
397
|
+
worktree != null
|
|
398
|
+
? { id: getWorktreeId(repoPath, worktree.name), path: worktree.path }
|
|
399
|
+
: undefined;
|
|
314
400
|
refHead = {
|
|
315
401
|
id: branchId,
|
|
316
402
|
name: tip,
|
|
@@ -322,7 +408,12 @@ export class GraphGitSubProvider implements GitGraphSubProvider {
|
|
|
322
408
|
id: getBranchId(repoPath, true, branch.upstream.name),
|
|
323
409
|
}
|
|
324
410
|
: undefined,
|
|
325
|
-
|
|
411
|
+
worktree: worktreeRef,
|
|
412
|
+
// Mirror `worktree.id` for `@gitkraken/gitkraken-components` — its bundled renderer
|
|
413
|
+
// reads `head.worktreeId` to pick the WORKTREE vs HEAD ref-badge. Scope to NON-default
|
|
414
|
+
// worktrees so the main checkout keeps its HEAD badge even though `worktree` (above)
|
|
415
|
+
// is populated for it for Undo routing.
|
|
416
|
+
worktreeId: worktree?.isDefault === false ? worktreeRef?.id : undefined,
|
|
326
417
|
};
|
|
327
418
|
refHeads.push(refHead);
|
|
328
419
|
if (branch?.upstream?.name != null) {
|
|
@@ -345,6 +436,27 @@ export class GraphGitSubProvider implements GitGraphSubProvider {
|
|
|
345
436
|
}
|
|
346
437
|
}
|
|
347
438
|
|
|
439
|
+
// First-parent rewriteable chain from HEAD: include each commit only while HEAD and
|
|
440
|
+
// every commit down to it has exactly one parent. Stops at (excludes) the first merge
|
|
441
|
+
// and the root — mirrors GitKraken's getDistinctCommitsFromHeadToFirstMergeCommit.
|
|
442
|
+
// Off-chain commits (a merge's other-parent ancestry, or anything below the first merge)
|
|
443
|
+
// are reachable-from-HEAD but NOT safely history-rewriteable by a plain interactive
|
|
444
|
+
// rebase. Relies on the same "commit emitted before its parents" ordering as above.
|
|
445
|
+
if (shaOrRemapped === headSha || shaOrRemapped === rewriteableNextSha) {
|
|
446
|
+
if (parents.length === 1) {
|
|
447
|
+
rewriteableFromHEAD.add(shaOrRemapped);
|
|
448
|
+
rewriteableNextSha = parents[0];
|
|
449
|
+
} else {
|
|
450
|
+
// A merge (>1 parents) or the root (0 parents) terminates the chain.
|
|
451
|
+
rewriteableNextSha = undefined;
|
|
452
|
+
}
|
|
453
|
+
}
|
|
454
|
+
if (reachableFromHeadUpstream.has(shaOrRemapped)) {
|
|
455
|
+
for (parent of parents) {
|
|
456
|
+
reachableFromHeadUpstream.add(parent);
|
|
457
|
+
}
|
|
458
|
+
}
|
|
459
|
+
|
|
348
460
|
// Seed reachability from all ref types on this commit
|
|
349
461
|
if (refHeads.length > 0 || refRemoteHeads.length > 0 || refTags.length > 0) {
|
|
350
462
|
let refs = reachableRefs.get(shaOrRemapped);
|
|
@@ -398,12 +510,13 @@ export class GraphGitSubProvider implements GitGraphSubProvider {
|
|
|
398
510
|
heads: refHeads,
|
|
399
511
|
remotes: refRemoteHeads,
|
|
400
512
|
tags: refTags,
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
513
|
+
// Transient: the row processor's `+unique` decision reads this; stripped just below.
|
|
514
|
+
// Unsorted (the consumer re-sorts after decoding) — order doesn't affect interning.
|
|
515
|
+
reachability: refs?.size ? { partial: true, refs: [...refs.values()] } : undefined,
|
|
404
516
|
isCurrentUser: true,
|
|
405
517
|
};
|
|
406
518
|
rowProcessor?.processRow(row, graphCtx!);
|
|
519
|
+
finalizeRowReachability(row, shaOrRemapped, refs);
|
|
407
520
|
rows.push(row);
|
|
408
521
|
|
|
409
522
|
if (stash.stats != null) {
|
|
@@ -416,6 +529,17 @@ export class GraphGitSubProvider implements GitGraphSubProvider {
|
|
|
416
529
|
} else {
|
|
417
530
|
isCurrentUser = isUserMatch(currentUser, commit.author, commit.authorEmail);
|
|
418
531
|
|
|
532
|
+
// Mark any undo-eligible tip that THIS (non-stash) commit builds on as non-leaf, so
|
|
533
|
+
// its Undo Commit is withheld. Uses the full parent set (incl. merge second-parents)
|
|
534
|
+
// but only records shas that are actually undo tips — newer commits are walked first,
|
|
535
|
+
// so a tip is recorded before its own row is processed. Stash rows are intentionally
|
|
536
|
+
// not handled here, so a stash based on a tip doesn't block undoing that tip.
|
|
537
|
+
for (parent of parents) {
|
|
538
|
+
if (undoableTipShas.has(parent)) {
|
|
539
|
+
tipShasWithChildren.add(parent);
|
|
540
|
+
}
|
|
541
|
+
}
|
|
542
|
+
|
|
419
543
|
const refs = reachableRefs.get(shaOrRemapped);
|
|
420
544
|
const row: GitGraphRow = {
|
|
421
545
|
sha: shaOrRemapped,
|
|
@@ -429,12 +553,13 @@ export class GraphGitSubProvider implements GitGraphSubProvider {
|
|
|
429
553
|
heads: refHeads,
|
|
430
554
|
remotes: refRemoteHeads,
|
|
431
555
|
tags: refTags,
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
556
|
+
// Transient: the row processor's `+unique` decision reads this; stripped just below.
|
|
557
|
+
// Unsorted (the consumer re-sorts after decoding) — order doesn't affect interning.
|
|
558
|
+
reachability: refs?.size ? { partial: true, refs: [...refs.values()] } : undefined,
|
|
435
559
|
isCurrentUser: isCurrentUser || undefined,
|
|
436
560
|
};
|
|
437
561
|
rowProcessor?.processRow(row, graphCtx!);
|
|
562
|
+
finalizeRowReachability(row, shaOrRemapped, refs);
|
|
438
563
|
rows.push(row);
|
|
439
564
|
|
|
440
565
|
if (commit.stats != null) {
|
|
@@ -452,7 +577,7 @@ export class GraphGitSubProvider implements GitGraphSubProvider {
|
|
|
452
577
|
if (deferStats) {
|
|
453
578
|
pendingRowsStatsCount++;
|
|
454
579
|
|
|
455
|
-
//
|
|
580
|
+
// oxlint-disable-next-line no-async-promise-executor
|
|
456
581
|
const promise = new Promise<void>(async resolve => {
|
|
457
582
|
try {
|
|
458
583
|
const args = [...statsParser.arguments];
|
|
@@ -464,7 +589,7 @@ export class GraphGitSubProvider implements GitGraphSubProvider {
|
|
|
464
589
|
args.push(`--${ordering}-order`, '--all');
|
|
465
590
|
|
|
466
591
|
const statsResult = await this.git.run(
|
|
467
|
-
{ cwd: repoPath, configs: gitConfigsLog, stdin: stdin },
|
|
592
|
+
{ cwd: repoPath, configs: gitConfigsLog, stdin: stdin, priority: 'background' },
|
|
468
593
|
'log',
|
|
469
594
|
stdin ? '--stdin' : undefined,
|
|
470
595
|
...args,
|
|
@@ -506,6 +631,8 @@ export class GraphGitSubProvider implements GitGraphSubProvider {
|
|
|
506
631
|
worktrees: worktrees,
|
|
507
632
|
worktreesByBranch: worktreesByBranch,
|
|
508
633
|
reachableFromHEAD: reachableFromHEAD,
|
|
634
|
+
rewriteableFromHEAD: rewriteableFromHEAD,
|
|
635
|
+
reachability: reachabilityBuilder.build(),
|
|
509
636
|
rows: rows,
|
|
510
637
|
id: sha ?? rev,
|
|
511
638
|
rowsStats: rowStats,
|
|
@@ -530,7 +657,19 @@ export class GraphGitSubProvider implements GitGraphSubProvider {
|
|
|
530
657
|
}
|
|
531
658
|
}
|
|
532
659
|
|
|
533
|
-
|
|
660
|
+
let graph = await getCommitsForGraphCore.call(this, defaultLimit, selectSha, undefined, cancellation);
|
|
661
|
+
|
|
662
|
+
// Spurious-empty guard: the repo has branches (so `git log --all` should yield commits) yet the
|
|
663
|
+
// log returned no rows. That's an inconsistent result — almost always a transient ref-read race
|
|
664
|
+
// while a concurrent git operation rewrites refs/packed-refs — not a genuinely empty repo.
|
|
665
|
+
// Returning it would flash "No commits" in the graph. Retry once (transient glitches clear within
|
|
666
|
+
// ms). A truly empty repo has no branches and is left untouched.
|
|
667
|
+
if (graph.rows.length === 0 && branches?.length && !cancellation?.aborted) {
|
|
668
|
+
scope?.warn(`graph returned 0 rows but repo has ${branches.length} branches; retrying`);
|
|
669
|
+
graph = await getCommitsForGraphCore.call(this, defaultLimit, selectSha, undefined, cancellation);
|
|
670
|
+
}
|
|
671
|
+
|
|
672
|
+
return graph;
|
|
534
673
|
}
|
|
535
674
|
|
|
536
675
|
@debug({
|
|
@@ -725,6 +864,7 @@ export class GraphGitSubProvider implements GitGraphSubProvider {
|
|
|
725
864
|
runningTotal: results.size,
|
|
726
865
|
hasMore: true,
|
|
727
866
|
};
|
|
867
|
+
|
|
728
868
|
batch.length = 0;
|
|
729
869
|
lastProgressTime = Date.now();
|
|
730
870
|
}
|