Electron vaultGitService.integration.test.ts 对照登记
| caseId | sourceProduct | sourceFile | Compose 验证 |
|---|---|---|---|
| init-commit-diff-history | MooTool Next Electron | next/src/shared/vaultGitService.integration.test.ts |
GitEngineTest.mirrorsElectronVaultGitInitCommitDiffHistory(DIFF-445);.DS_Store 见 DIFF-444 |
| pull-merge-conflict-resolve | 同上 | 同上(分叉 pull) | GitEngineTest.pullLeavesMergeConflictWhenHistoriesDiverge(DIFF-137) |
| rebase-continue | Electron 行为 | VaultGitService + main |
GitEngineTest.continuesRebaseAfterConflictResolved(DIFF-135) |
| merge-abort/continue | 同上 | 同上 | GitEngineTest.resolvesAndAbortsMergeConflicts / continuesMergeAfterConflictResolved(DIFF-136) |
| rejects-unsafe-paths | 同上 | diff({ path }) |
GitEngineTest.fileDiffsMatchesElectronPathRules(DIFF-442) |
| parent-repo-not-adopted | 同上 | 嵌套 Vault init |
GitEngineTest.rejectsParentRepositoryUntilVaultRootIsInitialized(DIFF-442 加强) |
| automatic-checkpoint-init/push | 同上 | automaticCheckpoint |
GitEngineTest.automaticCheckpointInitializesRepositoryOnFirstUse / automaticCheckpointPushesWhenRemoteConfigured |
| automatic-checkpoint-conflict-skip | 同上 | merge/rebase 或冲突期跳过检查点 | GitAutomaticCheckpointGuardTest.automaticCheckpointSkippedWhileMergeConflictsRemain(DIFF-631) |
| unicode-paths | 同上 | status/diff/discard/rename | GitEngineTest.unicodePathsWorkForStatusDiffDiscardAndRename |
| stale-index-lock | 同上 | 陈旧 index.lock 隔离后提交 |
GitEngineTest.repairsStaleIndexLockAndRetriesCommit(DIFF-443) |
| recent-index-lock | 同上 | 新锁阻塞提交 | GitEngineTest.recentIndexLockBlocksCommit |
| held-index-lock | 同上 | 陈旧锁被占用不隔离 | GitEngineTest.doesNotQuarantineIndexLockHeldOpenByThisProcess(DIFF-444) |
| commit-during-merge | 同上 | merge 中禁止 commit | GitEngineTest.rejectsCommitWhileMergeInProgress(DIFF-446) |
| commit-unresolved-conflicts | 同上 | 未解决冲突禁止 commit(文案含 checkpoint/merge) | GitCommitGuardTest.commitBlockedWhileMergeConflictsRemain(DIFF-628) |
| commit-message-300 | 同上 | 说明截断 300 | GitEngineTest.truncatesCommitMessageToThreeHundredCharacters |
| pull-during-merge | 同上 | merge 中禁止 pull | GitEngineTest.pullBlockedWhileMergeInProgress(DIFF-447);GitPullGuardTest.mergeInProgressRejectedBeforeMissingRemoteMessage(DIFF-448) |
| pull-unresolved-conflicts | Compose 策略 | 未解决冲突禁止 pull(对齐 push/commit) | GitEngine.pull + GitPullGuardTest.pullBlockedWhileMergeConflictsRemain(DIFF-625);UI 见 DIFF-624 |
| continue-unresolved-conflicts | 同上 | 冲突未解决禁止 continue | GitContinueGuardTest.continueRejectedWhileConflictsRemain(merge,DIFF-493);GitRebaseGuardTest.continueRejectedWhileRebaseConflictsRemain(rebase,DIFF-494) |
| pull-during-rebase | 同上 | rebase 中禁止 pull | GitRebaseGuardTest.pullBlockedWhileRebaseInProgress(DIFF-494) |
| git-ui-abort-copy | Vault Git 面板 | merge/rebase 中止/确认文案、continue/counts/resolve/pull 显隐与 busy | GitOperationPresentationTest(DIFF-520、DIFF-539) |
| merge-conflict-ui-hint | Vault Git 面板 | merge/rebase 未解决冲突说明 + 变更行冲突 <em> |
GitMergeConflictPresentationTest + VaultGitDialog(DIFF-545) |
| commit-during-rebase-conflicts | 同上 | rebase 冲突未清禁止 commit | GitRebaseGuardTest.commitBlockedWhileRebaseConflictsRemain(DIFF-494) |
| abort-rebase-unresolved | 同上 | rebase 冲突态 rebase --abort |
GitRebaseGuardTest.abortEndsRebaseWithUnresolvedConflicts(DIFF-494) |
| concurrent-commits | 同上 | 双 VaultGitService 并行 commit |
GitEngineTest.serializesConcurrentCommitsForSameVaultRoot(两线程两 message,仅一条 concurrent.txt 提交,对齐 Electron serializes Git actions…separate service instances) |
| push-non-ff | Electron 行为 | 远程领先时 push 失败 |
GitEngineTest.pushFailsWhenRemoteIsAheadWithoutPull(DIFF-469) |
| fetch-prune-behind | 同上 | fetch action |
GitEngineTest.fetchUpdatesBehindWithoutPullingWorkingTree / fetchFailsWhenRemoteIsNotConfigured(DIFF-474) |
| fetch-prune-stale-ref | 同上 | fetch --prune |
GitEngineTest.fetchPruneRemovesStaleRemoteTrackingBranch(DIFF-478) |
| fetch-diverged-ahead-behind | 同上 | fetch + status ahead/behind |
GitEngineTest.fetchReportsAheadAndBehindWhenBranchesDiverge(DIFF-479) |
| configure-remote-remove | 同上 | 空 URL 删除 origin | GitEngineTest.configureRemoteRemoveClearsOriginFromStatus / configureRemoteRemoveWhenAlreadyRemovedIsIdempotent(DIFF-475) |
| push-unresolved-conflicts | 同上 | 冲突未清禁止 push | GitPushGuardTest.pushBlockedWhileMergeConflictsRemain(DIFF-517、DIFF-518) |
UI:VaultGitDialog 冲突行「使用本地/远端」Compose Tab 帧 142 见 DIFF-437(非产品主窗);顶栏分支图标 + 操作钮 Lucide 对齐见 DIFF-540。