Skip to content

Releases: hunan36/dsh-git-flow

0.4.0

Choose a tag to compare

@hunan36 hunan36 released this 17 Oct 11:32

新增功能

  • 新增 Git Flow 分支管理,支持在分支菜单中一键启动功能、发布、热修复三类分支,功能与发布分支从 develop 切出,热修复从生产分支切出。
  • 新增「完成 Git Flow 分支」,自动合并回 develop 与生产分支、打版本标签、更新 package.json 版本号、推送分支与标签并删除已完成的本地分支。
  • 完成分支前会先列出将要执行的全部动作,确认后才开始,避免误操作。
  • 新增 Git Flow 分支类型的徽标显示,当前分支是功能、发布或热修复分支时直接在胶囊上标出。
  • 新增 Git Flow 分支命名与标签前缀配置,支持自定义生产分支名、集成分支名、三类分支前缀与标签前缀,默认分别为 main、develop、feature/、release/、hotfix/ 与 v。
  • 仓库还没有 develop 分支时,启动功能或发布分支会引导从生产分支一键创建并切换。

体验优化

  • 完成发布或热修复分支时可以修改版本号,版本号会同步写入 package.json 并提交。
  • 仓库根目录没有 package.json 时会自动跳过版本号步骤,不再中断流程。
  • 无法完成分支时(工作区有未提交改动、标签已存在、目标分支不存在)会提前给出明确提示,且不会改动仓库。

问题修复

  • 修复勾选的文件在提交前已被还原或改动失效时,整次提交失败并报出 "nothing to commit" 的问题,改为只提交真正有改动的内容。
  • 修复勾选的文件全部没有剩余改动时提示难以理解的问题,改为提示重新刷新文件列表后再试。
  • 修复中文、含引号或反斜杠命名的文件无法提交的问题,改为这类文件也能正常勾选并提交。
  • 修复重命名文件在改动列表中来源路径识别错误的问题,改为正确显示重命名前后的对应关系。

其他变更

  • 分支合并出现冲突时会保留冲突现场供手动解决,不自动中止合并;合并与标签创建后不再自动回滚,推送失败会提示「本地已完成,但推送失败」,本地成果保留。
  • 新增 Git Flow 相关 API 与配置项,请相关对接方同步更新调用。

New Features

  • Added git flow branch management: start feature, release, and hotfix branches from the branch menu; features and releases branch off develop, hotfixes branch off production.
  • Added "Finish git flow branch", which merges back into develop and production, tags the version, updates the package.json version, pushes the branches and tag, and deletes the finished local branch.
  • The finish dialog lists every action before anything runs, so the user confirms with the full set of side effects in view.
  • Added a git flow type badge on the branch chip, shown whenever the current branch is a feature, release, or hotfix branch.
  • Added git flow naming and tag configuration: production branch, integration branch, the three branch prefixes, and the tag prefix, defaulting to main, develop, feature/, release/, hotfix/, and v.
  • When the repository has no develop branch yet, starting a feature or release offers to create and check it out from production in one step.

Experience Improvements

  • The version can be edited when finishing a release or hotfix, and it is written to package.json and committed.
  • A repository without a root package.json skips the version step instead of interrupting the finish.
  • Refusals (a dirty worktree, an existing tag, a missing target branch) are reported clearly in advance and leave the repository untouched.

Bug Fixes

  • Fixed commits failing entirely with "nothing to commit" when a selected file had been reverted or lost its changes before committing; only files with real changes are committed now.
  • Fixed the confusing error shown when none of the selected files have changes left; it now asks you to refresh the file list and try again.
  • Fixed files with Chinese names, or names containing quotes or backslashes, being impossible to commit; such files can now be checked and committed normally.
  • Fixed renamed files being misidentified in the changed-files list; the old and new paths of a rename are now paired correctly.

Other Changes

  • A merge conflict during a finish is left in place to resolve by hand rather than aborted automatically; merges and tags are not rolled back afterwards, and a failed push reports "finished locally, but the push failed" while keeping the local result.
  • New git flow APIs and configuration options were added; please update any related integrations.

