blaze-host: scope the dirty-tree check to the crates the binary is built from
A whole-repo check read DIRTY permanently, because unrelated submodules carry pre-existing modifications. A warning that is always on is a warning nobody reads, which defeats the point: the flag exists so a mutated build announces itself before it can be mistaken for parity evidence. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -23,9 +23,24 @@ fn git(args: &[&str]) -> Option<String> {
|
|||||||
fn main() {
|
fn main() {
|
||||||
let commit = git(&["rev-parse", "--short=7", "HEAD"]).unwrap_or_else(|| "unknown".into());
|
let commit = git(&["rev-parse", "--short=7", "HEAD"]).unwrap_or_else(|| "unknown".into());
|
||||||
|
|
||||||
// Tracked modifications only: untracked scratch files are not a build
|
// Scoped to the crates this binary is actually built from.
|
||||||
// difference, but an edited source file certainly is.
|
//
|
||||||
let dirty = match git(&["status", "--porcelain", "--untracked-files=no"]) {
|
// A whole-repo check reads DIRTY permanently here, because unrelated
|
||||||
|
// submodules carry pre-existing modifications. A warning that is always on
|
||||||
|
// is a warning nobody reads — which would defeat the point, since the whole
|
||||||
|
// job of this flag is to make a mutated build announce itself.
|
||||||
|
//
|
||||||
|
// Untracked files are excluded: scratch output is not a build difference,
|
||||||
|
// but an edited source file certainly is.
|
||||||
|
let dirty = match git(&[
|
||||||
|
"status",
|
||||||
|
"--porcelain",
|
||||||
|
"--untracked-files=no",
|
||||||
|
"--",
|
||||||
|
"openfut-blaze-host",
|
||||||
|
"openfut-adapter-fifa17",
|
||||||
|
"openfut-protocol-blaze",
|
||||||
|
]) {
|
||||||
Some(s) if !s.is_empty() => "DIRTY",
|
Some(s) if !s.is_empty() => "DIRTY",
|
||||||
Some(_) => "clean",
|
Some(_) => "clean",
|
||||||
None => "unknown",
|
None => "unknown",
|
||||||
|
|||||||
Reference in New Issue
Block a user