use std::path::Path;
use std::process::Command;
const INHERITED_GIT_ENV: &[&str] = &[
"GIT_DIR",
"GIT_WORK_TREE",
"GIT_INDEX_FILE",
"GIT_OBJECT_DIRECTORY",
"GIT_PREFIX",
"GIT_COMMON_DIR",
"GIT_ALTERNATE_OBJECT_DIRECTORIES",
];
pub(super) fn run_git(repo: &Path, args: &[&str]) {
let mut cmd = Command::new("git");
for var in INHERITED_GIT_ENV {
cmd.env_remove(var);
}
cmd.arg("-C")
.arg(repo)
.args(args)
.env("GIT_AUTHOR_DATE", "2026-04-22T12:00:00Z")
.env("GIT_COMMITTER_DATE", "2026-04-22T12:00:00Z");
let status = crate::test_support::spawn_locked(&mut cmd)
.unwrap()
.wait()
.unwrap();
assert!(status.success(), "git {args:?} failed");
}