0.3.0-rc.2

Choose a tag to compare

@hunan36 hunan36 released this 23 Sep 02:56

体验优化

  • 统一分支菜单与提交面板行悬停的底色,跟随主题的交互色。

问题修复

  • 修复升级到 DeepSeek Harness 0.1.7-alpha.2 后分支 chip 不再显示的问题。
  • 修复分支菜单弹层背景透出页面内容的问题,恢复设计系统的磨砂背景。

其他变更

  • 插件依赖升级到 DeepSeek Harness 0.1.7-alpha.2,请升级到 DSH 0.1.7-alpha.2 及以上版本,旧版本不再可用。

Improvements

  • Row hover color in the branch menu and the commit panel now follows the theme's interactive color.

Bug Fixes

  • Fixed the branch chip not showing after upgrading to DeepSeek Harness 0.1.7-alpha.2.
  • Fixed the branch menu popover letting the page show through, restoring the design system's frosted background.

Other Changes

  • Plugin dependencies moved to DeepSeek Harness 0.1.7-alpha.2; please upgrade to DSH 0.1.7-alpha.2 or newer, older builds no longer work.

0.3.0-rc.1

Choose a tag to compare

@hunan36 hunan36 released this 22 Sep 06:36

新增功能

  • 分支菜单新增「拉取远程代码」,一键拉取上游更新;只允许快进合并,分叉时明确报错,不会自动生成合并提交或改写本地提交。
  • 分支胶囊新增落后徽标,显示本地落后远程多少个提交。
  • 提交面板新增逐文件「放弃更改」,勾选的文件恢复到最新提交,未跟踪文件删除前需二次确认。

体验优化

  • 分支胶囊状态徽标改为彩色图标样式:蓝色表示可拉取、绿色表示有未推送提交、橙色表示未提交改动。
  • 提交面板支持拖拽调整宽度,刷新后保持上次宽度。

New Features

  • The branch menu gains a "Pull from remote" action that updates the branch in one click. It only fast-forwards: a diverged branch fails with a clear error instead of creating a merge commit or rewriting local commits.
  • The branch chip gains a badge showing how many commits the local branch is behind its upstream.
  • The commit panel gains a per-file discard action that restores checked files to the latest commit; deleting untracked files requires a second confirmation.

Improvements

  • Status badges on the branch chip are now colored pills with icons: blue for pullable commits, green for unpushed commits, and orange for uncommitted changes.
  • The commit panel can be resized by dragging, and the width is kept across reloads.

0.2.0-rc.1

Choose a tag to compare

@hunan36 hunan36 released this 21 Sep 11:21

新增功能

  • 提交面板新增「放弃更改」:可在单个文件上丢弃改动,已跟踪的文件还原到 HEAD,未跟踪的文件被删除,只有确认后才执行。

体验优化

  • 提交面板支持拖动右边缘调整宽度,宽度按浏览器记住,双击右边缘恢复默认宽度。
  • 改动文件列表改为单行显示,路径超出面板宽度时省略,长路径不再把行撑成两行。

其他变更

  • 安装说明补齐两条安装路径(插件页与命令行),并写明机器上没有 pnpm 时的做法:可用 Node 自带的 npm 安装或直接拷贝目录(都需把包名写进 profile 的 bundles),也可把插件页的包管理器换成 npm。

New features

  • The commit panel can discard changes in a single file: tracked files go back to HEAD and untracked ones are deleted, and only after the confirmation.

Improvements

  • The commit panel can be widened by dragging its right edge; the width is remembered per browser, and a double click on that edge restores the default.
  • Changed-file rows are single-line now: a long path is ellipsized instead of wrapping and growing the row.

Other changes

  • The install guide now covers both install routes (plugin page and CLI) and what to do on a machine without pnpm: install with Node's npm, or copy the directory (both need the package name added to the profile's bundles), or point the plugin page at npm.

