From d1ebc56bfee34bee4095758b2a529e29a796d719 Mon Sep 17 00:00:00 2001 From: Caleb Maclennan Date: Thu, 30 May 2024 16:59:46 +0300 Subject: [PATCH] Allow builds from 'git archive' generated tarballs (#2187) Co-authored-by: extrawurst <776816+extrawurst@users.noreply.github.com> --- CHANGELOG.md | 3 +++ build.rs | 7 ++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7b723485..8216cbd8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,6 +23,9 @@ but this also allows us now to define colors in the common hex format: Checkout [THEMES.md](./THEMES.md) for more info. +### Added +* support `TAR_COMMIT_ID` enabling builds from `git archive` generated source tarballs or other outside a git repo [[@alerque](https://github.com/alerque)] ([#2187](https://github.com/extrawurst/gitui/pull/2187)) + ### Fixes * update yanked dependency to `libc` to fix building with `--locked`. * document breaking change in theme file format. diff --git a/build.rs b/build.rs index e217973c..2434db6a 100644 --- a/build.rs +++ b/build.rs @@ -3,9 +3,14 @@ use chrono::TimeZone; fn get_git_hash() -> String { use std::process::Command; + // Allow builds from `git archive` generated tarballs if output of `git get-tar-commit-id` is + // set in an env var. + if let Ok(commit) = std::env::var("TAR_COMMIT_ID") { + return commit[..7].to_string(); + }; let commit = Command::new("git") .arg("rev-parse") - .arg("--short") + .arg("--short=7") .arg("--verify") .arg("HEAD") .output();