Skip to content

gix: allow sha256-only builds#2627

Open
Adrian Ratiu (10ne1) wants to merge 2 commits into
GitoxideLabs:mainfrom
10ne1:dev/aratiu/allow-sha256-only-builds
Open

gix: allow sha256-only builds#2627
Adrian Ratiu (10ne1) wants to merge 2 commits into
GitoxideLabs:mainfrom
10ne1:dev/aratiu/allow-sha256-only-builds

Conversation

@10ne1
Copy link
Copy Markdown

Three call sites in gix/src/config referenced gix_hash::Kind::Sha1 unconditionally, which fails to compile when the Sha1 variant is feature-gated out of gix_hash::Kind.

Replace the hardcoded Kind::Sha1 with the Default impl which is feature-aware (sha1 when available, otherwise sha256), so this preserves Sha1 as the default for normal builds while also letting sha256-only builds compile.

For the core.rs Abbrev validator use Kind::longest() which accepts the widest range of valid lenghts. This only enfources a shape bound, the authoritative repo-hash check happens elsewhere (see comment).

Add a Justfile check to verify the gix build.

This is part of #281

Three call sites in gix/src/config referenced gix_hash::Kind::Sha1
unconditionally, which fails to compile when the Sha1 variant is
feature-gated out of gix_hash::Kind.

Replace the hardcoded Kind::Sha1 with the Default impl which is
feature-aware (sha1 when available, otherwise sha256), so this
preserves Sha1 as the default for normal builds while also letting
sha256-only builds compile.

For the core.rs Abbrev validator use Kind::longest() which accepts
the widest range of valid lenghts. This only enfources a shape bound,
the authoritative repo-hash check happens elsewhere (see comment).

Add a Justfile check to verify the gix build.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Signed-off-by: Adrian Ratiu <adrian.ratiu@collabora.com>
Copy link
Copy Markdown
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: 62de1ecc75

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

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

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

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "Codex (@codex) address that feedback".

Comment thread gix/src/config/cache/incubate.rs Outdated
@10ne1 Adrian Ratiu (10ne1) mentioned this pull request May 28, 2026
50 tasks
A missing extensions.objectFormat means legacy Sha1.

In sha256-only builds, Kind::default() is Sha256, so such repos
were silently mislabeled as Sha256.

Resolve the implicit case to Sha1 when supported, else error
out to avoid any mislabeling.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Signed-off-by: Adrian Ratiu <adrian.ratiu@collabora.com>
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