From 35f5d316736f09965e99b8be67f41c4744b46ee5 Mon Sep 17 00:00:00 2001 From: ThreeFish Date: Sun, 8 Nov 2026 22:15:02 +0800 Subject: [PATCH] =?UTF-8?q?chore(Release):=20=E5=8F=91=E5=B8=83=20v0.0.23?= =?UTF-8?q?=20=E2=80=94=E2=80=94=20=E6=9C=AC=E5=9C=B0=E5=88=86=E6=94=AF=20?= =?UTF-8?q?PR=20=E7=8A=B6=E6=80=81=E5=BE=BD=E6=A0=87=20=C2=B7=20=E5=BC=80?= =?UTF-8?q?=E5=8F=91=E4=BE=9D=E8=B5=96=E5=8D=87=E7=BA=A7;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - CHANGELOG.md:[0.0.23] - 2026-11-08 新增(Added 本地分支 PR 状态徽标 / Changed 开发依赖升级),[Unreleased] 保持为空; - docs/releases/v0.0.23.md:新增面向用户的发布说明(GitHub Release 正文单一事实源); - docs/releases/README.md:版本索引表新增 v0.0.23 行; - docs/README.md / docs/.agents/knowledge-map.md:「最新发布」指针 v0.0.22 → v0.0.23; - package.json:version 0.0.22 → 0.0.23。 验证: pnpm run package(tsc + eslint + esbuild --production)与 pnpm run test:unit(53 文件 / 579 用例)全绿。 🤖 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 --- CHANGELOG.md | 6 +++++ docs/.agents/knowledge-map.md | 2 +- docs/README.md | 2 +- docs/releases/README.md | 1 + docs/releases/v0.0.23.md | 48 +++++++++++++++++++++++++++++++++++ package.json | 2 +- 6 files changed, 58 insertions(+), 3 deletions(-) create mode 100644 docs/releases/v0.0.23.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 805ae44..513b4fd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,10 +6,16 @@ ## [Unreleased] +## [0.0.23] - 2026-11-08 — 本地分支 PR 状态徽标 · 开发依赖升级 + ### Added - **Branches 视图本地分支行显示 PR 状态徽标**:Local Branches(含 Favorites 本地条目与活动分支)行右侧以与远程行一致的形态显示关联 GitHub PR(`#N Merged/Open/Closed/Draft`),非活动分支图标按状态着色(Merged 紫 / Closed 红 / Open 绿 / Draft 弱化;活动蓝、收藏黄优先,活动分支呈 `active #N …`),悬停 Tooltip 与远程行同构(PR 号 / 标题 / Open on GitHub)。匹配语义:本地**裸分支名**走同仓 Tier b → 唯一兜底 Tier c(与远程行同口径,宁缺勿错),**不剥 remote 前缀、不做 Tier a fork 身份匹配**(本地名不携带 remote 身份,本地名 `origin/feature` 只匹配 headRefName 字面同名 PR);不用 `ref.upstream` 参与匹配(upstream 仅 CLI 兜底路径填充且 v0.0.22 起树节点 upstream 数据不受信,裸名匹配消除双数据路径下的徽标闪烁)。取数链路零改动(复用同一 GraphQL 索引,`RemotePrIndex` 更名 `BranchPrIndex` 并新增 `lookupLocal` 入口),engine 增量全量单测覆盖。详见 [功能文档](./docs/features/branches-pr-status.md)。 +### Changed + +- 开发依赖升级(#157):@types/node 26.6.5 → 26.6.6、@vscode/vsce 4.0.0 → 4.1.0、eslint 10.13.0 → 10.14.0、rimraf 6.0.1 → 6.1.4、typescript-eslint 8.72.0 → 8.72.1、vite 8.3.4 → 8.3.5、vitest 5.0.5 → 5.1.0——全部 devDependencies,对扩展运行时零影响。 + ## [0.0.22] - 2026-10-24 — Graph 过滤持久化与激活指示 · Branches 就地更新 · 开发依赖升级 ### Added diff --git a/docs/.agents/knowledge-map.md b/docs/.agents/knowledge-map.md index b85e6d4..42f2072 100644 --- a/docs/.agents/knowledge-map.md +++ b/docs/.agents/knowledge-map.md @@ -30,7 +30,7 @@ - [工程实施方案](../docs/architecture/engineering-plan.md) — 路径 B 架构 + M0-M5 里程碑(**开发蓝图**)。 - [Git 功能矩阵](../docs/requirements/idea-feature-matrix.md) — 56 功能点 / 8 组(**验收基线**,参考 IDEA 等成熟实现)。 - [调研报告](../docs/research/README.md) — SCM 集成 / 工程蓝图 / 发布 CI / AI 接缝四路循证报告。 -- [发布说明](../releases/README.md) — 各正式版 Release Notes(GitHub Release 正文单一事实源;最新 [v0.0.22](../releases/v0.0.22.md))。 +- [发布说明](../releases/README.md) — 各正式版 Release Notes(GitHub Release 正文单一事实源;最新 [v0.0.23](../releases/v0.0.23.md))。 ## 图资产(docs/assets/) - [Mermaid 源图索引](../assets/mermaid/README.md) — 全项目 Mermaid 源图统一管理 + **溯源矩阵**(mermaid ↔ archify ↔ 嵌入文档的唯一权威映射)。 diff --git a/docs/README.md b/docs/README.md index a1cad00..f4381ad 100644 --- a/docs/README.md +++ b/docs/README.md @@ -16,7 +16,7 @@ - [分支就地更新](./features/branches-update-in-place.md) — Branches 视图不 checkout 更新本地分支(fetch refspec 原生 fast-forward-only):右键 / 多选批量 / 标题栏选区感知三入口。 ## 发布说明 -- [Release Notes 目录](./releases/README.md) — 各正式版发布说明(GitHub Release 正文单一事实源);最新:[v0.0.22 Graph 过滤持久化与激活指示 · Branches 就地更新 · 开发依赖升级](./releases/v0.0.22.md)。 +- [Release Notes 目录](./releases/README.md) — 各正式版发布说明(GitHub Release 正文单一事实源);最新:[v0.0.23 本地分支 PR 状态徽标 · 开发依赖升级](./releases/v0.0.23.md)。 ## 调研报告(循证依据) - [02 · VS Code SCM API 与 vscode.git 集成路径](./research/02-vscode-scm-integration.md) — 路径 B 决策依据、SCM 稳定/proposed API 边界、changelist 模型映射。 diff --git a/docs/releases/README.md b/docs/releases/README.md index b055c17..64e8852 100644 --- a/docs/releases/README.md +++ b/docs/releases/README.md @@ -8,6 +8,7 @@ | 版本 | 说明 | 日期 | |---|---|---| +| [v0.0.23](./v0.0.23.md) | 本地分支 PR 状态徽标 · 开发依赖升级 | 2026-11-08 | | [v0.0.22](./v0.0.22.md) | Graph 过滤持久化与激活指示 · Branches 就地更新 · 开发依赖升级 | 2026-10-24 | | [v0.0.21](./v0.0.21.md) | Filter by Author 候选建议 · 多选过滤 · 元字符作者修复 | 2026-10-23 | | [v0.0.20](./v0.0.20.md) | Delete Remote Branch 陈旧远程分支修复 · 删除失败可诊断 | 2026-10-17 | diff --git a/docs/releases/v0.0.23.md b/docs/releases/v0.0.23.md new file mode 100644 index 0000000..381df52 --- /dev/null +++ b/docs/releases/v0.0.23.md @@ -0,0 +1,48 @@ +# Hyper Git - Agentic Git v0.0.23 — 本地分支 PR 状态徽标 · 开发依赖升级 + +> 本版核心:Branches 视图的 PR 状态徽标从远程分支**扩展到本地分支**——Local Branches(含 Favorites 本地条目与活动分支)行右侧以与远程行一致的形态显示关联 GitHub PR(`#N Merged/Open/Closed/Draft`),一眼看清哪条本地分支的 PR 已合并、可安全删除;非活动分支图标按 PR 状态着色,悬停同样可见 PR 号 / 标题 / Open on GitHub。 + +--- + +## ✨ 亮点速览 + +- **本地分支行 PR 徽标**:Local Branches 每行右侧显示关联 PR(`#138 Merged` 形态与远程行一致),Favorites 中的本地条目与当前活动分支同样生效(活动分支呈 `active #138 Merged`,状态由徽标文本承载); +- **图标按状态着色**:非活动本地分支的分支图标按 PR 状态着色——Merged 紫 / Closed 红 / Open 绿 / Draft 弱化;活动分支蓝、收藏黄优先于 PR 状态色,与既有视觉语义零冲突; +- **宁缺勿错的匹配语义**:本地裸分支名走「同仓 Tier b → 唯一兜底 Tier c」——多 fork 同名分支产生歧义时不显示,绝不展示错误 PR;不剥 remote 前缀、不做 fork 身份匹配(本地名不携带 remote 身份),本地名 `origin/feature` 只匹配字面同名的 PR; +- **零新增请求、零取数改动**:完全复用远程行既有的 GraphQL 取数链路(最近更新的全态 PR 列表、TTL 缓存、限流退避),本地行匹配为预计算索引上的 O(1) 查询,配置开关(`hyperGit.branches.pr.enabled`)与静默边界(未登录 / 非 GitHub 仓 / 配置关闭 → 零徽标零请求)不变。 + +--- + +## 🧩 特性详述 + +### 1. Branches 视图本地分支 PR 状态徽标(#158) + +- **覆盖范围**:Local Branches 分组全部本地分支、Favorites 中的本地条目、当前活动分支(HEAD);远程分支行行为与 v0.0.22 完全一致,零回归; +- **匹配语义**:远程短名沿用三级匹配(fork 全名身份校验 → 同仓 → 唯一兜底);本地**裸分支名**只走后两级——按完整裸名先匹配同仓 PR(headRefName 精确相等),无命中且全库同名候选唯一时兜底显示该 PR(`gh pr checkout` / fork 工作流场景);歧义(多 fork 同名)与掉出最近 100 条 PR 的旧分支静默无徽标。不用 `ref.upstream` 参与匹配,消除 API / CLI 双数据路径下的徽标闪烁; +- **预期分歧**:本地名形如 `owner/branch`(fork checkout 形态)不参与 fork 身份匹配——本地行无徽标而对应远程行可经身份校验有徽标,属有意设计(本地名不携带 remote 身份,无法安全校验); +- **实现锚点**:engine 层 `RemotePrIndex` 更名 `BranchPrIndex` 并新增 `lookupLocal` 入口(同一份预计算索引、双查询入口),增量与全量单测覆盖;详见[功能文档](../features/branches-pr-status.md)。 + +--- + +## ⚙️ 升级与兼容 + +- **无破坏性变更**:全部既有命令、视图与配置项保留;远程分支行的徽标形态、着色与 Tooltip 行为不变; +- **开发依赖升级**(#157):@types/node 26.6.6、@vscode/vsce 4.1、eslint 10.14、rimraf 6.1、typescript-eslint 8.72.1、vite 8.3.5、vitest 5.1(全部 devDependencies,对扩展运行时零影响)。 + +--- + +## 📦 安装 + +- **VS Code Marketplace**:搜索 `Hyper Git - Agentic Git` 直接安装或更新。 +- **Open VSX**:搜索 `Hyper Git - Agentic Git` 直接安装或更新(覆盖 Cursor / Windsurf / VSCodium 等 Open VSX 系编辑器)。 +- **手动**:从 [Releases](https://github.com/ThreeFish-AI/hyper-git/releases/tag/v0.0.23) 下载 `hyper-git-agentic-git-0.0.23.vsix` → 命令面板 `Extensions: Install from VSIX`。 + +**系统要求**:VS Code ≥ 1.85.0,且启用内置 Git 扩展(`vscode.git`,默认随附)。仅支持本地 git 仓库,不支持虚拟 / Web 工作区。 + +--- + +## 💬 反馈 + +欢迎在 [GitHub Issues](https://github.com/ThreeFish-AI/hyper-git/issues) 反馈问题与建议。完整工程视角变更记录见 [CHANGELOG](../../CHANGELOG.md)。 + +许可证:[MIT](https://github.com/ThreeFish-AI/hyper-git/blob/master/LICENSE)。 diff --git a/package.json b/package.json index c366335..e9569e8 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,7 @@ "theme": "dark" }, "description": "Hyper Git brings IntelliJ IDEA's powerful Git & Commit modules to VS Code, enhanced with AI-powered autonomous agents for intelligent repository management. Experience Git in a higher dimension.", - "version": "0.0.22", + "version": "0.0.23", "publisher": "ThreeFish-AI", "license": "MIT", "preview": true,