Skip to content

gix-error conversion batch 1 (part 2)#2443

Open
Byron wants to merge 1 commit intomainfrom
gix-error
Open

gix-error conversion batch 1 (part 2)#2443
Byron wants to merge 1 commit intomainfrom
gix-error

Conversation

@Byron
Copy link
Member

@Byron Byron commented Feb 22, 2026

Follow-up of #2423.

Tasks

  • thorough review for crate gix-fs

Crates done

  • TBD
  Batch 1 Migration Complete

  11 crates migrated from thiserror to gix-error, in 11 commits:
  ┌────────────────┬───────────────────────────────────────────────────────┬─────────────────────────────────────────────────────────────────────────┐
  │     Crate      │                 Error types replaced                  │                            Downstream fixes                             │
  ├────────────────┼───────────────────────────────────────────────────────┼─────────────────────────────────────────────────────────────────────────┤
  │ gix-bitmap     │ 1 (ewah::decode::Error)                               │ none                                                                    │
  ├────────────────┼───────────────────────────────────────────────────────┼─────────────────────────────────────────────────────────────────────────┤
  │ gix-quote      │ 1 (ansi_c::undo::Error)                               │ none                                                                    │
  ├────────────────┼───────────────────────────────────────────────────────┼─────────────────────────────────────────────────────────────────────────┤
  │ gix-mailmap    │ 1 (parse::Error)                                      │ none                                                                    │
  ├────────────────┼───────────────────────────────────────────────────────┼─────────────────────────────────────────────────────────────────────────┤
  │ gix-fs         │ 1 (to_normal_path_components::Error)                  │ none                                                                    │
  ├────────────────┼───────────────────────────────────────────────────────┼─────────────────────────────────────────────────────────────────────────┤
  │ gix-lock       │ 1 (acquire::Error)                                    │ gix-testtools                                                           │
  ├────────────────┼───────────────────────────────────────────────────────┼─────────────────────────────────────────────────────────────────────────┤
  │ gix-path       │ 2 (relative_path::Error, realpath::Error)             │ gix-ref                                                                 │
  ├────────────────┼───────────────────────────────────────────────────────┼─────────────────────────────────────────────────────────────────────────┤
  │ gix-packetline │ 3 (encode::Error, decode::Error, decode::band::Error) │ none                                                                    │
  ├────────────────┼───────────────────────────────────────────────────────┼─────────────────────────────────────────────────────────────────────────┤
  │ gix-attributes │ 2 (name::Error, parse::Error)                         │ gix-pathspec                                                            │
  ├────────────────┼───────────────────────────────────────────────────────┼─────────────────────────────────────────────────────────────────────────┤
  │ gix-url        │ 3 (parse::Error, UrlParseError, expand_path::Error)   │ gix-transport, gix                                                      │
  ├────────────────┼───────────────────────────────────────────────────────┼─────────────────────────────────────────────────────────────────────────┤
  │ gix-hash       │ 7 (all error types)                                   │ gix-object, gix-pack, gix-odb, gix-index, gix-status, gix-protocol, gix │
  ├────────────────┼───────────────────────────────────────────────────────┼─────────────────────────────────────────────────────────────────────────┤
  │ gix-features   │ 3 (DecompressError, CompressError, inflate::Error)    │ (included in gix-hash downstream)                                       │
  └────────────────┴───────────────────────────────────────────────────────┴─────────────────────────────────────────────────────────────────────────┘
  Verification: cargo check -p gix passes, all 21 test suites across the 11 crates pass with 0 failures.

Replace the thiserror-derived `to_normal_path_components::Error`
enum with `gix_error::Exn<gix_error::Message>`.

Co-Authored-By: Sebastian Thiel <sebastian.thiel@icloud.com>
Co-authored-by: chatgpt-codex-connector[bot] <199175422+chatgpt-codex-connector[bot]@users.noreply.github.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