Bug Fixes
-
derive trust from all detected repository paths
There are some concerns over performance, but it seems the work it does is
required after all. There are possible optimisations left on the table,
as it might do duplicate IO to check ownership.
More tests are read-only now as well, it really does like its tempdirs and
direct Git invocations.Checking ownership of only the discovery candidate or resolved git directory
can grant full trust to a linked repository with foreign-owned paths. Add
gix_discover::repository::trust()to compute the minimum trust of the
original candidate, resolved git directory, common directory referenced by
commondir, and existing worktree. Use it during upward discovery and direct
and environment-basedgixopens, before selecting trust-dependent options
or reading repository configuration.Never upgrade an untrusted candidate. Skip a duplicate git-directory check
only when its spelling exactly matches the candidate after joining with the
current directory; filesystem aliases can still cause repeated checks. Skip
a missing worktree so a private git directory remains usable after checkout
removal, but propagate missing git or common-directory errors.Preserve
TrustPolicy::Assumeand explicit opening trust overrides, and
document the distinction between ownership-derived trust, required thresholds,
and assumed trust. Add deterministic ownership regressions through private
callbacks, including linked paths, duplicate checks, and missing directories.
Replace the ancestor-discovery test's dependency on the source checkout with
read-only nested repository fixtures.Git reference:
setup.c::ensure_valid_ownershipat
d38352cd43ab9745686d697872408bc3249a153fchecks gitfile, worktree and gitdir.
The common directory is also checked here as a configuration source.
Commit Statistics
- 9 commits contributed to the release over the course of 13 calendar days.
- 13 days passed between releases.
- 1 commit was understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
view details
- Uncategorized
- Prepare changelogs prior to release (794eeef)
- Merge pull request #3038 from cruessler/run-gix-discover-tests (d78005a)
- Review (b9093f8)
- Add test for detached HEAD discovery (9572ce0)
- Merge pull request #3032 from GitoxideLabs/sec-audit (1d7bac7)
- Derive trust from all detected repository paths (fcc9eac)
- Merge pull request #3033 from GitoxideLabs/gix-cli-progress-cleanup (80f4b03)
- Merge pull request #3022 from GitoxideLabs/release-testtools (f819565)
- Merge pull request #3020 from GitoxideLabs/report-september (5fb3dcf)