Skip to content

EazyMake 1.4.1 — pkg install 支持 git 仓库 URL

Latest

Choose a tag to compare

@3667808244 3667808244 released this 03 Sep 11:14
· 6 commits to main since this release

EazyMake 1.4.1 — pkg install 支持 git 仓库 URL

1.4.0 正式发布后的首个补丁版本(单主题:ezmk pkg install 支持 git 仓库 URL)。此前 git@github.com:user/repo.git / https://github.com/user/repo.git 无法作为包来源安装;本版把「git 仓库作为包来源」落地为完整链路:识别 → 克隆 → ref 定位 → 复用目录安装链路 → lockfile 记录。公共 API 无破坏性变更(纯增量:新来源 + 新可选 flag --branch + 新可选 lockfile 字段)。

新增 / 行为变更

  • git 来源检测:安装参数按「本地目录 → git URL → 归档 URL → 名称搜索」顺序判定;git@(SSH scp)前缀 / git://·file:// 协议 / 剥 #ref.git 结尾 → git 源;归档 URL 零误伤;is_git_url 启发式提取到 util(repo add 与 pkg install 共享)
  • 克隆安装链路:克隆到唯一临时目录 → 复用目录安装全链路(校验 → 钩子 → 依赖 → 编译 → 拷贝 → postinstall → lockfile);git_head_commit() 解析锁定 commit
  • ref 定位:URL 片段 #<ref> + 新可选 flag --branch <ref>(优先级 flag > 片段 > 默认分支);分支/标签/默认分支浅克隆 --depth 1,commit SHA 全量克隆 + 检出
  • lockfile 记录 git 源LockedPackage 新增可选 commit 字段(旧 lockfile 兼容,version 保持 1);git 源记录 source="git" + source_url + commit(sha256 留空);--locked 按记录的 source_url + commit 重新克隆,HEAD 与 commit 不一致 → fatal(防 force-push 漂移)
  • 完整性语义:git 源以 commit SHA 为指纹;显式 --sha256 提示跳过;git:// 明文协议警告 + 确认(-y 跳过)

测试

全量 1020 用例 / 5970 断言零失败bash build.sh test-all;1.4.0 基线 1003/5835,+17 用例/+135 断言);i18n 三向一致(402 键 × en/zh + zh-TW 变体)。

资产

  • ezmk-windows-x64.zip(含 ezmk.exe / ezmk-lua.exe / _ezmk 补全)+ 独立 ezmk.exe / ezmk-lua.exe(含 .sha256 边车,供 install.ps1 校验)
  • ezmk-linux-x64.tar.gz / ezmk-macos-arm64.tar.gz(含 ezmk / ezmk-lua / _ezmk
  • 完整变更记录:CHANGES.md