New Features
- add
Repository::worktree_proxy_by_id(id).
That way it's more straightforward to obtain information about worktrees
which are known by ID. - add
Handshake::ref_map()to produce a ref-map from a V1 or V2 handshake. - add
Repository::set_workdir().
Force this repository instance to use the given worktree directory.
Bug Fixes
-
refspec for shallow clones uses a single-branch
When doing shallow clones (depth != NoChange), it now uses a single-branch
refspec instead of fetching all branches. This matches Git's behavior
and significantly reduces the repository size for shallow clones.For shallow clones:
- If ref_name is specified: uses that branch
- Otherwise: attempts to detect from Protocol V1 handshake or falls
back to init.defaultBranch config or "main"
This addresses issue #2227 where
gix clone --depth 1was creating
repositories ~130MB vs Git's ~70MB due to fetching all branches.
Bug Fixes (BREAKING)
- respect
diff.algorithminRepository::blame_file - make gix-transport I/O mode features additive
Refactor (BREAKING)
- simplify gix-protocol handshake API by avoiding duplicates that remove the
serverparameter. - hoist handshake ref handling out of transport code
- store all_refspecs in Options
- store fetch refspecs in Options
- flatten RefMap::new() arguments
Commit Statistics
- 35 commits contributed to the release.
- 11 commits were understood as conventional.
- 1 unique issue was worked on: #2227
Commit Details
view details
- #2227
- Refspec for shallow clones uses a single-branch (f7700e4)
- Uncategorized
- Merge branch 'copilot/fix-issue-2258' (b20d9e9)
- Fix dead code warnings in gix and gitoxide-core (b170451)
- Merge pull request #2250 from djc/rm-handshake-layers (3c2b422)
- Bring the
serviceparameter back to not hardcode the handshake for fetches. (c9a97db) - Simplify gix-protocol handshake API by avoiding duplicates that remove the
serverparameter. (36c2be8) - Merge pull request #2252 from GitoxideLabs/improvements (2f14246)
- Add
Repository::worktree_proxy_by_id(id). (a004329) - Merge pull request #2249 from iczero/fetch-performance-fix (c3beb20)
- Move worktree_branches call out of loop (37e7e02)
- Merge pull request #2242 from djc/ls-refs (0ac3080)
- Add
Handshake::ref_map()to produce a ref-map from a V1 or V2 handshake. (aeee982) - Adapt to changes in
gix-protocol: Outcome -> Handshake (a61b2ab) - Refactor (48fdf5d)
- Hoist handshake ref handling out of transport code (19a0051)
- Store all_refspecs in Options (50120de)
- Store fetch refspecs in Options (37ab036)
- Flatten RefMap::new() arguments (f05dfab)
- Merge pull request #2238 from GitoxideLabs/copilot/update-refspec-parsing-logic (c2c1a61)
- Refactor (ba2301f)
- Merge pull request #2248 from GitoxideLabs/improvements (c400dd3)
- Adapt to changes in
gix-date(2bcac0c) - Merge pull request #2247 from GitoxideLabs/improvements (3087b76)
- Adapt to changes in
gix-date(d5e194d) - Merge pull request #2229 from GitoxideLabs/copilot/fix-refspec-for-shallow-clone (bc62b1e)
- Refactor (c331afc)
- Merge pull request #2197 from cruessler/add-tests-for-slider-problem (ab44f45)
- Merge pull request #2240 from cruessler/add-gix-repository-blame-options (385ab16)
- Refactor (2a187ca)
- Respect
diff.algorithminRepository::blame_file(bb2cec0) - Merge pull request #2204 from cruessler/improve-blame-ranges (663b41e)
- Add
Repository::set_workdir(). (0ed0164) - Merge pull request #2236 from djc/additive-transport (6e89afa)
- Make gix-transport I/O mode features additive (c2050d0)
- Merge pull request #2230 from yuki0iq/doc_auto_cfg (fbf9c39)