Full Changelog: 0.1.0-rc.4...0.2.0-rc.1

0.1.0-rc.4

Choose a tag to compare

@hunan36 hunan36 released this 21 Sep 01:53

问题修复

  • 修复 pnpm 10.34 及以上版本安装本插件失败的问题(ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED):构建产物随仓库发布后,安装不再需要执行构建脚本,也不需要把包加进 pnpm 的 onlyBuiltDependencies 白名单 —— 该白名单要求写带 commit sha 的精确串,上游每次提交都会失效。

其他变更

  • lib/ 构建产物改为随仓库发布,包内移除 prepare 脚本:从 git 地址安装零配置完成,实测 pnpm 10.34.5 下 4 秒装完并正常启动。
  • 安装说明补齐插件页(GUI)方式:在「添加插件」里填 https://github.com/hunan36/dsh-git-flow,装进当前服务所在的 profile,装完刷新页面(宿主侧必要时重启 dsh web);ERR_PNPM_ADDING_TO_ROOT 的处理方式同样写明。
  • 从本版本起,改动源码后需执行 pnpm build 并把 lib/ 一起提交,否则安装方拿到的是旧产物。

Bug fixes

  • Fixed installation failing on pnpm 10.34 and later (ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED): with the build output shipped in the repository, installing no longer runs a build script, and no longer needs an entry in pnpm's onlyBuiltDependencies allowlist — which demands a string carrying the commit sha and goes stale on every upstream commit.

Other changes

  • The lib/ build output now ships in the repository and the package no longer has a prepare script, so a git-URL install needs no configuration: measured at 4 seconds under pnpm 10.34.5, with the plugin booting and serving normally afterwards.
  • The install guide now covers the plugin page (GUI) path: enter https://github.com/hunan36/dsh-git-flow under "Add plugin", note that it installs into the profile serving the page, and reload the page afterwards (restart dsh web when the profile needs it); the ERR_PNPM_ADDING_TO_ROOT remedy is documented alongside.
  • From this version on, editing the sources requires pnpm build with lib/ committed along with it, or installers get the previous build.

0.1.0-rc.2

0.1.0-rc.2 Pre-release
Pre-release

Choose a tag to compare

@hunan36 hunan36 released this 19 Sep 15:44

新增功能

  • 提交面板新增「推送」按钮,只推送已提交的内容,不会顺带产生新提交。
  • 分支菜单新增「推送提交」,工作区干净时也能推送待推送的提交。

体验优化

  • 分支胶囊显示未推送的提交数量,并标记没有上游的分支,鼠标悬停可看到完整说明。
  • 分支弹层重做:搜索框固定在顶部不再随列表滚动,分支列表过长时独立滚动,操作项固定在底部。
  • 提交面板调整布局:提交信息在上、改动文件在下,底部操作改为「推送 / 提交并推送 / 提交」。
  • 改动文件列表样式优化,逐个文件显示彩色状态徽标(新增绿、删除橙、冲突红)并提供悬停高亮。

问题修复

  • 修复分支弹层弹出位置错误的问题:不再跑到页面左下角,窗口较矮时也不会盖住触发它的胶囊。
  • 修复分支搜索框点一下就关闭菜单、鼠标无法输入的问题,现在可以正常点击并实时过滤。
  • 修复没有上游的新分支「推送提交」被禁用、无法首次推送的问题。
  • 修复选择较多文件时生成提交信息失败并直接套用模板的问题,输出预算由 512 提升到 4096。
  • 模型没有给出可用信息时,提示会写明具体原因(路由不可用、输出格式不符等),不再只有一句「没有可用信息」。
  • 语言选择在旧宿主进程上不生效时会明确提示重启,不再静默按默认语言生成。

New features

  • The commit panel has a Push button that pushes what is already committed without creating another commit.
  • The branch menu has a Push commits entry, so unpushed commits can be pushed even while the worktree is clean.

