mirror of
https://github.com/openai/codex.git
synced 2026-11-13 14:46:14 +00:00
Reject implicitly discovered bare Git repositories (#36924)
## Why A repository can contain a tracked directory that Git implicitly treats as a bare repository. Its configuration may select helpers such as `core.fsmonitor`, causing Codex Git operations in that directory to execute repository-controlled code. ## What changed - Pass `-c safe.bareRepository=explicit` to Codex-managed Git commands so they reject implicitly discovered bare repositories. - Continue to support repositories explicitly selected with `--git-dir` or `GIT_DIR`. ## Testing Add a regression test that clones a repository containing a tracked embedded Git repository and verifies that guarded Git inspection rejects it without running its configured filesystem monitor. GitOrigin-RevId: 344b5bc1e0ffa94f2a1b788488aa653222da10f3
This commit is contained in:
1 parent
02bc1dd796
commit
7ada37a15e
13 files changed
+226
-15
No files matched your search
@@ -1675,7 +1675,9 @@ fn run_git(args: &[&str], cwd: Option<&Path>) -> Result<(), String> {
|
||||
|
||||
fn run_git_output(args: &[&str], cwd: Option<&Path>) -> Result<String, String> {
|
||||
let mut command = Command::new("git");
|
||||
command.args(args);
|
||||
command
|
||||
.args(["-c", codex_git_utils::SAFE_BARE_REPOSITORY_CONFIG])
|
||||
.args(args);
|
||||
command.env("GIT_TERMINAL_PROMPT", "0");
|
||||
if let Some(cwd) = cwd {
|
||||
command.current_dir(cwd);
|
||||
|
||||
Reference in new issue
Block a user