Skip to content

Model non-empty invariants across merge, shallow, ODB, and commitgraph#2432

Closed
Byron wants to merge 8 commits intomainfrom
codex/nonempty-invariants
Closed

Model non-empty invariants across merge, shallow, ODB, and commitgraph#2432
Byron wants to merge 8 commits intomainfrom
codex/nonempty-invariants

Conversation

@Byron
Copy link
Member

@Byron Byron commented Feb 15, 2026

Summary

  • model merge-base results as explicit non-empty values (gix_revision::merge_base::Bases) and propagate this through gix and gix-merge
  • make virtual merge-base outputs non-empty where the code guarantees at least one generated commit
  • encode shallow-boundary commits as a non-empty type in gix-shallow and adapt gix / gix-protocol callers
  • encode additional internal non-empty invariants:
    • merge tree node storage root in gix-merge
    • required loose object DB availability in gix-odb dynamic snapshot usage
    • commit-graph file collection in gix-commitgraph
    • non-empty commit groups in gitoxide-core hours estimation API
  • apply follow-up clippy/test compatibility adjustments after the type changes

Tasks

  • review breaking commit messages (might not be breaking)
  • review everything thoroughly

@Byron Byron force-pushed the codex/nonempty-invariants branch 2 times, most recently from a07ca4c to 191e148 Compare February 15, 2026 09:57
Copy link
Contributor

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b97848e1f1

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines 1035 to 1036
let (force_run, script_result_directory) =
force_and_dir(destination_dir, root, &archive_name, hash_kind, &script_identity);
Copy link
Contributor

Choose a reason for hiding this comment

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

P1 Badge Include hash kind in Rust fixture archive key

This adds hash-kind namespacing to script_result_directory but still uses the same archives/rust-{name}.* file for all hash kinds, so a fixture generated once (e.g., SHA-1) can be extracted and reused for another hash kind (e.g., SHA-256) without re-running the closure because archive validation only checks script_identity and platform. In practice, running the same rust_fixture_* name/version across different hash kinds can silently serve stale/wrong fixture content and invalidate test results.

Useful? React with 👍 / 👎.

@Byron Byron changed the title Update fixture tooling and tests for multiple hash kinds Model non-empty invariants across merge, shallow, ODB, and commitgraph Feb 15, 2026
@Byron Byron force-pushed the codex/nonempty-invariants branch from 191e148 to 22af951 Compare February 15, 2026 10:06
Byron and others added 8 commits February 15, 2026 11:32
Co-authored-by: chatgpt-codex-connector[bot] <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com>
Co-authored-by: chatgpt-codex-connector[bot] <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com>
Co-authored-by: chatgpt-codex-connector[bot] <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com>
Co-authored-by: chatgpt-codex-connector[bot] <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com>
Co-authored-by: chatgpt-codex-connector[bot] <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com>
Co-authored-by: chatgpt-codex-connector[bot] <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com>
Co-authored-by: chatgpt-codex-connector[bot] <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com>
Co-authored-by: chatgpt-codex-connector[bot] <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com>
@Byron Byron force-pushed the codex/nonempty-invariants branch from 22af951 to 9245200 Compare February 15, 2026 10:34
@Byron
Copy link
Member Author

Byron commented Feb 15, 2026

Very wrong.

@Byron Byron closed this Feb 15, 2026
@Byron Byron deleted the codex/nonempty-invariants branch February 15, 2026 12:25
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