Skip to content

Require global Git config access for daemon startup#1972

Open
svarlamov wants to merge 1 commit into
mainfrom
feat/daemon-require-gitconfig-access
Open

Require global Git config access for daemon startup#1972
svarlamov wants to merge 1 commit into
mainfrom
feat/daemon-require-gitconfig-access

Conversation

@svarlamov

@svarlamov svarlamov commented Jul 23, 2026

Copy link
Copy Markdown
Member

Summary

Require daemon startup to have a readable global Git configuration.

  • Validate only global config with one bounded git config --global --list invocation.
  • Do not inspect repository-local config.
  • Reject startup when the global config is absent, inaccessible, or invalid.
  • Keep the probe outside trace2 ingestion and reuse the existing trace2-disabled Git execution helper.

Why use Git directly

Git is the source of truth for config path resolution, parsing, and include behavior. A gix preflight added complexity without improving the intended contract: the daemon requires the global config to exist and be readable. The probe runs once at daemon startup, never on the latency-sensitive ingestion path, and has a fixed process bound.

Tests and fixtures

Strict TDD coverage demonstrates that:

  • an inaccessible global config rejects both daemon start and daemon run;
  • an absent global config rejects startup;
  • an inaccessible repository-local config does not block startup.

Isolated TestRepo homes contain an empty global config by default, matching the installed-product prerequisite; negative tests explicitly remove or replace it. The nasty benchmark fixture likewise creates the GIT_CONFIG_GLOBAL file before starting its isolated daemon.

Validated with:

  • task test TEST_FILTER=git_config
  • focused benchmark daemon-start smoke
  • task fmt
  • task lint
  • task test

Copy link
Copy Markdown
Member Author

This stack of pull requests is managed by Graphite. Learn more about stacking.

@svarlamov
svarlamov marked this pull request as ready for review July 23, 2026 20:42

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no potential bugs to report.

View in Devin Review to see 1 additional finding.

Open in Devin Review

@svarlamov
svarlamov force-pushed the feat/daemon-require-gitconfig-access branch from 1596459 to 8d2bb67 Compare July 25, 2026 23:58
@svarlamov svarlamov changed the title Require Git config access for daemon startup Require global Git config access for daemon startup Jul 25, 2026
devin-ai-integration[bot]

This comment was marked as resolved.

@svarlamov
svarlamov force-pushed the feat/daemon-require-gitconfig-access branch 2 times, most recently from 0170a8f to d998921 Compare July 26, 2026 00:48
@svarlamov
svarlamov force-pushed the feat/daemon-require-gitconfig-access branch from d998921 to 90dfa50 Compare July 26, 2026 00:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant