Bug Fixes
-
skip null-ID lookups in worktree filters
Worktree merge resources naturally use null IDs when their content comes
from a file path, as ingix merge file. Automatic text filters queried
those IDs to inspect indexed line endings, causing guaranteed misses and
unnecessary object-database refreshes.Treat the null sentinel as a missing index blob before querying objects.
Clarify the resource contract and strengthen the existingworktree_filter
test to reject object lookups for null-ID resources in both conversion
modes. Existing assertions retain coverage for indexed CRLF content and
renormalization. -
ignore diff-local metadata for identical changes
Tree diffs assign relation IDs independently. When both sides add the same
entry under newly added directories, unrelated sibling changes can give those
additions differentChildOfParentIDs. Comparing the completeChangevalues
then routes an agreed tree effect toResolutionFailure::Unknown.Compare the semantic tree effect instead: change kind, source and destination
paths, modes, object IDs, and rewrite copy behavior. Ignore relation IDs and
rewrite diff statistics, which do not affect the resulting tree. This also
coalesces equivalent deletions and rewrites through the same matcher.Add bidirectional fixtures with an asymmetric earlier directory change so the
equivalent target operations receive different diff-local relation IDs. The
add/add fixture reproduces the pre-fix Unknown resolution, while deletion and
rewrite fixtures verify the broader class against Git in both directions.Git baseline:
merge-ort.cat1630431f326e15fcde608827b5ff38422528eb59sets
match_mask = 6when both sides have the same mode and object ID, then resolves
that entry cleanly.
Changed (BREAKING)
-
migrate errors to gix-error
rubberstamp
-
raise MSRV to Rust 1.88
The newly published
dua-core3.3 release used by linked-worktree removal
requires Rust 1.88, so raise every workspace crate and the advertised badge
together.Keep the MSRV checks buildable by selecting the latest
sysinfoandrusqlite
release lines that support Rust 1.88.
Commit Statistics
- 15 commits contributed to the release over the course of 31 calendar days.
- 32 days passed between releases.
- 4 commits were understood as conventional.
- 1 unique issue was worked on: #2968
Commit Details
view details
- #2968
- Ignore diff-local metadata for identical changes (66d2daf)
- Uncategorized
- Merge pull request #2847 from GitoxideLabs/gix-error-completion (6356013)
- Add error context without preliminary erasure (9d0329a)
- Use borrowed error inspection throughout the workspace (daf73b5)
- Migrate errors to gix-error (7d42d81)
- Merge pull request #2982 from mtsgrd/testtools-config-file-isolation (0cd9319)
- Review (bc9185d)
- Merge pull request #2971 from GitoxideLabs/diff-nullid-fix (d7551f1)
- Skip null-ID lookups in worktree filters (2a910ee)
- Merge pull request #2969 from GitoxideLabs/merge-fix (f0681ba)
- Merge pull request #2949 from GitoxideLabs/error-conversion-review (a095334)
- Raise MSRV to Rust 1.88 (4b42e0c)
- Merge pull request #2955 from GitoxideLabs/transport-url-encoding (7e35849)
- Release gix-path v0.12.6, gix-error v0.3.2, gix-command v0.10.1, gix-transport v0.59.2 (888677a)
- Merge pull request #2940 from GitoxideLabs/vendor-bisync (dda600d)