ITADN
uncenter/nixpkgs-track
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

nixpkgs-track

跟踪 Nixpkgs 拉取请求的进展(那个更新在 nixpkgs-unstable 中了吗??)。

$ nixpkgs-track 370713
[370713] helix: 24.07 -> 25.01
Merged 3 days 23 hours 9 minutes and 3 seconds ago (2025-01-03T21:58:20+00:00), 1 hour 18 minutes and 54 seconds after creation.
master: ✅
staging: ✅
staging-next: ✅
nixpkgs-unstable: ✅
nixos-unstable-small: ✅
nixos-unstable: ✅

安装

Nix

nixpkgs-track 可从 Nixpkgs 获取。

nix run nixpkgs#nixpkgs-track

Cargo

cargo install nixpkgs-track

用法

跟踪拉取请求的最简单方式如下:

nixpkgs-track <PULL_REQUEST>

其中 PULL_REQUEST 是要跟踪的拉取请求的数值 ID 或 GitHub URL。例如,370713https://github.com/NixOS/nixpkgs/pull/370713 都是对 github.com/NixOS/nixpkgs/pull/370713 的有效引用。

[!TIP] 根据使用情况(在几分钟内跟踪多个/许多拉取请求),您可能需要提供 GitHub API 令牌以避免未认证请求的速率限制。nixpkgs-track 会自动检测 gh 命令行工具,并在可用时尝试使用 gh auth token 获取 GitHub 令牌。否则,可以通过 GITHUB_TOKEN 环境变量或 --token 选项提供令牌。

nixpkgs-track 还支持保存一个拉取请求列表,以便将来检查。

add <PULL_REQUESTS...>

将指定的拉取请求添加到列表中。

remove [<PULL_REQUESTS...> | --all | --interactive]

从列表中移除指定的拉取请求。使用 --all 从列表中移除所有拉取请求。使用 --interactive 交互式地从列表中移除拉取请求。

list

列出已跟踪的拉取请求及其元数据。

check

检查每个被跟踪的拉取请求。相当于对列表中的每个拉取请求运行 nixpkgs-track <PULL_REQUEST>

Library

此 crate 还为其他程序导出一个简单的库接口。这可以在 crates.io 上作为 nixpkgs-track_lib 获取。

两个主要函数是 nixpkgs_track_lib::fetch_nixpkgs_pull_request,用于从 GitHub API 获取拉取请求数据,以及 nixpkgs_track_lib::branch_contains_commit,用于检查提交 SHA(例如来自已合并的拉取请求:PullRequest.merge_commit_sha)是否存在于 GitHub 上指定的分支中。

用于命令行接口的实现可以在 crates/nixpkgs-track/src/main.rs 中找到,位于 check 函数下。另请参阅 @isabelrosesBlåhaj bot for Discordsrc/commands/misc/nixpkgs.rs

License & Credit

nixpkgs-track 最初是作为 Alyssa RossNixpkgs Pull Request Tracker 网站的一个本地且可靠的 CLI 替代品创建的,并基于 getchoo/nixpkgs-tracker-bot。不过目前,nixpkgs-track 主要派生自最近的 ocfox/nixpkgs-tracker 项目。

MIT