Improvements

  • The branch chip shows how many commits are unpushed and marks a branch that has no upstream, with the full wording on hover.
  • The branch popover was reworked: the search box stays pinned at the top, the branch list scrolls on its own when it grows long, and the actions stay pinned at the bottom.
  • The commit panel was reordered: the message comes first and the changed files follow, with Push / Commit and push / Commit aligned at the bottom right.
  • Changed-file rows are restyled with a colored status badge per file (green for additions, amber for deletions, red for conflicts) and a hover highlight.

Bug fixes

  • Fixed the branch popover appearing in the wrong place: it no longer drops to the bottom-left corner of the page, and on a short window it no longer covers the chip that opened it.
  • Fixed the branch search box closing the menu on the first click, which made typing into it impossible with a mouse; it now keeps focus and filters as you type.
  • Fixed the Push commits entry being disabled for a branch with no upstream, which left a new branch impossible to push for the first time.
  • Fixed commit-message generation failing and falling back to a template for larger selections: the output budget was raised from 512 to 4096.
  • When the model returns nothing usable, the notice now names the reason (unusable route, unexpected answer shape, and so on) instead of only reporting that nothing was usable.
  • A language choice that the running host process cannot honour now says so and asks for a restart, instead of silently generating in the default language.

0.1.0-rc.1

0.1.0-rc.1 Pre-release
Pre-release

Choose a tag to compare

@hunan36 hunan36 released this 19 Sep 13:39

新增功能

  • 新增分支胶囊,显示当前分支与未提交改动数。
  • 新增分支菜单,列出全部本地分支与仅在远端的分支,支持搜索过滤和一键切换。
  • 支持新建分支,基于当前分支创建后直接切换过去。
  • 新增提交面板,只提交勾选的文件,不会替你暂存其它改动。
  • 提交信息可由当前会话的模型根据所选改动自动生成,提交前可修改或重新生成。
  • 支持提交并推送一步完成,首次推送自动建立上游分支。
  • 工作区有未提交改动时切分支会被拦下,只有二次确认后才强制切换。

体验优化

  • 提交信息默认英文,面板内提供 English | 中文 切换,选择按浏览器记住。
  • 分支菜单与提交面板在打开时读取仓库状态,改动数徽标、提交入口与文件列表始终与工作区一致。
  • 工作区干净时胶囊只显示分支名;工作区不是 Git 仓库时不显示胶囊。

问题修复

  • 修复提交面板停留在旧文件列表时生成信息报「输入不合法」的问题,现在会自动刷新文件列表,并说明具体哪个路径已失效。
  • 修复提交信息语言跟随 diff 语言漂移的问题,中英文提示词分别锁定输出语言。
  • 修复在无工作区注册表的 Profile(如自带的 headless)下插件停留在未激活状态的问题,现在正常加载,并对 Git 操作返回明确错误。

New features

  • Added a branch chip in the composer tool row, showing the current branch and the number of uncommitted changes.
  • Added a branch menu listing every local branch and the remote-only ones, with a search box that filters the list and one click to switch.
  • Added branch creation from the current branch, which switches to the new branch as soon as it exists.
  • Added a commit panel that commits only the files you check, and never stages anything else on your behalf.
  • Added AI-written commit messages: the session's own model drafts the message from the selected diff, and you can edit or regenerate it before committing.
  • Added commit and push in one step, which sets the branch upstream on the first push.
  • Switching branches with uncommitted changes is refused first, and only forced after a second confirmation.

Improvements

  • Commit messages default to English, with an English | 中文 switch in the panel that the browser remembers.
  • The branch menu and the commit panel read the repository when they open, so the change badge, the commit entry, and the file list always match the worktree.
  • The chip shows only the branch name on a clean worktree, and renders nothing when the workspace is not a git repository.

Bug fixes

  • Fixed the commit panel answering "invalid input" while it held a stale file list: it now refreshes itself and names the path that no longer exists.
  • Fixed commit messages drifting into the language of the diff: both prompts now pin their output language.
  • Fixed the plugin staying inactive in a profile without a workspace registry, such as the shipped headless profile; it now loads and answers git calls with a clear error.