Skip to content

Commit d5dbe93

Browse files
committed
docs(M2): CHANGELOG 记录 M2 交付并补充 vscode.git 路径语义 Issue;
🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist) Co-Authored-By: Aurelius Huang<threefish.ai@gmail.com>
1 parent e871810 commit d5dbe93

2 files changed

Lines changed: 18 additions & 0 deletions

File tree

.agents/issue.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,3 +46,12 @@
4646
- **后续防范**:含 test-electron 的扩展,eslint ignores 必须含 `.vscode-test/**`(及 `out/**``dist/**``*.vsix`);CI 因不缓存该目录可能不暴露,但本地必现——本地与 CI 环境差异需警惕。
4747
- **同类问题影响**:所有跑过 test-electron 的本地环境的 eslint/其他静态分析工具。
4848

49+
## #6 vscode.git 公开 API add() 须传绝对路径
50+
51+
- **表因**:调用 `Repository.add(['README.md'])`(相对路径)无效或误加文件;CommitService 初期也曾困惑路径语义。
52+
- **根因**`extensions/git/src/api/api1.ts``add(paths)` 实现为 `paths.map(p => Uri.file(p))`——`Uri.file()` 要求**绝对路径**;相对路径会被包装成畸形 Uri,内部 `path.relative(root, ...)` 计算错误。`revert`/`clean`/`restore` 同理。
53+
- **处理方式**:CommitService 始终传 `ChangeItem.uri.fsPath`(绝对)。
54+
- **后续防范**:消费 vscode.git 公开 API 的路径类方法(add/revert/clean/restore)一律传绝对 fsPath;已加集成测试 `tests/suite/commit-flow.test.js` 守护。
55+
- **同类问题影响**:所有消费 vscode.git API 做 stage/revert 的扩展;git CLI 本身接受相对路径,但**公开 API 层不接受**,二者语义差异易踩。
56+
57+

CHANGELOG.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,15 @@
44

55
## [Unreleased]
66

7+
### Added — M2 Commit 提交窗口(0.3.0)
8+
9+
- Commit 提交窗口(WebviewView 自绘 IDEA 风格):活动 changelist 文件勾选 + 多行 Commit Message 编辑器 + Amend / Signed-off-by / 跳过 Git hooks 选项 + Commit / Commit and Push 按钮。
10+
- Conventional Commits 实时校验:`engine/commit/conventional-linter` 纯函数 + webview 指示器(ok/warning/error)+ 内置 `ConventionalCommitCheck` Checkin hook(pipeline 内阻断不合规提交)。
11+
- `CommitPipeline` 责任链接入提交流程(对齐 IDEA `CheckinHandler`:校验 → stage → hook 链 → commit → 可选 push)。
12+
- AI 接缝 5 接口 + Null 实现注入 CommitService(`ILlmProvider` / `ICommitMessageProvider` / `IPreCommitInspector` / `IChangelistGrouper` / `IConflictResolver`),M5 替换为真实实现。
13+
- 最近提交消息复用(`workspaceState` 持久化,webview 一键填入)。
14+
- 真实 git 提交闭环集成测试(fixture 仓库 + `vscode.git` add/commit + git log 校验)。
15+
716
### Added — M1 Git Adapter + 多 changelist Changes(0.2.0)
817

918
- Git Adapter:`GitRepositoryService` 封装内置 vscode.git 稳定 `Repository` API(读取 workingTreeChanges/untrackedChanges、状态变更事件、diff/toGitUri 委托)。

0 commit comments

Comments
 (0)