Hasty Briefsbeta

双语

Exposing Git Information in Rust Binaries Built with Nix

6 months ago
  • #Rust
  • #Nix
  • #Git
  • Rust二进制文件中的Git信息有助于追踪版本和提交记录,对调试很有帮助。
  • shadow-rs crate用于在构建时将Git信息(如提交哈希、分支名)嵌入CLI工具。
  • Nix构建会排除.git目录,导致shadow-rs无法获取Git信息。
  • 解决方案:使用Nix flake的self.rev将提交哈希作为构建时环境变量传递。
  • 修改build.rs以同时支持cargo和Nix构建,确保两种方式都能获取版本信息。
  • 对于Nix构建,提交哈希取自flake的self.rev;分支名仍不可用。
  • 最终输出显示:Nix构建的版本信息包含提交哈希,cargo构建则包含分支名。
  • 感谢贡献者的指导和解决方案。
  • 作者邀请通过社交媒体提供反馈,并通过GitHub赞助获取komorebi for Mac的早期访问权限。