fix: improve version detection fallback in build.rs #2028
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fix version detection in build.rs for cargo-binstall installations
This PR implements improvements suggested in issue #2025.
The main change is fixing the version detection logic in
build.rs
to properly handle cases where Git operations fail or return empty results. Previously, when usingcargo-binstall
, thegix --version
command would output nothing because the build script was not properly falling back toCARGO_PKG_VERSION
.Changes
output.status.success()
to ensure Git command actually succeededparse_describe()
to returnNone
for empty strings instead ofSome("")
, allowing proper fallback toCARGO_PKG_VERSION
Issue
When installing via
cargo-binstall
, the pre-built binaries were compiled in environments where:The original
parse_describe
function would returnSome("")
for empty Git output, preventing theunwrap_or_else
fallback from executing.Testing
gix --version
now properly displays version information when installed viacargo-binstall
Fixes #2025