diff --git a/CHANGELOG.md b/CHANGELOG.md index 8c217ea..74dbf14 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,8 +6,12 @@ ## [Unreleased] +## [0.0.14] - 2026-07-06 — 修复 GRAPH 视图提交记录时间倒序 + +修复 GRAPH 视图「All」范围下提交记录未按时间倒序排列的问题——取数参数由 `--topo-order` 改为 `--author-date-order`,令跨分支提交按作者日期正确交错、消除「日期回跳」。纯取数排序修复,不改数据协议、布局算法与任何视图交互。完整用户视角叙述见 [Release Note v0.0.14](./docs/releases/v0.0.14.md)。 + ### Fixed -- **GRAPH 视图提交记录日期回跳**:取数参数 `--topo-order` → `--author-date-order`。`--topo-order` 会把不同分支的提交「成块」输出,导致从较旧提交分叉但日期较新的旁支提交被整块挤到列表末尾,出现「前几行日期递减、中途回跳到最新日期」的反直觉乱序;`--author-date-order` 同样保证 lane 算法依赖的「子在父之上」不变量,且按作者日期倒序跨支正确交错,并与视图日期列(`row.authorDate`)对齐。详见 [issue #14](./docs/.agents/issue.md)。 +- **GRAPH 视图提交记录日期回跳**:取数参数 `--topo-order` → `--author-date-order`。`--topo-order` 会把不同分支的提交「成块」输出,导致从较旧提交分叉但日期较新的旁支提交被整块挤到列表末尾,出现「前几行日期递减、中途回跳到最新日期」的反直觉乱序;`--author-date-order` 同样保证 lane 算法依赖的「子在父之上」不变量(`graph-layout` 仅依赖该拓扑约束、不依赖 topo-order 的「分支成块」特性),且按作者日期倒序跨支正确交错,并与视图日期列(`row.authorDate`)对齐(单一事实源)。同步更新 8 处 `topo-order` 注释澄清不变量真实要求、`log-query.test.ts` 断言与「不含 `--topo-order`」回归护栏。详见 [issue #14](./docs/.agents/issue.md)。(#82) ## [0.0.13] - 2026-07-05 — 视图容器由活动栏迁移至底部面板(Terminal 之后) diff --git a/docs/.agents/knowledge-map.md b/docs/.agents/knowledge-map.md index 946f879..456e409 100644 --- a/docs/.agents/knowledge-map.md +++ b/docs/.agents/knowledge-map.md @@ -25,7 +25,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.13](../releases/v0.0.13.md))。 +- [发布说明](../releases/README.md) — 各正式版 Release Notes(GitHub Release 正文单一事实源;最新 [v0.0.14](../releases/v0.0.14.md))。 ## 架构分层(src/) > 依赖方向单向:`UI → Adapter → Engine`;`Agent` 以接口注入 `Engine`/`CommitPipeline`,不反向依赖 UI。 diff --git a/docs/README.md b/docs/README.md index 41554bb..924fb82 100644 --- a/docs/README.md +++ b/docs/README.md @@ -11,7 +11,7 @@ - [Log 视图 CI 状态](./features/log-ci-status.md) — 按提交显示 GitHub CI 最终状态(绿勾/红叉 + 悬停 Tooltip 明细):认证、限流、懒加载、边界与配置。 ## 发布说明 -- [Release Notes 目录](./releases/README.md) — 各正式版发布说明(GitHub Release 正文单一事实源);最新:[v0.0.13 视图容器由活动栏迁移至底部 Panel(Terminal 之后)](./releases/v0.0.13.md)。 +- [Release Notes 目录](./releases/README.md) — 各正式版发布说明(GitHub Release 正文单一事实源);最新:[v0.0.14 修复 GRAPH 视图提交记录时间倒序](./releases/v0.0.14.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 c61f64c..fb400fe 100644 --- a/docs/releases/README.md +++ b/docs/releases/README.md @@ -8,6 +8,7 @@ | 版本 | 说明 | 日期 | |---|---|---| +| [v0.0.14](./v0.0.14.md) | 修复 GRAPH 视图提交记录时间倒序(`--topo-order` → `--author-date-order`) | 2026-07-06 | | [v0.0.13](./v0.0.13.md) | 视图容器由活动栏迁移至底部 Panel(Terminal 之后) | 2026-07-05 | | [v0.0.12](./v0.0.12.md) | 提交详情光标跟随悬浮卡 · Tooltip 交互修复 · 侧边栏布局优化 · 依赖升级基线(TS6 / vitest4 / vite8) | 2026-07-04 | | [v0.0.11](./v0.0.11.md) | 首个正式版(承载 0.0.10 内容)· Graph 视图对齐官方 · 发布渠道收敛 Marketplace | 2026-07-04 | diff --git a/docs/releases/v0.0.14.md b/docs/releases/v0.0.14.md new file mode 100644 index 0000000..4c64ec1 --- /dev/null +++ b/docs/releases/v0.0.14.md @@ -0,0 +1,53 @@ +# Hyper Git - Agentic Git v0.0.14 — 修复 GRAPH 视图提交记录时间倒序 + +> 修复 **GRAPH 视图**「All」范围下提交记录**未按时间倒序**排列的问题:此前列表前段日期正常递减,中段却会「回跳」到最新日期——较新的旁支提交被错误地挤到列表底部。本版令提交严格按**作者日期倒序**呈现,跨分支提交正确交错。 + +> 本版为纯取数排序修复,未改动任何 `viewType`、消息协议、`webview.setState` 形状、布局算法与配置项,旧状态无需迁移。 + +--- + +## ✨ 亮点速览 + +- **提交记录严格时间倒序**:GRAPH 视图取数参数由 `--topo-order` 改为 `--author-date-order`,从较旧提交分叉、但日期较新的旁支提交不再被「成块」挤到列表末尾,日期列自上而下单调递减、不再回跳。 +- **泳道不受影响**:DAG 彩色泳道(lane)布局所依赖的「子提交在父提交之上」拓扑不变量在新排序下依然严格成立,连线与分叉渲染保持正确,无断裂、无变形。 +- **零协议/交互回归**:仅一行取数参数变更,数据协议、布局算法、引用胶囊、悬浮卡、范围切换(All / Current / Checkpoints)、增量加载与过滤(author / grep / path)全部沿用。 + +--- + +## 🧩 问题与修复 + +### 现象 + +在「All」范围下,提交记录本应严格按时间倒序(最新在顶部)。实际却出现:列表前段(如 `2026-07-05` → `2026-05-25`)日期正常递减,但中段之后日期**回跳**回最新的 `2026-07-05`——一批远端旁支提交(如安全修复、依赖升级等分支)被整块排到了列表底部,与「按时间浏览历史」的直觉严重不符。 + +### 根因 + +GRAPH 视图的提交顺序此前完全由 `git log` 的 `--topo-order`(拓扑序)参数决定,管道各层均无二次排序。`--topo-order` 在保证「子在父之上」的同时,会额外把**不同分支的历史「成块」输出**——一条分支的提交整块列完,再切到下一条。当仓库存在从较旧提交分叉、但提交日期较新的旁支时,这些提交便被整块下放到列表末尾,形成「日期回跳」。这是 `--topo-order` 的设计特性,并非按日期排序。 + +### 修复 + +改用 `--author-date-order`:它同样保证 DAG 泳道算法依赖的「子在父之上」拓扑不变量,但在此约束下**按作者日期倒序**排列提交,使跨分支提交正确交错。之所以选「作者日期」而非「提交者日期」,是为了与 GRAPH 视图**日期列实际显示的时间**保持一致——排序键与显示键对齐,避免出现「列内日期看似仍乱序」的二次困惑。 + +--- + +## ⚙️ 升级与兼容 + +- **无破坏性变更**:仅 GRAPH 视图 `git log` 取数排序参数变更,未改动 `viewType`、消息协议、`setState` 形状或配置项,从 v0.0.13 升级无需任何迁移。 +- **即时生效**:升级后打开 GRAPH 视图即为新排序,无需重置布局或清理状态。 + +--- + +## 📦 安装 + +- **VS Code Marketplace**:搜索 `Hyper Git - Agentic Git` 直接安装或更新。 +- **手动**:从 [Releases](https://github.com/ThreeFish-AI/hyper-git/releases/tag/v0.0.14) 下载 `hyper-git-agentic-git-0.0.14.vsix` → 命令面板 `Extensions: Install from VSIX`(Cursor / Windsurf / VSCodium 等用户可经此方式安装)。 + +**系统要求**:VS Code ≥ 1.85.0,且启用内置 Git 扩展(`vscode.git`,默认随附)。仅支持本地 git 仓库,不支持虚拟 / Web 工作区。 + +--- + +## 💬 反馈 + +欢迎在 [GitHub Issues](https://github.com/ThreeFish-AI/hyper-git/issues) 反馈问题与建议。完整工程视角变更记录见 [CHANGELOG](../../CHANGELOG.md);本次修复的表因、根因与防范沉淀见 [issue #14](../.agents/issue.md)。 + +许可证:[MIT](https://github.com/ThreeFish-AI/hyper-git/blob/master/LICENSE)。 diff --git a/package.json b/package.json index 10fc614..695c2bc 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.13", + "version": "0.0.14", "publisher": "ThreeFish-AI", "license": "MIT", "preview": true,