Pixi 差异
Pixi Diff

你可能想知道在 pull request 中反复添加和删除依赖后,lockfile 中发生了什么变化。 为此,你可以使用 pavelzw/pixi-diff 来计算两个 lockfile 之间的差异。 这可以与 pavelzw/pixi-diff-to-markdown 结合使用,生成一个以人类可读格式显示差异的 markdown 文件。 使用 charmbracelet/glow,你甚至可以在终端中呈现 markdown 文件。
全局安装工具
上述所有工具都可以在 conda-forge 上获取,可以使用 pixi global install 安装。
pixi diff --before pixi.lock.old --after pixi.lock.new 将输出一个包含两个 lockfile 之间差异的 JSON 对象,类似于 pixi update --json。
$ pixi diff --before pixi.lock.old --after pixi.lock.new
{
"version": 1,
"environment": {
"default": {
"osx-arm64": [
{
"name": "libmpdec",
"before": null,
"after": {
"conda": "https://conda.anaconda.org/conda-forge/osx-arm64/libmpdec-4.0.0-h99b78c6_0.conda",
"sha256": "f7917de9117d3a5fe12a39e185c7ce424f8d5010a6f97b4333e8a1dcb2889d16",
"md5": "7476305c35dd9acef48da8f754eedb40",
"depends": [
"__osx >=11.0"
],
"license": "BSD-2-Clause",
"license_family": "BSD",
"size": 69263,
"timestamp": 1723817629767
},
"type": "conda"
},
// ...
命名管道可用于比较 git 历史中不同状态的 lockfile:
# bash / zsh
pixi diff --before <(git show HEAD~20:pixi.lock) --after pixi.lock
# fish
pixi diff --before (git show HEAD~20:pixi.lock | psub) --after pixi.lock
或者通过 stdin 指定"before"或"after" lockfile:
这可以与 pixi-diff-to-markdown 集成,生成以人类可读格式显示差异的 markdown 文件:
GitHub Actions 中的 pixi-diff-to-markdown 更新
有关 pixi-diff-to-markdown 的其他用法,另请参阅我们关于使用 GitHub Actions 更新 lockfile 的页面。
你可以使用 glow 在终端中查看生成的 markdown 文件。
你也可以使用 glow 直接从 stdin 查看 markdown 文件。