gix-path
A crate of the gitoxide project dealing paths and their conversions
0.12.5
49M downloads/mo
#1236 most downloaded on crates.io
GitoxideLabs/gitoxide
What this package is like to depend on
Last release today
22 Aug 2026
Ships fairly regularly
a new release about every 4 weeks
Nearly every release is documented
notes for 40 of 41 stable releases
2 versions withdrawn
withdrawn after publishing
4 years old
43 releases · first in 2023
12 releases in the last 12 months
see the full history below
Release timeline
43 releases · Feb 2023 to Aug 2026Releases
latest 43-
0.12.522 Aug 2026Nothing published for this version
-
0.12.403 Aug 2026Release notes
Open source →Chore
- <csr-id-96efe08497c326eff2c710f92cd8b3ea2b87c3cb/> increase acceptable timeout for slow CI
New Features
- <csr-id-6560a5a871738979edc134d396fb53f67b7cb824/> add
normalize_saturating()That way, one can express another way with which Git handles worktrees. - <csr-id-6125bc23c3655d6b9098e0da25ad6f653193c4be/> add
env::shell_command()to get a Git shell.
Commit Statistics
<csr-read-only-do-not-edit/>
- 6 commits contributed to the release over the course of 11 calendar days.
- 11 days passed between releases.
- 3 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
- Uncategorized
- Merge pull request #2841 from danielcadev/codex/fix-bare-git-work-tree-override (
da71d06) - Add
normalize_saturating()(6560a5a) - Merge pull request #2820 from GitoxideLabs/agent/fix-windows-shell-posix-mode (
5a88ee7) - Add
env::shell_command()to get a Git shell. (6125bc2) - Merge pull request #2812 from GitoxideLabs/report-july (
ae8845a) - Increase acceptable timeout for slow CI (
96efe08) </details>
- Merge pull request #2841 from danielcadev/codex/fix-bare-git-work-tree-override (
-
0.12.323 Jul 2026Release notes
Open source →New Features
- <csr-id-5e46d19acc5c1ae1525fa98c97bc43ab39ab8e52/> add
normalize_and_clean()Whilenormalize()is optimised for keeping the look of paths the same, the new function truly wants to normalize.
Commit Statistics
<csr-read-only-do-not-edit/>
- 6 commits contributed to the release over the course of 8 calendar days.
- 8 days passed between releases.
- 1 commit was understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
- Uncategorized
- Release gix-trace v0.1.21, gix-validate v0.11.3, gix-path v0.12.3, gix-utils v0.3.5, gix-config-value v0.19.0, gix-prompt v0.16.0, gix-sec v0.14.2, gix-url v0.37.0, gix-credentials v0.39.0, safety bump 18 crates (
f0ec710) - Merge pull request #2735 from GitoxideLabs/better-exclude-handling (
02cb162) - Add
normalize_and_clean()(5e46d19) - Merge pull request #2722 from GitoxideLabs/reasons (
c16b5a1) - Replace lint allowances with expectations (
43ff87a) - Merge pull request #2714 from GitoxideLabs/fix-credentials-parsing (
cf3053a) </details>
- Release gix-trace v0.1.21, gix-validate v0.11.3, gix-path v0.12.3, gix-utils v0.3.5, gix-config-value v0.19.0, gix-prompt v0.16.0, gix-sec v0.14.2, gix-url v0.37.0, gix-credentials v0.39.0, safety bump 18 crates (
- <csr-id-5e46d19acc5c1ae1525fa98c97bc43ab39ab8e52/> add
-
0.12.215 Jul 2026Release notes
Open source →Bug Fixes
-
<csr-id-82cdb47c7ac9853e48529b3d8341aa27e28b9df1/> local clones succeed even if git-upload-pack is not in PATH Local clones spawn the service program, like git-upload-pack, by name and would fail if it could not be found in PATH. This is common on Windows, where git can be installed such that git itself is available but its subcommands are not, for instance with scoop.
Now, when spawning the service program for a local repository fails because it cannot be found, find the same program in the directory that git --exec-path reports - the location git itself uses to run its subcommands - and run it from there. If it cannot be found there either, run the git binary that is always findable with the service as its subcommand, which it can always dispatch.
Remote transports are unaffected - they keep the standard invocation so servers can provide their own implementations - and no shell is involved in any of this.
The newly added gix_path::env::core_dir_program() provides the lookup and may serve other Git-provided programs in the future.
Git for Windows builds with SKIP_DASHED_BUILT_INS and thus does not provide programs for builtin subcommands like git-upload-pack in its core directory. The test now grounds itself in a listing of that directory instead, and the documentation of core_dir_program() points out the difference - such programs are still run through git itself thanks to the second fallback.
Commit Statistics
<csr-read-only-do-not-edit/>
- 8 commits contributed to the release.
- 50 days passed between releases.
- 1 commit was understood as conventional.
- 1 unique issue was worked on: #2313
Commit Details
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
- #2313
- Local clones succeed even if git-upload-pack is not in PATH (
82cdb47)
- Local clones succeed even if git-upload-pack is not in PATH (
- Uncategorized
- Release gix-path v0.12.2, gix-error v0.2.5, gix-utils v0.3.4, gix-date v0.15.6, gix-url v0.36.2, gix-credentials v0.38.2 (
27aec47) - Merge pull request #2700 from ameyypawar/fix/2313-upload-pack-fallback (
9884f48) - Review (
151a0af) - Merge pull request #2693 from Manishearth/relative-path-transparent (
19bdf8a) - Annotate RelativePath transmute types for clippy (
7ef83ca) - Actually mark RelativePath as transparent (
d5f3723) - Merge pull request #2618 from GitoxideLabs/report (
f7d4f33) </details>
- Release gix-path v0.12.2, gix-error v0.2.5, gix-utils v0.3.4, gix-date v0.15.6, gix-url v0.36.2, gix-credentials v0.38.2 (
-
-
0.12.126 May 2026Release notes
Open source →Commit Statistics
<csr-read-only-do-not-edit/>
- 6 commits contributed to the release over the course of 28 calendar days.
- 28 days passed between releases.
- 0 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
- Uncategorized
- Release gix-error v0.2.4, gix-date v0.15.4, gix-actor v0.41.1, gix-trace v0.1.20, gix-validate v0.11.2, gix-path v0.12.1, gix-utils v0.3.3, gix-features v0.48.1, gix-hash v0.25.1, gix-hashtable v0.15.1, gix-object v0.61.0, gix-glob v0.26.1, gix-quote v0.7.2, gix-attributes v0.33.1, gix-command v0.9.1, gix-packetline v0.21.4, gix-filter v0.31.0, gix-fs v0.21.2, gix-chunk v0.7.2, gix-commitgraph v0.37.1, gix-revwalk v0.32.0, gix-traverse v0.58.0, gix-worktree-stream v0.33.0, gix-archive v0.33.0, gix-bitmap v0.3.2, gix-tempfile v23.0.1, gix-lock v23.0.1, gix-index v0.52.0, gix-config-value v0.18.1, gix-pathspec v0.18.1, gix-ignore v0.21.1, gix-worktree v0.53.0, gix-imara-diff v0.2.2, gix-diff v0.64.0, gix-blame v0.14.0, gix-ref v0.64.0, gix-sec v0.14.1, gix-config v0.57.0, gix-prompt v0.15.1, gix-url v0.36.1, gix-credentials v0.38.1, gix-discover v0.52.0, gix-dir v0.26.0, gix-mailmap v0.33.1, gix-revision v0.46.0, gix-merge v0.17.0, gix-negotiate v0.32.0, gix-pack v0.71.0, gix-odb v0.81.0, gix-refspec v0.42.0, gix-shallow v0.12.1, gix-transport v0.57.1, gix-protocol v0.62.0, gix-status v0.31.0, gix-submodule v0.31.0, gix-worktree-state v0.31.0, gix v0.84.0, gix-fsck v0.22.0, gitoxide-core v0.58.0, gitoxide v0.54.0, safety bump 27 crates (
10c58bb) - Merge pull request #2568 from GitoxideLabs/dependabot/cargo/cargo-56d6b174d8 (
ab2fee1) - Update crates to Rust 2024 edition (
2cb17b2) - Remove rust_2018_idioms lint declarations (
e10d5f6) - Raise MSRV for hash dependency updates (
3675a8d) - Merge pull request #2546 from GitoxideLabs/fix-2545 (
adb8328) </details>
- Release gix-error v0.2.4, gix-date v0.15.4, gix-actor v0.41.1, gix-trace v0.1.20, gix-validate v0.11.2, gix-path v0.12.1, gix-utils v0.3.3, gix-features v0.48.1, gix-hash v0.25.1, gix-hashtable v0.15.1, gix-object v0.61.0, gix-glob v0.26.1, gix-quote v0.7.2, gix-attributes v0.33.1, gix-command v0.9.1, gix-packetline v0.21.4, gix-filter v0.31.0, gix-fs v0.21.2, gix-chunk v0.7.2, gix-commitgraph v0.37.1, gix-revwalk v0.32.0, gix-traverse v0.58.0, gix-worktree-stream v0.33.0, gix-archive v0.33.0, gix-bitmap v0.3.2, gix-tempfile v23.0.1, gix-lock v23.0.1, gix-index v0.52.0, gix-config-value v0.18.1, gix-pathspec v0.18.1, gix-ignore v0.21.1, gix-worktree v0.53.0, gix-imara-diff v0.2.2, gix-diff v0.64.0, gix-blame v0.14.0, gix-ref v0.64.0, gix-sec v0.14.1, gix-config v0.57.0, gix-prompt v0.15.1, gix-url v0.36.1, gix-credentials v0.38.1, gix-discover v0.52.0, gix-dir v0.26.0, gix-mailmap v0.33.1, gix-revision v0.46.0, gix-merge v0.17.0, gix-negotiate v0.32.0, gix-pack v0.71.0, gix-odb v0.81.0, gix-refspec v0.42.0, gix-shallow v0.12.1, gix-transport v0.57.1, gix-protocol v0.62.0, gix-status v0.31.0, gix-submodule v0.31.0, gix-worktree-state v0.31.0, gix v0.84.0, gix-fsck v0.22.0, gitoxide-core v0.58.0, gitoxide v0.54.0, safety bump 27 crates (
-
0.12.027 Apr 2026Release notes
Open source →New Features
- <csr-id-7e99e6aeee9bf200a561d215c586301f5e4a8cbc/> Add
gix repo commit describeIt supports typical but basic flags mostly similar to the ones in git.
Commit Statistics
<csr-read-only-do-not-edit/>
- 5 commits contributed to the release over the course of 1 calendar day.
- 2 days passed between releases.
- 1 commit was understood as conventional.
- 1 unique issue was worked on: #298
Commit Details
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
Release notes
Open source →Bug Fixes (BREAKING)
-
<csr-id-91c854e7b9f41738d0fde825cd474b8c00c1a49b/> remove
winnowand replace it with hand-implemented parsers everywhere. This will allow for simplified maintenance and editing (both human and machine) down the road, and enable additional performance optimisations.Parser compbinators to me ultimately were a failed experiment as I couldn't maintain them anyway, with it being too difficult for me to grasp and express everything in its very own kind of language, with a lot of different things to consider.
Note that this also removes detailed errors from all parsers that previously used
winnow, with the option to re-add those if there is demand.
Commit Statistics
<csr-read-only-do-not-edit/>
- 3 commits contributed to the release over the course of 2 calendar days.
- 4 days passed between releases.
- 1 commit was understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
- Uncategorized
- Release gix-error v0.2.3, gix-date v0.15.3, gix-actor v0.41.0, gix-path v0.12.0, gix-features v0.48.0, gix-hash v0.25.0, gix-hashtable v0.15.0, gix-object v0.60.0, gix-glob v0.26.0, gix-attributes v0.33.0, gix-command v0.9.0, gix-filter v0.30.0, gix-fs v0.21.0, gix-commitgraph v0.37.0, gix-revwalk v0.31.0, gix-traverse v0.57.0, gix-worktree-stream v0.32.0, gix-archive v0.32.0, gix-tempfile v23.0.0, gix-lock v23.0.0, gix-index v0.51.0, gix-config-value v0.18.0, gix-pathspec v0.18.0, gix-ignore v0.21.0, gix-worktree v0.52.0, gix-imara-diff v0.2.1, gix-diff v0.63.0, gix-blame v0.13.0, gix-ref v0.63.0, gix-sec v0.14.0, gix-config v0.56.0, gix-prompt v0.15.0, gix-url v0.36.0, gix-credentials v0.38.0, gix-discover v0.51.0, gix-dir v0.25.0, gix-mailmap v0.33.0, gix-revision v0.45.0, gix-merge v0.16.0, gix-negotiate v0.31.0, gix-pack v0.70.0, gix-odb v0.80.0, gix-refspec v0.41.0, gix-shallow v0.12.0, gix-transport v0.57.0, gix-protocol v0.61.0, gix-status v0.30.0, gix-submodule v0.30.0, gix-worktree-state v0.30.0, gix v0.83.0, gix-fsck v0.21.0, gitoxide-core v0.57.0, gitoxide v0.53.0, safety bump 48 crates (
53f880c) - Remove
winnowand replace it with hand-implemented parsers everywhere. (91c854e) - Merge pull request #2540 from GitoxideLabs/reporting (
4d5ba23) </details>
- Release gix-error v0.2.3, gix-date v0.15.3, gix-actor v0.41.0, gix-path v0.12.0, gix-features v0.48.0, gix-hash v0.25.0, gix-hashtable v0.15.0, gix-object v0.60.0, gix-glob v0.26.0, gix-attributes v0.33.0, gix-command v0.9.0, gix-filter v0.30.0, gix-fs v0.21.0, gix-commitgraph v0.37.0, gix-revwalk v0.31.0, gix-traverse v0.57.0, gix-worktree-stream v0.32.0, gix-archive v0.32.0, gix-tempfile v23.0.0, gix-lock v23.0.0, gix-index v0.51.0, gix-config-value v0.18.0, gix-pathspec v0.18.0, gix-ignore v0.21.0, gix-worktree v0.52.0, gix-imara-diff v0.2.1, gix-diff v0.63.0, gix-blame v0.13.0, gix-ref v0.63.0, gix-sec v0.14.0, gix-config v0.56.0, gix-prompt v0.15.0, gix-url v0.36.0, gix-credentials v0.38.0, gix-discover v0.51.0, gix-dir v0.25.0, gix-mailmap v0.33.0, gix-revision v0.45.0, gix-merge v0.16.0, gix-negotiate v0.31.0, gix-pack v0.70.0, gix-odb v0.80.0, gix-refspec v0.41.0, gix-shallow v0.12.0, gix-transport v0.57.0, gix-protocol v0.61.0, gix-status v0.30.0, gix-submodule v0.30.0, gix-worktree-state v0.30.0, gix v0.83.0, gix-fsck v0.21.0, gitoxide-core v0.57.0, gitoxide v0.53.0, safety bump 48 crates (
- <csr-id-7e99e6aeee9bf200a561d215c586301f5e4a8cbc/> Add
-
0.11.324 Apr 2026Release notes
Open source →Documentation
- <csr-id-b1102c24055bbf15987a6a8c2e66338aa8a56438/> add crate-root doctests
New Features
- <csr-id-915139f1b0d49bd9815ab24c41c08108934c6c28/> add WASI (wasm32-wasip2) platform support
Add compilation support for the
wasm32-wasip2target across four crates:
Commit Statistics
<csr-read-only-do-not-edit/>
- 11 commits contributed to the release over the course of 32 calendar days.
- 33 days passed between releases.
- 2 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
- Uncategorized
- Update changelogs prior to release (
f9fbcba) - Merge pull request #2518 from GitoxideLabs/improvements (
444a92b) - Make
package.includepatterns more specific so they don't match ignored files (c2c917f) - Merge pull request #2499 from GitoxideLabs/dependabot/cargo/cargo-17cc682121 (
44020e0) - Bump the cargo group with 26 updates (
9d04035) - Merge pull request #2487 from GitoxideLabs/top-level-examples (
29c275e) - Add crate-root doctests (
b1102c2) - Merge pull request #2471 from willemneal/feat/wasi-support (
fb0f694) - Refactor (
ce9dcd7) - Add WASI (wasm32-wasip2) platform support (
915139f) - Merge pull request #2480 from GitoxideLabs/report (
98bae84) </details>
- Update changelogs prior to release (
-
0.11.222 Mar 2026Release notes
Open source →Commit Statistics
<csr-read-only-do-not-edit/>
- 4 commits contributed to the release.
- 40 days passed between releases.
- 0 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
- Uncategorized
- Release gix-error v0.2.1, gix-date v0.15.1, gix-path v0.11.2, gix-features v0.46.2, gix-hash v0.23.0, gix-hashtable v0.13.0, gix-object v0.58.0, gix-packetline v0.21.2, gix-filter v0.28.0, gix-fs v0.19.2, gix-commitgraph v0.35.0, gix-revwalk v0.29.0, gix-traverse v0.55.0, gix-worktree-stream v0.30.0, gix-archive v0.30.0, gix-tempfile v21.0.2, gix-lock v21.0.2, gix-index v0.49.0, gix-pathspec v0.16.1, gix-ignore v0.19.1, gix-worktree v0.50.0, gix-diff v0.61.0, gix-blame v0.11.0, gix-ref v0.61.0, gix-sec v0.13.2, gix-config v0.54.0, gix-prompt v0.14.1, gix-credentials v0.37.1, gix-discover v0.49.0, gix-dir v0.23.0, gix-revision v0.43.0, gix-merge v0.14.0, gix-negotiate v0.29.0, gix-pack v0.68.0, gix-odb v0.78.0, gix-refspec v0.39.0, gix-shallow v0.10.0, gix-transport v0.55.1, gix-protocol v0.59.0, gix-status v0.28.0, gix-submodule v0.28.0, gix-worktree-state v0.28.0, gix v0.81.0, gix-fsck v0.19.0, gitoxide-core v0.55.0, gitoxide v0.52.0, safety bump 31 crates (
c389a2c) - Merge pull request #2454 from GitoxideLabs/dependabot/cargo/cargo-da044b9bb0 (
6183fd0) - Bump the cargo group with 68 updates (
6bdb331) - Merge branch 'release' (
9327b73) </details>
- Release gix-error v0.2.1, gix-date v0.15.1, gix-path v0.11.2, gix-features v0.46.2, gix-hash v0.23.0, gix-hashtable v0.13.0, gix-object v0.58.0, gix-packetline v0.21.2, gix-filter v0.28.0, gix-fs v0.19.2, gix-commitgraph v0.35.0, gix-revwalk v0.29.0, gix-traverse v0.55.0, gix-worktree-stream v0.30.0, gix-archive v0.30.0, gix-tempfile v21.0.2, gix-lock v21.0.2, gix-index v0.49.0, gix-pathspec v0.16.1, gix-ignore v0.19.1, gix-worktree v0.50.0, gix-diff v0.61.0, gix-blame v0.11.0, gix-ref v0.61.0, gix-sec v0.13.2, gix-config v0.54.0, gix-prompt v0.14.1, gix-credentials v0.37.1, gix-discover v0.49.0, gix-dir v0.23.0, gix-revision v0.43.0, gix-merge v0.14.0, gix-negotiate v0.29.0, gix-pack v0.68.0, gix-odb v0.78.0, gix-refspec v0.39.0, gix-shallow v0.10.0, gix-transport v0.55.1, gix-protocol v0.59.0, gix-status v0.28.0, gix-submodule v0.28.0, gix-worktree-state v0.28.0, gix v0.81.0, gix-fsck v0.19.0, gitoxide-core v0.55.0, gitoxide v0.52.0, safety bump 31 crates (
-
0.11.110 Feb 2026Release notes
Open source →Commit Statistics
<csr-read-only-do-not-edit/>
- 4 commits contributed to the release over the course of 19 calendar days.
- 19 days passed between releases.
- 0 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
- Uncategorized
- Release gix-error v0.1.0, gix-date v0.14.0, gix-actor v0.39.0, gix-trace v0.1.18, gix-path v0.11.1, gix-features v0.46.1, gix-hash v0.22.1, gix-object v0.56.0, gix-quote v0.6.2, gix-attributes v0.30.1, gix-command v0.7.1, gix-packetline v0.21.1, gix-filter v0.26.0, gix-fs v0.19.1, gix-chunk v0.6.0, gix-commitgraph v0.33.0, gix-revwalk v0.27.0, gix-traverse v0.53.0, gix-worktree-stream v0.28.0, gix-archive v0.28.0, gix-bitmap v0.2.16, gix-tempfile v21.0.1, gix-lock v21.0.1, gix-index v0.47.0, gix-config-value v0.17.1, gix-pathspec v0.15.1, gix-worktree v0.48.0, gix-diff v0.59.0, gix-blame v0.9.0, gix-ref v0.59.0, gix-sec v0.13.1, gix-config v0.52.0, gix-prompt v0.13.1, gix-url v0.35.1, gix-credentials v0.36.0, gix-discover v0.47.0, gix-dir v0.21.0, gix-mailmap v0.31.0, gix-revision v0.41.0, gix-merge v0.12.0, gix-negotiate v0.27.0, gix-pack v0.66.0, gix-odb v0.76.0, gix-refspec v0.37.0, gix-shallow v0.8.1, gix-transport v0.54.0, gix-protocol v0.57.0, gix-status v0.26.0, gix-submodule v0.26.0, gix-worktree-state v0.26.0, gix v0.79.0, safety bump 35 crates (
d66ac10) - Merge pull request #2407 from GitoxideLabs/dependabot/cargo/cargo-fb4135702f (
8bceefb) - Bump the cargo group with 59 updates (
7ce3c55) - Merge pull request #2393 from GitoxideLabs/report (
f7d0975) </details>
- Release gix-error v0.1.0, gix-date v0.14.0, gix-actor v0.39.0, gix-trace v0.1.18, gix-path v0.11.1, gix-features v0.46.1, gix-hash v0.22.1, gix-object v0.56.0, gix-quote v0.6.2, gix-attributes v0.30.1, gix-command v0.7.1, gix-packetline v0.21.1, gix-filter v0.26.0, gix-fs v0.19.1, gix-chunk v0.6.0, gix-commitgraph v0.33.0, gix-revwalk v0.27.0, gix-traverse v0.53.0, gix-worktree-stream v0.28.0, gix-archive v0.28.0, gix-bitmap v0.2.16, gix-tempfile v21.0.1, gix-lock v21.0.1, gix-index v0.47.0, gix-config-value v0.17.1, gix-pathspec v0.15.1, gix-worktree v0.48.0, gix-diff v0.59.0, gix-blame v0.9.0, gix-ref v0.59.0, gix-sec v0.13.1, gix-config v0.52.0, gix-prompt v0.13.1, gix-url v0.35.1, gix-credentials v0.36.0, gix-discover v0.47.0, gix-dir v0.21.0, gix-mailmap v0.31.0, gix-revision v0.41.0, gix-merge v0.12.0, gix-negotiate v0.27.0, gix-pack v0.66.0, gix-odb v0.76.0, gix-refspec v0.37.0, gix-shallow v0.8.1, gix-transport v0.54.0, gix-protocol v0.57.0, gix-status v0.26.0, gix-submodule v0.26.0, gix-worktree-state v0.26.0, gix v0.79.0, safety bump 35 crates (
-
0.11.022 Jan 2026Release notes
Open source →<csr-id-4d2d433e7e98ac42db858688edac06e68ee4d10d/>
Adapt to changes in
gix-featureswhich changeSend + SynctoSend + Clone. This happens to allow non-sync implementations (i.e. thread-local), along withSyncones which usually areClonetoo as they are passed by immutable reference (which isClone + Copy).Changed (BREAKING)
- <csr-id-bf04644ab75ed1969507f957dc8d4868790d462d/> remove
Option<impl Progress>in favor ofimpl Progress - <csr-id-d851bede97801096d188ff6af06c98a79fe276db/> remove unnecessary
Arcaroundshould_interruptflag - <csr-id-c2679a03358b9c19d63ed1af1cd57324c6381447/> remove Sha1 mentions in
index::verify::Mode::*variants The hash is repository defined and not hard-coded - <csr-id-51bf03feaa94bebb26690dff92262b2134070a44/> Remove lean plumbing CLI
Bug Fixes
- <csr-id-57ca0456cf02073099bfd403f9155290af756ecd/> Collect all stdout messages in line renderer as well Otherwise the threaded line renderer will interfere with genuine program output.
New Features
- <csr-id-384ed665c7423feca1b1ee1f81db10867fa813a8/>
gix mailmap verifycommand - <csr-id-70109bee679d33a5c5fb3a78a708b479684b03b1/>
ein find --debugto learn why it is slow - <csr-id-00909619ff04e247aabc9ffe3c025f0064c3092d/> --counting-threads flag to configure amount of threads when counting The efficiency of multi-threaded counting is low per core, and despite some speedups might be desirable, one might not want to commit all cores to this amount of waste.
- <csr-id-25da30f3652bd72c157e84439dd6e3957471fa08/> in-manifest and in-bin documentation of feature toggles Unfortunately, these don't show up on docs.rs due to it being a binary only crate. One could consider throwing in a lib just for good measure.
Commit Statistics
<csr-read-only-do-not-edit/>
- 63 commits contributed to the release over the course of 126 calendar days.
- 165 days passed between releases.
- 10 commits were understood as conventional.
- 12 unique issues were worked on: #215, #263, #266, #279, #287, #289, #293, #298, #301, #329, #366, #67
Commit Details
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
- #215
- #263
- #266
- Provide handle with a snapshot of the store's state (
6e0cd6d)
- Provide handle with a snapshot of the store's state (
- #279
- Fast-path multi-pack index verification in the CLI (
bcde935) - Basic multi-pack index creation (
89428b2) - 'index' with its own sub-commands (
c4c5678) - Even nicer printing (
d2bea27) - Remove
Option<impl Progress>in favor ofimpl Progress(bf04644) - Remove unnecessary
Arcaroundshould_interruptflag (d851bed) - Remove Sha1 mentions in
index::verify::Mode::*variants (c2679a0)
- Fast-path multi-pack index verification in the CLI (
- #287
- #289
- #293
- Faster writing to stdout/stderr for plumbing commands (
d04dc01) - Add 'index verify' subcommand to 'gix' (
1ac2c21) - Flag to hide extension details (
34ea001) - Print basic index information, including the tree extension (
9277cf8) - Basic entry information (
239e7b2) - Refactor (
8bf585d) - JSON output for index entries (
3fc1622)
- Faster writing to stdout/stderr for plumbing commands (
- #298
- #301
- Greatly simplify render-line logic (
a8fa53a) - Pass thread-limit along to checkout (
07e9081) - Add thread-count and chunk-size computation; interrupt capability (
8cbe85d) - A first sketch of access odb information using a sub-command (
89b628a) - Sub-command to print multi-index entries (
6c10e09) - Pack multi-index info subcommand (
21c2dd5) - Refactor (
e6a3d43) - Detailed report about issues after checkout (
613483b) - Keep-going support on the command-line (
73a7393) - Add tree-info subcommand to more easily test actual tree-traversal performance (
29fb0c8) - Frame for traversing tree entries (
0e55fbb) - Properly use 'max-performance' feature toggle to get pack caches :D (
a39d476) - Allow writing empty files during checkout but also query the odb (
5388d80) - Support for repo to write actual objects (
5494fb3) - Basic version of index checkout via command-line (
f23b8d2) - Support for unicode-precomposition for gix apps (
e90c123)
- Greatly simplify render-line logic (
- #329
- In-manifest and in-bin documentation of feature toggles (
25da30f)
- In-manifest and in-bin documentation of feature toggles (
- #366
- #67
- --counting-threads flag to configure amount of threads when counting (
0090961)
- --counting-threads flag to configure amount of threads when counting (
- Uncategorized
- Make fmt (
7cf3545) - Small build now uses the line renderer as well (
652a0ac) - Upgrade to prodash 19 (
90c6c5a) ein find --debugto learn why it is slow (70109be)- Fix clap warnings (
aa51e05) - Merge branch 'index-verification' (
ad3c803) - Merge branch 'index-information' (
025f157) - Improve CLI docs (
866530a) - Rename 'gix commitgraph' back to 'gix commit-graph' (
d6a72e7) - Merge branch 'use-midx-in-store' (
338521b) - Merge branch 'sync-db-draft' (
7d2e20c) - Thanks clippy (
b0f7328) </details>
- Make fmt (
Release notes
Open source →Commit Statistics
<csr-read-only-do-not-edit/>
- 1 commit contributed to the release.
- 61 days passed between releases.
- 0 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
- Uncategorized
- Release gix-error v0.0.0, gix-date v0.13.0, gix-actor v0.38.0, gix-validate v0.11.0, gix-path v0.11.0, gix-features v0.46.0, gix-hash v0.22.0, gix-hashtable v0.12.0, gix-object v0.55.0, gix-glob v0.24.0, gix-attributes v0.30.0, gix-command v0.7.0, gix-packetline v0.21.0, gix-filter v0.25.0, gix-fs v0.19.0, gix-chunk v0.5.0, gix-commitgraph v0.32.0, gix-revwalk v0.26.0, gix-traverse v0.52.0, gix-worktree-stream v0.27.0, gix-archive v0.27.0, gix-tempfile v21.0.0, gix-lock v21.0.0, gix-index v0.46.0, gix-config-value v0.17.0, gix-pathspec v0.15.0, gix-ignore v0.19.0, gix-worktree v0.47.0, gix-diff v0.58.0, gix-blame v0.8.0, gix-ref v0.58.0, gix-sec v0.13.0, gix-config v0.51.0, gix-prompt v0.13.0, gix-url v0.35.0, gix-credentials v0.35.0, gix-discover v0.46.0, gix-dir v0.20.0, gix-mailmap v0.30.0, gix-revision v0.40.0, gix-merge v0.11.0, gix-negotiate v0.26.0, gix-pack v0.65.0, gix-odb v0.75.0, gix-refspec v0.36.0, gix-shallow v0.8.0, gix-transport v0.53.0, gix-protocol v0.56.0, gix-status v0.25.0, gix-submodule v0.25.0, gix-worktree-state v0.25.0, gix v0.78.0, gix-fsck v0.17.0, gitoxide-core v0.53.0, gitoxide v0.50.0, safety bump 50 crates (
562e684) </details>
- Release gix-error v0.0.0, gix-date v0.13.0, gix-actor v0.38.0, gix-validate v0.11.0, gix-path v0.11.0, gix-features v0.46.0, gix-hash v0.22.0, gix-hashtable v0.12.0, gix-object v0.55.0, gix-glob v0.24.0, gix-attributes v0.30.0, gix-command v0.7.0, gix-packetline v0.21.0, gix-filter v0.25.0, gix-fs v0.19.0, gix-chunk v0.5.0, gix-commitgraph v0.32.0, gix-revwalk v0.26.0, gix-traverse v0.52.0, gix-worktree-stream v0.27.0, gix-archive v0.27.0, gix-tempfile v21.0.0, gix-lock v21.0.0, gix-index v0.46.0, gix-config-value v0.17.0, gix-pathspec v0.15.0, gix-ignore v0.19.0, gix-worktree v0.47.0, gix-diff v0.58.0, gix-blame v0.8.0, gix-ref v0.58.0, gix-sec v0.13.0, gix-config v0.51.0, gix-prompt v0.13.0, gix-url v0.35.0, gix-credentials v0.35.0, gix-discover v0.46.0, gix-dir v0.20.0, gix-mailmap v0.30.0, gix-revision v0.40.0, gix-merge v0.11.0, gix-negotiate v0.26.0, gix-pack v0.65.0, gix-odb v0.75.0, gix-refspec v0.36.0, gix-shallow v0.8.0, gix-transport v0.53.0, gix-protocol v0.56.0, gix-status v0.25.0, gix-submodule v0.25.0, gix-worktree-state v0.25.0, gix v0.78.0, gix-fsck v0.17.0, gitoxide-core v0.53.0, gitoxide v0.50.0, safety bump 50 crates (
- <csr-id-bf04644ab75ed1969507f957dc8d4868790d462d/> remove
-
0.10.2222 Nov 2025Release notes
Open source →Bug Fixes
- <csr-id-77e485d80bd0db6cb8d44ae45044b1b5db0d9645/> use
std::env::home_dir()and remove thehomecrate from dependencies.
Commit Statistics
<csr-read-only-do-not-edit/>
- 4 commits contributed to the release.
- 31 days passed between releases.
- 1 commit was understood as conventional.
- 1 unique issue was worked on: #2234
Commit Details
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
- #2234
- Use
std::env::home_dir()and remove thehomecrate from dependencies. (77e485d)
- Use
- Uncategorized
- Release gix-date v0.11.0, gix-actor v0.36.0, gix-path v0.10.22, gix-object v0.52.0, gix-packetline v0.20.0, gix-filter v0.22.0, gix-revwalk v0.23.0, gix-traverse v0.49.0, gix-worktree-stream v0.24.0, gix-archive v0.24.0, gix-index v0.43.0, gix-worktree v0.44.0, gix-diff v0.55.0, gix-blame v0.5.0, gix-ref v0.55.0, gix-config v0.48.0, gix-url v0.33.2, gix-credentials v0.32.0, gix-discover v0.43.0, gix-dir v0.17.0, gix-mailmap v0.28.0, gix-revision v0.37.0, gix-merge v0.8.0, gix-negotiate v0.23.0, gix-pack v0.62.0, gix-odb v0.72.0, gix-refspec v0.33.0, gix-transport v0.50.0, gix-protocol v0.53.0, gix-status v0.22.0, gix-submodule v0.22.0, gix-worktree-state v0.22.0, gix v0.75.0, gix-fsck v0.14.0, gitoxide-core v0.50.0, gitoxide v0.47.0, safety bump 32 crates (
82ff92f) - Merge pull request #2235 from GitoxideLabs/home (
cbb73ea) - Merge pull request #2224 from GitoxideLabs/report (
3313233) </details>
- Release gix-date v0.11.0, gix-actor v0.36.0, gix-path v0.10.22, gix-object v0.52.0, gix-packetline v0.20.0, gix-filter v0.22.0, gix-revwalk v0.23.0, gix-traverse v0.49.0, gix-worktree-stream v0.24.0, gix-archive v0.24.0, gix-index v0.43.0, gix-worktree v0.44.0, gix-diff v0.55.0, gix-blame v0.5.0, gix-ref v0.55.0, gix-config v0.48.0, gix-url v0.33.2, gix-credentials v0.32.0, gix-discover v0.43.0, gix-dir v0.17.0, gix-mailmap v0.28.0, gix-revision v0.37.0, gix-merge v0.8.0, gix-negotiate v0.23.0, gix-pack v0.62.0, gix-odb v0.72.0, gix-refspec v0.33.0, gix-transport v0.50.0, gix-protocol v0.53.0, gix-status v0.22.0, gix-submodule v0.22.0, gix-worktree-state v0.22.0, gix v0.75.0, gix-fsck v0.14.0, gitoxide-core v0.50.0, gitoxide v0.47.0, safety bump 32 crates (
- <csr-id-77e485d80bd0db6cb8d44ae45044b1b5db0d9645/> use
-
0.10.2122 Oct 2025Release notes
Open source →New Features
-
<csr-id-7e77d40fcae8dbca42459c42a1aacea2906a630c/> Extend
ALTERNATIVE_LOCATIONSfor per-user installations Whengitis not found in aPATHsearch on Windows, common locations where Git for Windows is often installed are checked. But only systemwide installations had been checked before.This extends the locations examined to include the current user's own program files directory. This directory, if present, is expected to be the
Programssubdirectory of the user's local application data directory, typically:C:\Users<user>\AppData\Local\Programs
When Git for Windows is installed for a user rather than systemwide, it is typically installed a
Gitsubdirectory of thatProgramsdirectory (much as it is typically installed in aGitsubdirectory of a directory such asC:\Program Fileswhen installed systemwide). This looks for a suitable Git for Windows directory tree at such a location.It is possible for Git for Windows installations to be present both in the current user's own program files directory and systemwide. If that happens, such that both kinds of installations are able to be found, then we choose the per-user installation.
This is based on the idea that an individual user may choose to install a newer or otherwise different version of Git for Windows, or that a developer may even test out a custom build by manually placing it in that directory. Because, in either case, the architecture of the Git for Windows executable may differ from what is currently installed systemwide or even from what is typically preferred, we will attempt to use a per-user build of any of the architectures Git for Windows has published, before then using the systemwide installations as done before.
Although the user program files directory is under the local rather than roaming application data directory, and is thus not shared across machines on a domain, it is possible that some techniques of backing up and restoring data may restore a per-user installation of Git for Windows that is for a different machine architecture that cannot run, or that the user would not want to be used. In that case, this enhancement may actually break something that was working before.
That seems fairly unlikely to occur, and it can be worked around by making a
gitcommand available in aPATHsearch. Nonetheless, if this is found to happen in practice, then further refinement of theALTERNATIVE_LOCATIONSenumeration order may be warranted. -
<csr-id-2d2c11b50edb429cb9da62dd185e50d47bc1afd2/> Extend
EXEPATHoptimization to support ARM64 Windows On Windows, thegix_path::env::system_prefix()function has two strategies. The first is an optimization that doesn't always work, where theEXEPATHenvironment variable is consulted. In Git Bash, this variable is usually available, pointing somewhere into the Git for Windows installation. Most commonly, but in practice not universally, it points to the top-level directory of the Git for Windows installation.system_prefix()on Windows looks for a subdirectory of this directory that is named for one of the MSYS2 environment https://www.msys2.org/docs/environments prefixes, of those Git for Windows has builds for. (Otherwise, it falls back to traversing to such a location upward from whatgit --exec-pathreveals, which is often slower asgitmust sometimes be run.)However, this
EXEPATHoptimization had only checked for themingw64andmingw32environment prefixes. This was ideal before ARM64 builds of Git for Windows were released. But since then, it is useful to allow theclangarm64environment prefix as well, to allow theEXEPATHoptimization to work on ARM64 builds of Git for Windows. This makes that change.
Bug Fixes
<csr-id-1fa24cd9380cf063aa1a29e01136282ac3bc92c3/> <csr-id-b24783accba4bdd39c0821564060a3b4f3745903/>
-
<csr-id-9000a848cfd94fcb20f0c07b3c366fc55fa4eb3c/> Don't use
EXEPATHunless it is absolute The first of two strategies used by thesystem_prefix()function on Windows is an optimization that looks forclangarm64,mingw64, ormingw32subdirectories of a directory whose path is given by the value of theEXEPATHenvironment variable. IfEXEPATHis absent, can't be interpreted as a path, or can be interpreted as a path but does not point to a directory that can be verified to contain such a subdirectory, then this optimization was already being skipped and the more reliable but sometimes slowergit --exec-path-based method used.However, when
EXEPATHcontains a relative path, including in the case where it is an empty string (which could be set by accident or if it is being used with some meaning other than what we and Git for Windows recognize), then it was still used, even though that would not usually be correct and would sometimes not be safe.Although an attacker is not expected to be able to control the value of
EXEPATH(nor most environment variables), a value such as an empty string would causeclangarm64,mingw64, andmingw32subdirectories of the current directory to be used.A user might intentionally set
EXEPATHto a relative path to leverage theEXEPATHoptimization ofsystem_prefix()with that path. ButEXEPATHis a short variable name with many plausible meanings that is not named with a distinctive prefix suchGIT_orGIX_. So it would not be a good tradeoff to continue recognizing it forsystem_prefix()anytime it is non-absoliute.Thus, as a stability fix and possible security enhancement, this adds a check that the value of
EXEPATHis an absolute path before proceeding with theEXEPATHoptimization. -
<csr-id-5ac8cffb16bcbda3ff53513671d533b33bd35a4f/> Skip
EXEPATHoptimization if it finds no best path TheEXEPATHoptimization forgix_path::env::system_prefix()on Windows previously tried https://www.msys2.org/docs/environments prefixes used by Git for Windows, returning a successful result on the first subdirectory found. However, ifEXEPATHpoints to a directory that contains more than one such subdirectory, then the subdirectory returned would not necessarily be the correct one.Getting more than one subdirectory is unlikely. It is expected that at most one of
clangarm64,mingw64, andmingw32will be present. However, there are at least three ways it could happen:EXEPATHhas the intended meaning as the root of a Git for Windows installation, but the directory it refers to contains multiple directories left over from a previous installation. A corresponding scenario applies toALTERNATIVE_LOCATIONS, but it is resolved by checking all the directories in a reasonable order. Here, we are not checking the contents of the directories, so no matter what order we look for them in, picking one when there are others risks picking the wrong one.
-
EXEPATHhas the intended meaning as the root of a Git for Windows installation, but it is a custom installation produced from local build or custom distribution rather than an official build, and it contains multiple such directories because it carries binaries built against more than one of the targets (even if only one of them hasgititself). A corresponding scenario is fairly unlikely forALTERNATIVE_LOCATIONS, because a custom MSYS2 tree, even if created using the Git for Windows SDK, would probably not be installed in one of the common Git for Windows installation locations, without considering the effects of doing so. In contrast,EXEPATHwill often be set in a Git Bash environment even in a highly customized Git for Windows tree. -
EXEPATHhas a different meaning from what is intended. For example, the user might set it to the root of an ordinary MSYS2 installation. (Note that it is also likely to have various other meanings even more different from these, but those won't likely cause theEXEPATHoptimization to be used when it shouldn't, because most possible meanings ofEXEPATHwon't involve a subdirectory of any of the names we look for. -
To limit production dependencies and code complexity, we have been examining only environment variables (and information available at build time) to ascertain which program files directories exist and whether they are 64-bit or 32-bit program files directories. At least for now, this preserves that general approach, continuing not to explicitly call Windows API functions or access the Windows registry, other than in tests.
-
But determining from environment variables whether the system is ARM64 or x86_64 is less straightforward than determining the program files directory locations, in one major case as well as various edge cases.
-
That process should make available all of the
ProgramFiles,ProgramW6432,ProgramFiles(x86), andProgramFiles(ARM)variables that exist in its own environment.(This is because, on 64-bit Windows, the child
ProgramFilesis populated from the parentProgramW6432,ProgramFiles(x86), orProgramFiles(ARM), depending on the architectures of the parent and child, if the parent passes down the relevant variable.) -
Even if the parent/ancestor is not designed with the WoW64 rules in mind, it will likely pass down at least
ProgramFiles.This will then be used as the child
ProgramFiles, if whichever ofProgramFilesW6432,ProgramFiles(x86), orProgramFiles(ARM)is relevant is not passed down by the parent. -
In contrast, the parent/ancestor may omit the variables
PROCESSOR_ARCHITECTUREandPROCESSOR_ARCHITEW6432, which are not obviously needed for locating programs.In and of itself, this is not necessarily a problem, because on ARM64 Windows, at least one of the two will still be set automatically. (Even if the parent process runs us with an explicitly empty environment, we will get one of these, on ARM64 Windows.)
However, in this case, as in others, it will generally be set according to our process architecture, rather than the system architecture.
-
Thus, even if
PROCESSOR_ARCHITE*variables are preserved or set correctly, there are common cases where they are not sufficient.The main such case is when we are an x86_64 build, but the system is ARM64, and Git for Windows is ARM64.
gix-pathis a library crate, and it will sometimes to be used in an x86_64 program on such a system.Also, if
gix-pathis used in an Arm64EC program, then even though its code may be ARM64 with thearm64ec-pc-windows-msvcRust target, the program would still be treated as an x86_64 program in its interactions with the system and other programs, including in how its environment variables' values are populated and how their values are affected by WoW64.(
gix-pathmay also be x86_64 code where the program is Arm64EC. One way this happens is ifgix-pathis used in an x86_64 DLL, and an Arm64EC program loads the DLL. Using x86_64 DLLs from ARM64 code is one of the reasons a program may target Arm64EC. In this case, the Rust target will be for x86_64, not ARM64 or Arm64EC. So checking our own Rust build target can't fully check if the program is Arm64EC.) -
Although the
PROCESSOR_IDENTIFIERvariable is more reliable if present--see actions/partner-runner-images#117 for an example of where this is more reliable thanPROCESSOR_ARCHITECTURE--it is slightly more complex to parse. Much more importantly, unlikePROCESSOR_ARCHITE*, thePROCESSOR_IDENTIFIERvariable is not set automatically in a child process whose parent/ancestor has removed it. Whether or not a parent/ancestor passes downPROCESSOR_ARCHITE*variables, it may still not choose to letPROCESSOR_IDENTIFIERthrough, if it sanitizes the environment. -
It would sometimes work to look for
ProgramFiles(ARM). This environment variable, if present, gives the 32-bit ARM program files directory location on an ARM64 Windows system. If set, then the Windows system could be treated as ARM64. However, a parent/ancestor process may omit this even when passing down program files related environment variables, includingProgramFiles(x86). It may do so because theProgramFiles(ARM)environment variable is less well known. Or it may omit it intentionally, if the parent process is only passing down variables needed to find Git for Windows, for which one shouldn't need to know the 32-bit ARM program files directory location, since Git for Windows has never had 32-bit ARM builds.Relatedly, augmenting the search by checking the filesystem for a sibling (or hard-coded) directory named
Program Files (ARM)should not be done, because this directory has no special meaning outside of ARM64 Windows. It may therefore be left over from a previous installation or migration, or even created by a local user as in the CVE-2024-40644 scenario patched in #1456.
Commit Statistics
<csr-read-only-do-not-edit/>
- 40 commits contributed to the release over the course of 79 calendar days.
- 80 days passed between releases.
- 6 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
- Uncategorized
- Release gix-date v0.10.6, gix-utils v0.3.1, gix-actor v0.35.5, gix-trace v0.1.14, gix-validate v0.10.1, gix-path v0.10.21, gix-features v0.44.0, gix-hash v0.20.0, gix-hashtable v0.10.0, gix-object v0.51.0, gix-glob v0.22.0, gix-quote v0.6.1, gix-attributes v0.28.0, gix-command v0.6.3, gix-packetline-blocking v0.19.2, gix-filter v0.21.0, gix-fs v0.17.0, gix-chunk v0.4.12, gix-commitgraph v0.30.0, gix-revwalk v0.22.0, gix-traverse v0.48.0, gix-worktree-stream v0.23.0, gix-archive v0.23.0, gix-bitmap v0.2.15, gix-tempfile v19.0.0, gix-lock v19.0.0, gix-index v0.42.0, gix-config-value v0.15.2, gix-pathspec v0.13.0, gix-ignore v0.17.0, gix-worktree v0.43.0, gix-diff v0.54.0, gix-blame v0.4.0, gix-ref v0.54.0, gix-sec v0.12.1, gix-config v0.47.0, gix-prompt v0.11.2, gix-url v0.33.0, gix-credentials v0.31.0, gix-discover v0.42.0, gix-dir v0.16.0, gix-mailmap v0.27.3, gix-revision v0.36.0, gix-merge v0.7.0, gix-negotiate v0.22.0, gix-pack v0.61.0, gix-odb v0.71.0, gix-refspec v0.32.0, gix-shallow v0.6.0, gix-packetline v0.19.2, gix-transport v0.49.0, gix-protocol v0.52.0, gix-status v0.21.0, gix-submodule v0.21.0, gix-worktree-state v0.21.0, gix v0.74.0, gix-fsck v0.13.0, gitoxide-core v0.49.0, gitoxide v0.46.0, safety bump 42 crates (
89fb308) - Merge pull request #2217 from GitoxideLabs/copilot/update-msrv-to-rust-1-82 (
4da2927) - Update MSRV to 1.82 and replace once_cell with std equivalents (
6cc8464) - Merge pull request #2202 from GitoxideLabs/dependabot/cargo/cargo-4a7155215a (
9365cc3) - Bump the cargo group across 1 directory with 64 updates (
838ff95) - Merge pull request #2134 from EliahKagan/user-program-files (
2fffc50) - Extend
ALTERNATIVE_LOCATIONSfor per-user installations (7e77d40) - Migrate remaining
known-foldersusage towindows(082e22e) - Clarify safety at and around
SHGetKnownFolderPathcall (998fb48) - Get
UserProgramFileswithKF_FLAG_DONT_VERIFYfor test (1c7a34e) - Update alternative location unit tests for user program files (
c9ff0ac) - Fix user program files alternative locations expectations (
cab4c85) - Update alternative locations integration tests for user program files (
9e71d55) - Merge pull request #2133 from EliahKagan/program-files-next (
e365244) - Add a "SAFETY:" comment in
PlatformBitness::current()(1f3edb5) - Move the vacuous case outside the "ordinary" group (
eec407f) - Rename cases to clarify "ordinary" and "strange" (
edc0f3c) - Divide up
locations_under_program_files_*assertions (35beea1) - Clarify which global program files paths are used and why (
fd000f5) - Merge pull request #2115 from EliahKagan/run-ci/arm-windows (
c2c8c2f) - Don't use
EXEPATHunless it is absolute (9000a84) - Test that relative
EXEPATHdoesn't trigger the optimization (f4bb773) - Factor out shared code to a helper (
84f9672) - Test that empty
EXEPATHdoesn't trigger the optimization (24c11ac) - Skip
EXEPATHoptimization if it finds no best path (5ac8cff) - Extend
EXEPATHoptimization to support ARM64 Windows (2d2c11b) - Refactor slices in test cases for readability (
d5f4c9f) - Test the
EXEPATHoptimization ofsystem_prefix()(2b0639b) - Extract
system_prefix()Windows strategies to helpers (3b304fa) - Update outdated
expect()message in test helper (571ca6e) - Rename
PlatformArchitecturehelperPlatformBitness(5bf265b) - Further refactor
rulesloop inlocations_under_program_files(2c6dcb2) - Clarify
rulesloop inlocations_under_program_files(d06b89d) - Extend
ALTERNATIVE_LOCATIONSfor ARM64 Windows (1fa24cd) - Tweak formatting to fix lint (
4662233) - Update alternative locations unit tests for ARM64 (
ff3df53) - Update alternative locations integration tests for ARM64 (
e9770a7) - Copyedit
gix_path::env::gitcomments (8d2c262) - Use
nulinstead ofNULon Windows (b24783a) - Merge pull request #2100 from GitoxideLabs/release (
202bc6d) </details>
- Release gix-date v0.10.6, gix-utils v0.3.1, gix-actor v0.35.5, gix-trace v0.1.14, gix-validate v0.10.1, gix-path v0.10.21, gix-features v0.44.0, gix-hash v0.20.0, gix-hashtable v0.10.0, gix-object v0.51.0, gix-glob v0.22.0, gix-quote v0.6.1, gix-attributes v0.28.0, gix-command v0.6.3, gix-packetline-blocking v0.19.2, gix-filter v0.21.0, gix-fs v0.17.0, gix-chunk v0.4.12, gix-commitgraph v0.30.0, gix-revwalk v0.22.0, gix-traverse v0.48.0, gix-worktree-stream v0.23.0, gix-archive v0.23.0, gix-bitmap v0.2.15, gix-tempfile v19.0.0, gix-lock v19.0.0, gix-index v0.42.0, gix-config-value v0.15.2, gix-pathspec v0.13.0, gix-ignore v0.17.0, gix-worktree v0.43.0, gix-diff v0.54.0, gix-blame v0.4.0, gix-ref v0.54.0, gix-sec v0.12.1, gix-config v0.47.0, gix-prompt v0.11.2, gix-url v0.33.0, gix-credentials v0.31.0, gix-discover v0.42.0, gix-dir v0.16.0, gix-mailmap v0.27.3, gix-revision v0.36.0, gix-merge v0.7.0, gix-negotiate v0.22.0, gix-pack v0.61.0, gix-odb v0.71.0, gix-refspec v0.32.0, gix-shallow v0.6.0, gix-packetline v0.19.2, gix-transport v0.49.0, gix-protocol v0.52.0, gix-status v0.21.0, gix-submodule v0.21.0, gix-worktree-state v0.21.0, gix v0.74.0, gix-fsck v0.13.0, gitoxide-core v0.49.0, gitoxide v0.46.0, safety bump 42 crates (
-
-
0.10.2003 Aug 2025Release notes
Open source →A maintenance release without user-facing changes.
Commit Statistics
<csr-read-only-do-not-edit/>
- 5 commits contributed to the release over the course of 19 calendar days.
- 19 days passed between releases.
- 0 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
- Uncategorized
- Release gix-actor v0.35.3, gix-path v0.10.20, gix-features v0.43.1, gix-object v0.50.1 (
d64f257) - Prepare changelogs prior to release. (
5e0122d) - Merge pull request #2090 from GitoxideLabs/dependabot/cargo/cargo-f147714000 (
473fe52) - Bump the cargo group with 41 updates (
428412c) - Merge pull request #2075 from GitoxideLabs/improvements (
784c046) </details>
- Release gix-actor v0.35.3, gix-path v0.10.20, gix-features v0.43.1, gix-object v0.50.1 (
-
0.10.1915 Jul 2025Release notes
Open source →<csr-id-45b369c65e7d36d42c8250b020ea5523615046e3/>
Commit Statistics
<csr-read-only-do-not-edit/>
- 6 commits contributed to the release over the course of 65 calendar days.
- 66 days passed between releases.
- 1 commit was understood as conventional.
- 1 unique issue was worked on: #2074
Commit Details
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
- #2074
- Improve and correct
normalize()documentation (45b369c)
- Improve and correct
- Uncategorized
- Release gix-date v0.10.3, gix-actor v0.35.2, gix-trace v0.1.13, gix-path v0.10.19, gix-features v0.43.0, gix-hash v0.19.0, gix-hashtable v0.9.0, gix-object v0.50.0, gix-glob v0.21.0, gix-attributes v0.27.0, gix-command v0.6.2, gix-packetline-blocking v0.19.1, gix-filter v0.20.0, gix-fs v0.16.0, gix-commitgraph v0.29.0, gix-revwalk v0.21.0, gix-traverse v0.47.0, gix-worktree-stream v0.22.0, gix-archive v0.22.0, gix-tempfile v18.0.0, gix-lock v18.0.0, gix-index v0.41.0, gix-config-value v0.15.1, gix-pathspec v0.12.0, gix-ignore v0.16.0, gix-worktree v0.42.0, gix-diff v0.53.0, gix-blame v0.3.0, gix-ref v0.53.0, gix-sec v0.12.0, gix-config v0.46.0, gix-prompt v0.11.1, gix-url v0.32.0, gix-credentials v0.30.0, gix-discover v0.41.0, gix-dir v0.15.0, gix-mailmap v0.27.2, gix-revision v0.35.0, gix-merge v0.6.0, gix-negotiate v0.21.0, gix-pack v0.60.0, gix-odb v0.70.0, gix-refspec v0.31.0, gix-shallow v0.5.0, gix-packetline v0.19.1, gix-transport v0.48.0, gix-protocol v0.51.0, gix-status v0.20.0, gix-submodule v0.20.0, gix-worktree-state v0.20.0, gix v0.73.0, gix-fsck v0.12.0, gitoxide-core v0.48.0, gitoxide v0.45.0, safety bump 43 crates (
5a919c4) - Update changelogs prior to release (
65037b5) - Merge pull request #2070 from GitoxideLabs/dependabot/cargo/cargo-827bceb7eb (
dab97f7) - Bump the cargo group across 1 directory with 68 updates (
a9a8ea1) - Merge pull request #2009 from GitoxideLabs/release-gix-index (
c3f06ae) </details>
- Release gix-date v0.10.3, gix-actor v0.35.2, gix-trace v0.1.13, gix-path v0.10.19, gix-features v0.43.0, gix-hash v0.19.0, gix-hashtable v0.9.0, gix-object v0.50.0, gix-glob v0.21.0, gix-attributes v0.27.0, gix-command v0.6.2, gix-packetline-blocking v0.19.1, gix-filter v0.20.0, gix-fs v0.16.0, gix-commitgraph v0.29.0, gix-revwalk v0.21.0, gix-traverse v0.47.0, gix-worktree-stream v0.22.0, gix-archive v0.22.0, gix-tempfile v18.0.0, gix-lock v18.0.0, gix-index v0.41.0, gix-config-value v0.15.1, gix-pathspec v0.12.0, gix-ignore v0.16.0, gix-worktree v0.42.0, gix-diff v0.53.0, gix-blame v0.3.0, gix-ref v0.53.0, gix-sec v0.12.0, gix-config v0.46.0, gix-prompt v0.11.1, gix-url v0.32.0, gix-credentials v0.30.0, gix-discover v0.41.0, gix-dir v0.15.0, gix-mailmap v0.27.2, gix-revision v0.35.0, gix-merge v0.6.0, gix-negotiate v0.21.0, gix-pack v0.60.0, gix-odb v0.70.0, gix-refspec v0.31.0, gix-shallow v0.5.0, gix-packetline v0.19.1, gix-transport v0.48.0, gix-protocol v0.51.0, gix-status v0.20.0, gix-submodule v0.20.0, gix-worktree-state v0.20.0, gix v0.73.0, gix-fsck v0.12.0, gitoxide-core v0.48.0, gitoxide v0.45.0, safety bump 43 crates (
-
0.10.1810 May 2025Release notes
Open source →A maintenance release without user-facing changes.
Commit Statistics
<csr-read-only-do-not-edit/>
- 5 commits contributed to the release over the course of 14 calendar days.
- 14 days passed between releases.
- 0 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Thanks Clippy
<csr-read-only-do-not-edit/>
Clippy helped 1 time to make code idiomatic.
Commit Details
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
- Uncategorized
- Release gix-path v0.10.18, gix-date v0.10.2, gix-traverse v0.46.2, gix-index v0.40.1 (
d2b4c44) - Prepare changelogs prior to release of
gix-index(bfc4880) - Merge pull request #1975 from GitoxideLabs/improvements (
28935a5) - Thanks clippy (
dbf65c9) - Merge pull request #1971 from GitoxideLabs/new-release (
8d4c4d1) </details>
- Release gix-path v0.10.18, gix-date v0.10.2, gix-traverse v0.46.2, gix-index v0.40.1 (
-
0.10.1726 Apr 2025Release notes
Open source →Commit Statistics
<csr-read-only-do-not-edit/>
- 3 commits contributed to the release.
- 1 day passed between releases.
- 0 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
- Uncategorized
- Release gix-date v0.10.1, gix-utils v0.3.0, gix-actor v0.35.1, gix-validate v0.10.0, gix-path v0.10.17, gix-features v0.42.1, gix-hash v0.18.0, gix-hashtable v0.8.1, gix-object v0.49.1, gix-glob v0.20.0, gix-quote v0.6.0, gix-attributes v0.26.0, gix-command v0.6.0, gix-packetline-blocking v0.19.0, gix-filter v0.19.1, gix-fs v0.15.0, gix-commitgraph v0.28.0, gix-revwalk v0.20.1, gix-traverse v0.46.1, gix-worktree-stream v0.21.1, gix-archive v0.21.1, gix-tempfile v17.1.0, gix-lock v17.1.0, gix-index v0.40.0, gix-config-value v0.15.0, gix-pathspec v0.11.0, gix-ignore v0.15.0, gix-worktree v0.41.0, gix-diff v0.52.1, gix-blame v0.2.1, gix-ref v0.52.1, gix-sec v0.11.0, gix-config v0.45.1, gix-prompt v0.11.0, gix-url v0.31.0, gix-credentials v0.29.0, gix-discover v0.40.1, gix-dir v0.14.1, gix-mailmap v0.27.1, gix-revision v0.34.1, gix-merge v0.5.1, gix-negotiate v0.20.1, gix-pack v0.59.1, gix-odb v0.69.1, gix-refspec v0.30.1, gix-shallow v0.4.0, gix-packetline v0.19.0, gix-transport v0.47.0, gix-protocol v0.50.1, gix-status v0.19.1, gix-submodule v0.19.1, gix-worktree-state v0.19.0, gix v0.72.1, gix-fsck v0.11.1, gitoxide-core v0.47.1, gitoxide v0.44.0 (
e104545) - Bump all prior pratch levels to majors (
5f7f805) - Merge pull request #1969 from GitoxideLabs/new-release (
631f07a) </details>
- Release gix-date v0.10.1, gix-utils v0.3.0, gix-actor v0.35.1, gix-validate v0.10.0, gix-path v0.10.17, gix-features v0.42.1, gix-hash v0.18.0, gix-hashtable v0.8.1, gix-object v0.49.1, gix-glob v0.20.0, gix-quote v0.6.0, gix-attributes v0.26.0, gix-command v0.6.0, gix-packetline-blocking v0.19.0, gix-filter v0.19.1, gix-fs v0.15.0, gix-commitgraph v0.28.0, gix-revwalk v0.20.1, gix-traverse v0.46.1, gix-worktree-stream v0.21.1, gix-archive v0.21.1, gix-tempfile v17.1.0, gix-lock v17.1.0, gix-index v0.40.0, gix-config-value v0.15.0, gix-pathspec v0.11.0, gix-ignore v0.15.0, gix-worktree v0.41.0, gix-diff v0.52.1, gix-blame v0.2.1, gix-ref v0.52.1, gix-sec v0.11.0, gix-config v0.45.1, gix-prompt v0.11.0, gix-url v0.31.0, gix-credentials v0.29.0, gix-discover v0.40.1, gix-dir v0.14.1, gix-mailmap v0.27.1, gix-revision v0.34.1, gix-merge v0.5.1, gix-negotiate v0.20.1, gix-pack v0.59.1, gix-odb v0.69.1, gix-refspec v0.30.1, gix-shallow v0.4.0, gix-packetline v0.19.0, gix-transport v0.47.0, gix-protocol v0.50.1, gix-status v0.19.1, gix-submodule v0.19.1, gix-worktree-state v0.19.0, gix v0.72.1, gix-fsck v0.11.1, gitoxide-core v0.47.1, gitoxide v0.44.0 (
-
0.10.1625 Apr 2025 withdrawnRelease notes
Open source →New Features
- <csr-id-9f8a468cfb8730fcb0f88cbf62e559cb369fdb42/> Add
&gix_path::RelativePath. It's a utility to assure functions get the right input, i.e. a type-safe version of what previously was&BStr
Commit Statistics
<csr-read-only-do-not-edit/>
- 13 commits contributed to the release.
- 21 days passed between releases.
- 1 commit was understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
- Uncategorized
- Release gix-path v0.10.16, gix-features v0.42.0, gix-hash v0.17.1, gix-object v0.49.0, gix-glob v0.19.1, gix-quote v0.5.1, gix-attributes v0.25.1, gix-command v0.5.1, gix-packetline-blocking v0.18.4, gix-filter v0.19.0, gix-fs v0.14.1, gix-commitgraph v0.27.1, gix-revwalk v0.20.0, gix-traverse v0.46.0, gix-worktree-stream v0.21.0, gix-archive v0.21.0, gix-tempfile v17.0.1, gix-lock v17.0.1, gix-index v0.39.1, gix-config-value v0.14.13, gix-pathspec v0.10.1, gix-ignore v0.14.1, gix-worktree v0.40.1, gix-diff v0.52.0, gix-blame v0.2.0, gix-ref v0.52.0, gix-sec v0.10.13, gix-config v0.45.0, gix-prompt v0.10.1, gix-url v0.30.1, gix-credentials v0.28.1, gix-discover v0.40.0, gix-dir v0.14.0, gix-mailmap v0.27.0, gix-revision v0.34.0, gix-merge v0.5.0, gix-negotiate v0.20.0, gix-pack v0.59.0, gix-odb v0.69.0, gix-refspec v0.30.0, gix-shallow v0.3.1, gix-packetline v0.18.5, gix-transport v0.46.1, gix-protocol v0.50.0, gix-status v0.19.0, gix-submodule v0.19.0, gix-worktree-state v0.18.1, gix v0.72.0, gix-fsck v0.11.0, gitoxide-core v0.47.0, gitoxide v0.43.0 (
cc5b696) - Adjusting changelogs prior to release of gix-path v0.10.16, gix-features v0.42.0, gix-hash v0.17.1, gix-object v0.49.0, gix-glob v0.19.1, gix-quote v0.5.1, gix-attributes v0.25.1, gix-command v0.5.1, gix-packetline-blocking v0.18.4, gix-filter v0.19.0, gix-fs v0.14.1, gix-commitgraph v0.27.1, gix-revwalk v0.20.0, gix-traverse v0.46.0, gix-worktree-stream v0.21.0, gix-archive v0.21.0, gix-tempfile v17.0.1, gix-lock v17.0.1, gix-index v0.39.1, gix-config-value v0.14.13, gix-pathspec v0.10.1, gix-ignore v0.14.1, gix-worktree v0.40.1, gix-diff v0.52.0, gix-blame v0.2.0, gix-ref v0.52.0, gix-sec v0.10.13, gix-config v0.45.0, gix-prompt v0.10.1, gix-url v0.30.1, gix-credentials v0.28.1, gix-discover v0.40.0, gix-dir v0.14.0, gix-mailmap v0.27.0, gix-revision v0.34.0, gix-merge v0.5.0, gix-negotiate v0.20.0, gix-pack v0.59.0, gix-odb v0.69.0, gix-refspec v0.30.0, gix-shallow v0.3.1, gix-packetline v0.18.5, gix-transport v0.46.1, gix-protocol v0.50.0, gix-status v0.19.0, gix-submodule v0.19.0, gix-worktree-state v0.18.1, gix v0.72.0, gix-fsck v0.11.0, gitoxide-core v0.47.0, gitoxide v0.43.0, safety bump 7 crates (
49fa9f3) - Release gix-date v0.10.0, gix-utils v0.2.1, gix-actor v0.35.0, gix-validate v0.9.5, gix-path v0.10.15, gix-features v0.42.0, gix-hash v0.17.1, gix-object v0.49.0, gix-glob v0.19.1, gix-quote v0.5.1, gix-attributes v0.25.0, gix-command v0.5.1, gix-packetline-blocking v0.18.4, gix-filter v0.19.0, gix-fs v0.14.0, gix-commitgraph v0.27.1, gix-revwalk v0.20.0, gix-traverse v0.46.0, gix-worktree-stream v0.21.0, gix-archive v0.21.0, gix-tempfile v17.0.1, gix-lock v17.0.1, gix-index v0.39.0, gix-config-value v0.14.13, gix-pathspec v0.10.1, gix-ignore v0.14.1, gix-worktree v0.40.0, gix-diff v0.52.0, gix-blame v0.2.0, gix-ref v0.51.0, gix-sec v0.10.13, gix-config v0.45.0, gix-prompt v0.10.1, gix-url v0.30.1, gix-credentials v0.28.1, gix-discover v0.40.0, gix-dir v0.14.0, gix-mailmap v0.27.0, gix-revision v0.34.0, gix-merge v0.5.0, gix-negotiate v0.20.0, gix-pack v0.59.0, gix-odb v0.69.0, gix-refspec v0.30.0, gix-shallow v0.3.1, gix-packetline v0.18.5, gix-transport v0.46.0, gix-protocol v0.50.0, gix-status v0.19.0, gix-submodule v0.19.0, gix-worktree-state v0.18.0, gix v0.72.0, gix-fsck v0.11.0, gitoxide-core v0.46.0, gitoxide v0.43.0, safety bump 30 crates (
db0b095) - Update changelogs prior to release (
0bf84db) - Merge pull request #1935 from pierrechevalier83/fix_1923 (
3b1bef7) - J fmt (
c3c6504) - Merge pull request #1921 from cruessler/introduce-repository-path (
fdc06b1) - Refactor (
294902e) - Add
&gix_path::RelativePath. (9f8a468) - Merge pull request #1949 from GitoxideLabs/dependabot/cargo/cargo-6893e2988a (
b5e9059) - Adapt
gix-pathtests to changes inwindows(2fc48a1) - Bump the cargo group with 21 updates (
68e6b2e) - Merge pull request #1919 from GitoxideLabs/release (
420e730) </details>
- Release gix-path v0.10.16, gix-features v0.42.0, gix-hash v0.17.1, gix-object v0.49.0, gix-glob v0.19.1, gix-quote v0.5.1, gix-attributes v0.25.1, gix-command v0.5.1, gix-packetline-blocking v0.18.4, gix-filter v0.19.0, gix-fs v0.14.1, gix-commitgraph v0.27.1, gix-revwalk v0.20.0, gix-traverse v0.46.0, gix-worktree-stream v0.21.0, gix-archive v0.21.0, gix-tempfile v17.0.1, gix-lock v17.0.1, gix-index v0.39.1, gix-config-value v0.14.13, gix-pathspec v0.10.1, gix-ignore v0.14.1, gix-worktree v0.40.1, gix-diff v0.52.0, gix-blame v0.2.0, gix-ref v0.52.0, gix-sec v0.10.13, gix-config v0.45.0, gix-prompt v0.10.1, gix-url v0.30.1, gix-credentials v0.28.1, gix-discover v0.40.0, gix-dir v0.14.0, gix-mailmap v0.27.0, gix-revision v0.34.0, gix-merge v0.5.0, gix-negotiate v0.20.0, gix-pack v0.59.0, gix-odb v0.69.0, gix-refspec v0.30.0, gix-shallow v0.3.1, gix-packetline v0.18.5, gix-transport v0.46.1, gix-protocol v0.50.0, gix-status v0.19.0, gix-submodule v0.19.0, gix-worktree-state v0.18.1, gix v0.72.0, gix-fsck v0.11.0, gitoxide-core v0.47.0, gitoxide v0.43.0 (
- <csr-id-9f8a468cfb8730fcb0f88cbf62e559cb369fdb42/> Add
-
0.10.1504 Apr 2025Release notes
Open source →<csr-id-028635165ddd98322d8b902fe0714fe2d0699a3e/>
Bug Fixes
<csr-id-10af2d005fbe92a289be01492206c6e8a38ab0bd/>
-
<csr-id-1f269b0d5aa958f25423db1f83d144781bf22024/> Check prefix and prefer shim in
gix_path::env::shell()This makes a few changes to makeshell()more robust:- Check the last two components of the path
git --exec-pathgave, to make sure they arelibexec/git-core.
- Check the last two components of the path
-
Check the grandparent component (that
../..would go to) of the pathgit --exec-pathgave, to make sure it is recognized name of a platform-specificusr-like directory that has been used in MSYS2.This is to avoid traversing up out of less common directory trees that have some different and shallower structure than found in a typical Git for Windows or MSYS2 installation.
-
Instead of using only the
(git root)/usr/bin/sh.exenon-shim, prefer the(git root)/bin/sh.exeshim. If that is not found, fall back to the(git root)/usr/bin/sh.exenon-shim, mainly to support the Git for Windows SDK, which doesn't have the shim.The reason to prefer the shim is that it sets environment variables, including prepending
bindirectories that provide tools one would expect to have when using it. Without this, common POSIX commands may be unavailable, or different and incompatible implementations of them may be found.In particular, if they are found in a different MSYS2 installation whose
msys-2.0.dllis of a different version or otherwise a different build, then calling them directly may produce strange behavior. See:- https://cygwin.com/faq.html#faq.using.multiple-copies
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
This makes things more robust overall than either preferring the non-shim or just doing a path search for
shas was done before that. But it exacerbates #1868 (as described there), so if the Git for Windowssh.exeshim continues to work as it currently does, then further improvements may be called for here.- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
- https://github.com/GitoxideLabs/gitoxide/pull/1862#issuecomment-2692158831
-
Adding components with
/separators. While in principle a\should work, the path of the shell itself is used in shell scripts (script files andsh -coperands) that may not account for the presence of backslashes, and it is also harder to read paths with\in contexts where it appears escaped, which may include various messages from Rust code and shell scripts.The path before what we add will already use
/and never\, unlessGIT_EXEC_PATHhas been set to a strange value, because it is based ongit --exec-path, which by default gives a path with/separators. Thus, ensuring that the part we add uses/should be sufficient to get a path without\in all cases when it is clearly reasonable to do so. This therefore also usually increases stylistic consistency of the path, which is another factor that makes it more user-friendly in messages.This is needed to get tests to pass since changing
gix-commandto usegix_path::env::shell()on Windows, where a path is formatted in away that sometimes quotes\characters. Their expectations could be adjusted, but it seems likely that various other software, much of which may otherwise be working, has similar expectations. Using/instead of\works whether\is expected to be displayed quoted or not. -
Check that the path to the shell plausibly has a shell there, only using it if it a file or a non-broken file symlink. When this is not the case, the fallback short name is used instead.
-
The fallback short name is changed from
shtosh.exe, since the.exesuffix is appended in other short names on Windows, such asgit.exe, as well as being part of the filename component of the path we build for the shell when using the implementation provided as part of Git for Windows.
Commit Statistics
<csr-read-only-do-not-edit/>
- 26 commits contributed to the release.
- 76 days passed between releases.
- 3 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Thanks Clippy
<csr-read-only-do-not-edit/>
Clippy helped 1 time to make code idiomatic.
Commit Details
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
- Uncategorized
- Release gix-date v0.9.4, gix-utils v0.2.0, gix-actor v0.34.0, gix-features v0.41.0, gix-hash v0.17.0, gix-hashtable v0.8.0, gix-path v0.10.15, gix-validate v0.9.4, gix-object v0.48.0, gix-glob v0.19.0, gix-quote v0.5.0, gix-attributes v0.25.0, gix-command v0.5.0, gix-packetline-blocking v0.18.3, gix-filter v0.18.0, gix-fs v0.14.0, gix-commitgraph v0.27.0, gix-revwalk v0.19.0, gix-traverse v0.45.0, gix-worktree-stream v0.20.0, gix-archive v0.20.0, gix-tempfile v17.0.0, gix-lock v17.0.0, gix-index v0.39.0, gix-config-value v0.14.12, gix-pathspec v0.10.0, gix-ignore v0.14.0, gix-worktree v0.40.0, gix-diff v0.51.0, gix-blame v0.1.0, gix-ref v0.51.0, gix-config v0.44.0, gix-prompt v0.10.0, gix-url v0.30.0, gix-credentials v0.28.0, gix-discover v0.39.0, gix-dir v0.13.0, gix-mailmap v0.26.0, gix-revision v0.33.0, gix-merge v0.4.0, gix-negotiate v0.19.0, gix-pack v0.58.0, gix-odb v0.68.0, gix-refspec v0.29.0, gix-shallow v0.3.0, gix-packetline v0.18.4, gix-transport v0.46.0, gix-protocol v0.49.0, gix-status v0.18.0, gix-submodule v0.18.0, gix-worktree-state v0.18.0, gix v0.71.0, gix-fsck v0.10.0, gitoxide-core v0.46.0, gitoxide v0.42.0, safety bump 48 crates (
b41312b) - Update changelogs prior to release (
38dff41) - Merge pull request #1907 from EliahKagan/run-ci/raw (
7b17da6) - Use raw literals for more strings with backslashes (
01bd76d) - Merge pull request #1862 from EliahKagan/run-ci/consistent-sh (
0ba3147) - Compile the new tests on all platforms (
b70cdb1) - Expand
git_for_windows_root()comments (c824b92) - Add some tests for finding associated executables (
fb67059) - Revise
find_git_associated_windows_executablefuture directions (56dc3cc) - Generalize the
gix_path::env::auxiliaryhelpers (17b5c31) - Simplify code and comments (
0a6a056) - Remove a potentially misleading docstring paragraph (
bd26745) - Divide helpers more logically, expand doc comments (
9d9ec58) - Move
shell()helpers to a helper module (0b75b23) - Don't match
libexec/git-coreinusr; refactor (83574e1) - Check prefix and prefer shim in
gix_path::env::shell()(1f269b0) - Revise
gix_path::envdocstrings for clarity (da7d70e) - Use
/ingix_path::env::shell()and check existence (10af2d0) - Merge pull request #1854 from GitoxideLabs/montly-report (
16a248b) - Thanks clippy (
8e96ed3) - Merge pull request #1841 from EliahKagan/no-esc-todo (
ad7a94e) - Merge pull request #1843 from EliahKagan/convert-doc (
bb64ee1) - Clarify
to_unix_separators{,_on_windows}relationship (42875c9) - Fix
to_windows_separatorsdocstring, revise others (0286351) - Remove TODOs about using
path-slashto handle escapes (a810d1f) - Merge pull request #1778 from GitoxideLabs/new-release (
8df0db2) </details>
- Release gix-date v0.9.4, gix-utils v0.2.0, gix-actor v0.34.0, gix-features v0.41.0, gix-hash v0.17.0, gix-hashtable v0.8.0, gix-path v0.10.15, gix-validate v0.9.4, gix-object v0.48.0, gix-glob v0.19.0, gix-quote v0.5.0, gix-attributes v0.25.0, gix-command v0.5.0, gix-packetline-blocking v0.18.3, gix-filter v0.18.0, gix-fs v0.14.0, gix-commitgraph v0.27.0, gix-revwalk v0.19.0, gix-traverse v0.45.0, gix-worktree-stream v0.20.0, gix-archive v0.20.0, gix-tempfile v17.0.0, gix-lock v17.0.0, gix-index v0.39.0, gix-config-value v0.14.12, gix-pathspec v0.10.0, gix-ignore v0.14.0, gix-worktree v0.40.0, gix-diff v0.51.0, gix-blame v0.1.0, gix-ref v0.51.0, gix-config v0.44.0, gix-prompt v0.10.0, gix-url v0.30.0, gix-credentials v0.28.0, gix-discover v0.39.0, gix-dir v0.13.0, gix-mailmap v0.26.0, gix-revision v0.33.0, gix-merge v0.4.0, gix-negotiate v0.19.0, gix-pack v0.58.0, gix-odb v0.68.0, gix-refspec v0.29.0, gix-shallow v0.3.0, gix-packetline v0.18.4, gix-transport v0.46.0, gix-protocol v0.49.0, gix-status v0.18.0, gix-submodule v0.18.0, gix-worktree-state v0.18.0, gix v0.71.0, gix-fsck v0.10.0, gitoxide-core v0.46.0, gitoxide v0.42.0, safety bump 48 crates (
-
-
0.10.1418 Jan 2025Release notes
Open source →<csr-id-17835bccb066bbc47cc137e8ec5d9fe7d5665af0/>
New Features
- <csr-id-73ee27afb1871cea7117982f41a999efa3167186/> add
env::core_dir() - <csr-id-840c71dfb5cda32fcaa6f744e23751c53a8281b1/> add
env::git_shell()to obtain the shell Git would be using. This is particularly useful to execute Git hooks.
Bug Fixes
-
<csr-id-51bbb8646287f0a6dfa9ff0fd3852c25e001aaf0/> rename
env::login_shell()toshell()and explain what it is. This assures we don't suggest the usage of actual login shells to ever be used to execute hooks.Note that this is not marked as breaking change as no release was made with the old name yet.
Commit Statistics
<csr-read-only-do-not-edit/>
- 13 commits contributed to the release over the course of 55 calendar days.
- 55 days passed between releases.
- 4 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
- Uncategorized
- Release gix-utils v0.1.14, gix-actor v0.33.2, gix-hash v0.16.0, gix-trace v0.1.12, gix-features v0.40.0, gix-hashtable v0.7.0, gix-path v0.10.14, gix-validate v0.9.3, gix-object v0.47.0, gix-glob v0.18.0, gix-quote v0.4.15, gix-attributes v0.24.0, gix-command v0.4.1, gix-packetline-blocking v0.18.2, gix-filter v0.17.0, gix-fs v0.13.0, gix-chunk v0.4.11, gix-commitgraph v0.26.0, gix-revwalk v0.18.0, gix-traverse v0.44.0, gix-worktree-stream v0.19.0, gix-archive v0.19.0, gix-bitmap v0.2.14, gix-tempfile v16.0.0, gix-lock v16.0.0, gix-index v0.38.0, gix-config-value v0.14.11, gix-pathspec v0.9.0, gix-ignore v0.13.0, gix-worktree v0.39.0, gix-diff v0.50.0, gix-blame v0.0.0, gix-ref v0.50.0, gix-sec v0.10.11, gix-config v0.43.0, gix-prompt v0.9.1, gix-url v0.29.0, gix-credentials v0.27.0, gix-discover v0.38.0, gix-dir v0.12.0, gix-mailmap v0.25.2, gix-revision v0.32.0, gix-merge v0.3.0, gix-negotiate v0.18.0, gix-pack v0.57.0, gix-odb v0.67.0, gix-refspec v0.28.0, gix-shallow v0.2.0, gix-packetline v0.18.3, gix-transport v0.45.0, gix-protocol v0.48.0, gix-status v0.17.0, gix-submodule v0.17.0, gix-worktree-state v0.17.0, gix v0.70.0, gix-fsck v0.9.0, gitoxide-core v0.45.0, gitoxide v0.41.0, safety bump 42 crates (
dea106a) - Update all changelogs prior to release (
1f6390c) - Merge pull request #1762 from GitoxideLabs/fix-1759 (
7ec21bb) - Bump
rust-versionto 1.70 (17835bc) - Merge pull request #1758 from GitoxideLabs/git-shell (
851a7c4) - Apply suggestions from code review (
5400320) - More robust localization of
sh.exeon Windows (0737c41) - Add
env::core_dir()(73ee27a) - Rename
env::login_shell()toshell()and explain what it is. (51bbb86) - Merge pull request #1752 from GitoxideLabs/git-shell (
1ca480a) - Add
env::git_shell()to obtain the shell Git would be using. (840c71d) - Refactor git-path tests (
4ef3a8d) - Merge pull request #1701 from GitoxideLabs/release (
e8b3b41) </details>
- Release gix-utils v0.1.14, gix-actor v0.33.2, gix-hash v0.16.0, gix-trace v0.1.12, gix-features v0.40.0, gix-hashtable v0.7.0, gix-path v0.10.14, gix-validate v0.9.3, gix-object v0.47.0, gix-glob v0.18.0, gix-quote v0.4.15, gix-attributes v0.24.0, gix-command v0.4.1, gix-packetline-blocking v0.18.2, gix-filter v0.17.0, gix-fs v0.13.0, gix-chunk v0.4.11, gix-commitgraph v0.26.0, gix-revwalk v0.18.0, gix-traverse v0.44.0, gix-worktree-stream v0.19.0, gix-archive v0.19.0, gix-bitmap v0.2.14, gix-tempfile v16.0.0, gix-lock v16.0.0, gix-index v0.38.0, gix-config-value v0.14.11, gix-pathspec v0.9.0, gix-ignore v0.13.0, gix-worktree v0.39.0, gix-diff v0.50.0, gix-blame v0.0.0, gix-ref v0.50.0, gix-sec v0.10.11, gix-config v0.43.0, gix-prompt v0.9.1, gix-url v0.29.0, gix-credentials v0.27.0, gix-discover v0.38.0, gix-dir v0.12.0, gix-mailmap v0.25.2, gix-revision v0.32.0, gix-merge v0.3.0, gix-negotiate v0.18.0, gix-pack v0.57.0, gix-odb v0.67.0, gix-refspec v0.28.0, gix-shallow v0.2.0, gix-packetline v0.18.3, gix-transport v0.45.0, gix-protocol v0.48.0, gix-status v0.17.0, gix-submodule v0.17.0, gix-worktree-state v0.17.0, gix v0.70.0, gix-fsck v0.9.0, gitoxide-core v0.45.0, gitoxide v0.41.0, safety bump 42 crates (
- <csr-id-73ee27afb1871cea7117982f41a999efa3167186/> add
-
0.10.1324 Nov 2024Release notes
Open source →A maintenance release without user-facing changes.
Commit Statistics
<csr-read-only-do-not-edit/>
- 5 commits contributed to the release.
- 33 days passed between releases.
- 0 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
- Uncategorized
- Release gix-date v0.9.2, gix-actor v0.33.1, gix-hash v0.15.1, gix-features v0.39.1, gix-validate v0.9.2, gix-object v0.46.0, gix-path v0.10.13, gix-quote v0.4.14, gix-attributes v0.23.1, gix-packetline-blocking v0.18.1, gix-filter v0.15.0, gix-chunk v0.4.10, gix-commitgraph v0.25.1, gix-revwalk v0.17.0, gix-traverse v0.43.0, gix-worktree-stream v0.17.0, gix-archive v0.17.0, gix-config-value v0.14.10, gix-lock v15.0.1, gix-ref v0.49.0, gix-config v0.42.0, gix-prompt v0.8.9, gix-url v0.28.1, gix-credentials v0.25.1, gix-bitmap v0.2.13, gix-index v0.37.0, gix-worktree v0.38.0, gix-diff v0.48.0, gix-discover v0.37.0, gix-pathspec v0.8.1, gix-dir v0.10.0, gix-mailmap v0.25.1, gix-revision v0.31.0, gix-merge v0.1.0, gix-negotiate v0.17.0, gix-pack v0.55.0, gix-odb v0.65.0, gix-packetline v0.18.1, gix-transport v0.43.1, gix-protocol v0.46.1, gix-refspec v0.27.0, gix-status v0.15.0, gix-submodule v0.16.0, gix-worktree-state v0.15.0, gix v0.68.0, gix-fsck v0.8.0, gitoxide-core v0.43.0, gitoxide v0.39.0, safety bump 25 crates (
8ce4912) - Prepare changelogs prior to release (
bc9d994) - Merge pull request #1662 from paolobarbolini/thiserror-v2 (
7a40648) - Upgrade thiserror to v2.0.0 (
0f0e4fe) - Merge pull request #1642 from GitoxideLabs/new-release (
db5c9cf) </details>
- Release gix-date v0.9.2, gix-actor v0.33.1, gix-hash v0.15.1, gix-features v0.39.1, gix-validate v0.9.2, gix-object v0.46.0, gix-path v0.10.13, gix-quote v0.4.14, gix-attributes v0.23.1, gix-packetline-blocking v0.18.1, gix-filter v0.15.0, gix-chunk v0.4.10, gix-commitgraph v0.25.1, gix-revwalk v0.17.0, gix-traverse v0.43.0, gix-worktree-stream v0.17.0, gix-archive v0.17.0, gix-config-value v0.14.10, gix-lock v15.0.1, gix-ref v0.49.0, gix-config v0.42.0, gix-prompt v0.8.9, gix-url v0.28.1, gix-credentials v0.25.1, gix-bitmap v0.2.13, gix-index v0.37.0, gix-worktree v0.38.0, gix-diff v0.48.0, gix-discover v0.37.0, gix-pathspec v0.8.1, gix-dir v0.10.0, gix-mailmap v0.25.1, gix-revision v0.31.0, gix-merge v0.1.0, gix-negotiate v0.17.0, gix-pack v0.55.0, gix-odb v0.65.0, gix-packetline v0.18.1, gix-transport v0.43.1, gix-protocol v0.46.1, gix-refspec v0.27.0, gix-status v0.15.0, gix-submodule v0.16.0, gix-worktree-state v0.15.0, gix v0.68.0, gix-fsck v0.8.0, gitoxide-core v0.43.0, gitoxide v0.39.0, safety bump 25 crates (
-
0.10.1222 Oct 2024Release notes
Open source →<csr-id-64ff0a77062d35add1a2dd422bb61075647d1a36/>
Bug Fixes
-
<csr-id-eb72d31a64b5041170e5903c328b246dab522067/> Don't read "installation" config from
GIT_CONFIGWhengix-pathrunsgit config -l ...to obtain the path of a configuration file to regard as being associated with thegitinstallation itself, it now no longer allowsGIT_CONFIGto affect this path.Previously, setting
GIT_CONFIGwould treat it as the path of aGitInstallationconfiguration file. Although it is possible that this may have been used intentionally, it was never documented, did not work reliably on all platforms, and carried significant disadvantages. This is most likely a non-breaking change.The disadvantages of treating a path in
GIT_CONFIGas the path to a configuration file associated with thegitinstallation were:- For
git, theGIT_CONFIGenvironment variable only affectsgit configcommands, and not other commands that use configuration variables (which are mostgitcommands). But whengix-pathwould obtain a path fromgit config -l ...that came fromGIT_CONFIG, that configuration file would be used anywhere, and not onlygix configcommands.
- For
Commit Statistics
<csr-read-only-do-not-edit/>
- 11 commits contributed to the release over the course of 46 calendar days.
- 46 days passed between releases.
- 2 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
- Uncategorized
- Release gix-date v0.9.1, gix-utils v0.1.13, gix-actor v0.33.0, gix-hash v0.15.0, gix-trace v0.1.11, gix-features v0.39.0, gix-hashtable v0.6.0, gix-validate v0.9.1, gix-object v0.45.0, gix-path v0.10.12, gix-glob v0.17.0, gix-quote v0.4.13, gix-attributes v0.23.0, gix-command v0.3.10, gix-packetline-blocking v0.18.0, gix-filter v0.14.0, gix-fs v0.12.0, gix-chunk v0.4.9, gix-commitgraph v0.25.0, gix-revwalk v0.16.0, gix-traverse v0.42.0, gix-worktree-stream v0.16.0, gix-archive v0.16.0, gix-config-value v0.14.9, gix-tempfile v15.0.0, gix-lock v15.0.0, gix-ref v0.48.0, gix-sec v0.10.9, gix-config v0.41.0, gix-prompt v0.8.8, gix-url v0.28.0, gix-credentials v0.25.0, gix-ignore v0.12.0, gix-bitmap v0.2.12, gix-index v0.36.0, gix-worktree v0.37.0, gix-diff v0.47.0, gix-discover v0.36.0, gix-pathspec v0.8.0, gix-dir v0.9.0, gix-mailmap v0.25.0, gix-merge v0.0.0, gix-negotiate v0.16.0, gix-pack v0.54.0, gix-odb v0.64.0, gix-packetline v0.18.0, gix-transport v0.43.0, gix-protocol v0.46.0, gix-revision v0.30.0, gix-refspec v0.26.0, gix-status v0.14.0, gix-submodule v0.15.0, gix-worktree-state v0.14.0, gix v0.67.0, gix-fsck v0.7.0, gitoxide-core v0.42.0, gitoxide v0.38.0, safety bump 41 crates (
3f7e8ee) - Merge pull request #1624 from EliahKagan/update-repo-url (
795962b) - Update gitoxide repository URLs (
64ff0a7) - Merge pull request #1594 from EliahKagan/comments (
ab8880f) - Expand and clarify "unkown" scope comment in
git_cmd(1526b01) - Merge pull request #1583 from EliahKagan/config-origin-env (
130db3b) - Don't read "installation" config from
GIT_CONFIG(eb72d31) - Fix the
never_from_git_config_env_vartest (f8e38d0) - Start testing that installation config is not from
GIT_CONFIG(340ff37) - Unset other
GIT_DIRrelated env vars ingit config -l(01a412f) - Merge pull request #1582 from Byron/gix-path-release (
93e86f1) </details>
- Release gix-date v0.9.1, gix-utils v0.1.13, gix-actor v0.33.0, gix-hash v0.15.0, gix-trace v0.1.11, gix-features v0.39.0, gix-hashtable v0.6.0, gix-validate v0.9.1, gix-object v0.45.0, gix-path v0.10.12, gix-glob v0.17.0, gix-quote v0.4.13, gix-attributes v0.23.0, gix-command v0.3.10, gix-packetline-blocking v0.18.0, gix-filter v0.14.0, gix-fs v0.12.0, gix-chunk v0.4.9, gix-commitgraph v0.25.0, gix-revwalk v0.16.0, gix-traverse v0.42.0, gix-worktree-stream v0.16.0, gix-archive v0.16.0, gix-config-value v0.14.9, gix-tempfile v15.0.0, gix-lock v15.0.0, gix-ref v0.48.0, gix-sec v0.10.9, gix-config v0.41.0, gix-prompt v0.8.8, gix-url v0.28.0, gix-credentials v0.25.0, gix-ignore v0.12.0, gix-bitmap v0.2.12, gix-index v0.36.0, gix-worktree v0.37.0, gix-diff v0.47.0, gix-discover v0.36.0, gix-pathspec v0.8.0, gix-dir v0.9.0, gix-mailmap v0.25.0, gix-merge v0.0.0, gix-negotiate v0.16.0, gix-pack v0.54.0, gix-odb v0.64.0, gix-packetline v0.18.0, gix-transport v0.43.0, gix-protocol v0.46.0, gix-revision v0.30.0, gix-refspec v0.26.0, gix-status v0.14.0, gix-submodule v0.15.0, gix-worktree-state v0.14.0, gix v0.67.0, gix-fsck v0.7.0, gitoxide-core v0.42.0, gitoxide v0.38.0, safety bump 41 crates (
-
-
0.10.1106 Sep 2024Release notes
Open source →Bug Fixes
<csr-id-7280a2d2f8b55a594ae134dd9a0a7a1668b7b56c/> <csr-id-650a1b5cf25e086197cc55a68525a411e1c28031/>
-
<csr-id-f70b904bc520b2962dd2a77c035b6d9c47bb1cb8/> Don't require usable temp dir to get installation config When running
git config -l ...to find the configuration file path associated with thegitinstallation itself, the current working directory for the subprocess was set to the current directory prior to #1523, and to/tmpor a/tmp-like directory since #1523 (which improved performance and security).This builds on #1523, as well as on subsequent changes to run
gitin a way that its behavior depends less on its CWD, by making an even more robust choice of CWD for the subprocess, so that the CWD is less likely to be deeply nested or on network storage; more likely to exist; and, on Unix-like systems, less likely to contain a.gitentry (though agitwith security updates should refuse to take any configuration from such a repository unless it is owned by the user).Due to a combination of other measures that harden against malicious or unusual contents (especially setting
GIT_DIR), the most significant benefit of this change is to fix the problem that a nonexistent temp dir would prevent the command from succeeding.The main way that could happen is if
TMPDIRon Unix-like systems, orTMPorTEMPon Windows, is set to an incorrect value. Because these variables are sometimes reasonable to customize for specific purposes, it is plausible for them to be set to incorrect values by accident.Except on Windows, this always uses
/as the CWD for the subprocess.On Windows, we use the Windows directory (usually
C:\Windows) rather than the root of the system drive (usuallyC:\), because:- We are currently obtaining this information from environment variables, and it is possible for our own parent process to pass down an overly sanitized environment.
- https://go-review.googlesource.com/c/go/+/174318
- https://github.com/git-for-windows/git/security/advisories/GHSA-vw2c-22j4-2fh2
- https://github.com/Byron/gitoxide/security/advisories/GHSA-mgvv-9p9g-3jv4
- https://github.com/Byron/gitoxide/security/advisories/GHSA-mgvv-9p9g-3jv4
-
The user profile directory may be more deeply nested.
-
The user profile directory may sometimes be on slow network storage when the discovered Windows directory is not.
-
In some situations, the user profile directory does not actually exist, or does not exist yet.
-
Overly sanitized environments are more likely to lack the
USERPROFILEvairable than theSystemRootvariable. -
Users may occasionally choose to have their entire user profile directory be a Git repository.
-
It's no easier to avoid the problem of using
C:\.gitin a user profile directory than inC:\Windows: they're usually both underC:\, and are both not the same asC:\. (If the user profile directory is a repository, then that will avoid that problem, yet be its own problem, if not for other measures that prevent both.) -
If the
gitcommand is an old and unpatched vulnerable version in whichsafe.directoryis not yet implemented, or in which https://github.com/git/git/security/advisories/GHSA-j342-m5hw-rr3v or other vulnerabilities wheregitwould perform operations on untrusted local repositories owned by other users are unpatched, then a.gitsubdirectory of a shared/tmpor/tmp-like directory could be created by another account, and its local configuration would still have been used. (This is not a bug in gitoxide per se; having vulnerable software installed that other software may use is inherently insecure. But it is nice to offer a small amount of protection against this when readily feasible.) -
If the
/tmp-like location is a Git repository owned by the current user, then its local configuration would have been used. -
https://github.com/dotnet/docs/issues/41193
-
https://github.com/python/cpython/pull/95486#issuecomment-1881469554
-
https://github.com/python/cpython/pull/95486#issuecomment-1882134234
-
Parsing is more reliable for paths containing unusual characters, because
-z/--nullcauses all paths to be output literally.Previously,
"characters were trimmed from the ends, but this would not always extract a correct path, because when a path contains characters that causegitto enclose it in double quotes, those characters are usually represented in a symbolic form, usually with\escapes.In some scenarios, such as usually on Windows when the escaped character is itself a
\and not in the leading position, the mangled path would be usable, but more often it would not. -
The volume of output is less, because
--name-onlycasues values not to be included in the output. -
The combination of
-z/--nulland--name-onlymakes the output format simpler, and the parsing logic is accordingly simpler.
Commit Statistics
<csr-read-only-do-not-edit/>
- 57 commits contributed to the release.
- 15 days passed between releases.
- 3 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
- Uncategorized
- Release gix-trace v0.1.10, gix-path v0.10.11 (
012a754) - Prepare changelogs prior to release. (
c759819) - Merge pull request #1569 from EliahKagan/config-origin-naming (
3cf9694) - Rename to
GIT_HIGHEST_SCOPE_CONFIG_PATH(0672576) - Merge pull request #1568 from EliahKagan/config-origin-next (
adbaa2a) - Rename
EXE_INFOto something that probably captures its contents better. (dd2d666) - Run
cargo fmt(b11f7db) - Make
EXE_NAMEaconsttoo (fb0b6d8) - Make
NULL_DEVICEaconst, rather than astaticitem (9917d47) - Put
first_file_from_config_with_origintest with related ones (57e9a6f) - Fix indentation nit (
7cd20bb) - Merge pull request #1567 from EliahKagan/config-origin (
dd65e7b) - Improve structure of
exe_infotests (5ac5f74) - Clarify comment about where we run
gitfrom (5200184) - Test no local scope with empty system config (
6160a83) - Don't set/change ceiling directories (
2bce0d2) - Explore also setting a ceiling directory (
073e277) - Fix misstatement of Windows directory rationale (
4e936bc) - Unset a couple env vars just in case (
8f6d39d) - Simplify the new comments (
b827813) - Explain why we run
gitfrom a different directory (7fa5e35) - Small clarity tweaks (
598c487) - Fix
os::windowserror on non-Windows (1305114) - Refactor for readability; clarify comments (
ab0dcc1) - Fix unused import on non-Windows systems (
8472447) - Don't require usable temp dir to get installation config (
f70b904) - Explain why we don't just use
--system(29c6cca) - Explain why we don't just use
--show-scope(f35e44c) - Fix a test name for consistency (
15e7b67) - Add another broken temp test (
c80d562) - Extract nonexistent directory logic to a test helper struct (
e60540f) - Maybe slightly decrease risk of test precondition check failure (
56dab13) - Adjust some test code for clarity (
5c1b4c0) - Check
env::temp_dir()in both tests that set temp vars (79af259) - Clarify assert and expect messages (
703f882) - Test EXE_INFO no local config even if temp dir doesn't exist (
60465a5) - Slightly improve quality of test failure messages (
9641660) - Set GIT_WORK_TREE along with GIT_DIR, to avoid confusion (
5723077) - More robustly ensure "installation" config is not local (
7280a2d) - Check that the test affects
env::temp_dir()as desired (15cec4e) - Fix bug in new test where temp dir should be a repo (
744bb38) - Test EXE_INFO no local config even if temp dir is a repo (
287f267) - Code formatting (
65d5151) - Fix EXE_INFO no local scope test for macOS (
49e0715) - Add generated archive for local_config.sh (
fd065ac) - Test that EXE_INFO never has local scope config (
5a300e6) - Make EXE_INFO testable and add a basic test for it (
1ee98bf) - Reorder gix_path::env::git tests to match order in code (
ccd0401) - Extract git_cmd helper for EXE_INFO (
de2f35f) - Parse installation config path more robustly (
650a1b5) - Comment Git version compatibility for EXE_INFO (
9df57aa) - Merge pull request #1557 from Byron/merge-base (
649f588) - Allow empty-docs (
beba720) - Merge branch 'global-lints' (
37ba461) - Workspace Clippy lint management (
2e0ce50) - Merge pull request #1546 from nyurik/semilocons (
f992fb7) - Add missing semicolons (
ec69c88) </details>
- Release gix-trace v0.1.10, gix-path v0.10.11 (
-
-
0.10.1022 Aug 2024Release notes
Open source →A maintenance release without user-facing changes.
Commit Statistics
<csr-read-only-do-not-edit/>
- 7 commits contributed to the release.
- 35 days passed between releases.
- 0 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
- Uncategorized
- Release gix-date v0.9.0, gix-actor v0.31.6, gix-validate v0.9.0, gix-object v0.43.0, gix-path v0.10.10, gix-attributes v0.22.4, gix-command v0.3.9, gix-packetline-blocking v0.17.5, gix-filter v0.12.0, gix-fs v0.11.3, gix-revwalk v0.14.0, gix-traverse v0.40.0, gix-worktree-stream v0.14.0, gix-archive v0.14.0, gix-ref v0.46.0, gix-config v0.39.0, gix-prompt v0.8.7, gix-url v0.27.5, gix-credentials v0.24.5, gix-ignore v0.11.4, gix-index v0.34.0, gix-worktree v0.35.0, gix-diff v0.45.0, gix-discover v0.34.0, gix-dir v0.7.0, gix-mailmap v0.23.6, gix-negotiate v0.14.0, gix-pack v0.52.0, gix-odb v0.62.0, gix-packetline v0.17.6, gix-transport v0.42.3, gix-protocol v0.45.3, gix-revision v0.28.0, gix-refspec v0.24.0, gix-status v0.12.0, gix-submodule v0.13.0, gix-worktree-state v0.12.0, gix v0.65.0, gix-fsck v0.5.0, gitoxide-core v0.40.0, gitoxide v0.38.0, safety bump 25 crates (
d19af16) - Prepare changelogs prior to release (
0f25841) - Merge pull request #1523 from martinvonz/push-xmsuurxprnnw (
83c9de0) - Remove
--systemfromgit configcall as it fails on MacOS (6b1c243) - Run
git config -lin temp dir when looking up system config (20ef4e9) - Merge branch 'push-ysnqkzlzwuwq' (
e2c747d) - Don't show console on Windows (
087594c) </details>
- Release gix-date v0.9.0, gix-actor v0.31.6, gix-validate v0.9.0, gix-object v0.43.0, gix-path v0.10.10, gix-attributes v0.22.4, gix-command v0.3.9, gix-packetline-blocking v0.17.5, gix-filter v0.12.0, gix-fs v0.11.3, gix-revwalk v0.14.0, gix-traverse v0.40.0, gix-worktree-stream v0.14.0, gix-archive v0.14.0, gix-ref v0.46.0, gix-config v0.39.0, gix-prompt v0.8.7, gix-url v0.27.5, gix-credentials v0.24.5, gix-ignore v0.11.4, gix-index v0.34.0, gix-worktree v0.35.0, gix-diff v0.45.0, gix-discover v0.34.0, gix-dir v0.7.0, gix-mailmap v0.23.6, gix-negotiate v0.14.0, gix-pack v0.52.0, gix-odb v0.62.0, gix-packetline v0.17.6, gix-transport v0.42.3, gix-protocol v0.45.3, gix-revision v0.28.0, gix-refspec v0.24.0, gix-status v0.12.0, gix-submodule v0.13.0, gix-worktree-state v0.12.0, gix v0.65.0, gix-fsck v0.5.0, gitoxide-core v0.40.0, gitoxide v0.38.0, safety bump 25 crates (
-
0.10.918 Jul 2024Release notes
Open source →Bug Fixes
-
<csr-id-15235bf7968042da0493d431bbc955d6f9f54188/> Don't assume program files folder locations This checks where program files directories are located on a Windows system, which are used for a fallback check after
githas not been found in aPATHsearch (to invokegitto find out information such as the location of its system config file).Previously, two hard-coded paths were used. These were correct for the vast majority of 64-bit Windows systems, but were in practice never correct on 32-bit Windows systems. Checking programmatically for the locations should thus enable detection to succeed on more systems and under more circumstances, and avoid other problems.
Commit Statistics
<csr-read-only-do-not-edit/>
- 36 commits contributed to the release.
- 24 days passed between releases.
- 1 commit was understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
- Uncategorized
- Release gix-path v0.10.9 (
15f1cf7) - Merge branch 'program-files' (
ffe6b60) - Refactor (
73ed340) - Move
test::loc'susestatements up (dd53408) - Update/refine comments and do some minor cleanup (
dea1746) - Omit excess punctuation in
expectmessages (76e3b28) - Thanks clippy (
464e0a2) - Add second
super::in non-Windowsalternative_locationstest (8ae54e8) - Don't assume program files folder locations (
15235bf) - Fix test bug generating expected value on 32-bit system (
98db88b) - Put the new tests in their own nested mod (
d254e62) - Rename helper, write its tests (and their helpers), fix a bug (
e990bcd) - Call fewer different things "suffixes" (
de7c49f) - Reorder statements in alternative_locations test for clarity (
4d98535) - Simplify path construction and config; improve comments (
c8b2eb3) - Add the missing
Gitcomponent in the suffixes (1f0c3bf) - Remove a fixme that should no longer be done (
00127a7) - Rename helper; condense huge comment and move into position (
df175bc) - Fix the helper to join the
mingw*/binsubdirs (c486a7d) - Start implementing a helper for ALTERNATIVE_LOCATIONS (
167dc14) - Narrow assert_architectures fixme to just what's left (
e9eabeb) - Adjust GitBinSuffixes so uses in the test method are clearer (
671c476) - Assert that the corresponding suffixes are correct (
5258f7a) - Assert
ALTERNATIVE_LOCATIONScount and prefixes (dd1e5c8) - Rename PathsByRole to ProgramFilesPaths (
3dd1d1f) - Clarify what pf_current represents (
95708dd) - Make PathsByRole::maybe_pf_64bit an Option<PathBuf> (
5701145) - Remove extra comment left over from before (
518fd27) - Improve expect and assert messages in PathsByRole::validate() (
5df0cf5) - Revise obtain_envlessly() doc comment for clarity (
a5a5342) - Do a minor simplification now that it's PathBuf (
99a8eb3) - Make ALTERNATIVE_LOCATIONS items PathBuf (
5b206bc) - Start on unit test for ALTERNATIVE_LOCATIONS (
edc1351) - Add dev dependencies for soon to be added unit test (
6af59ca) - Restyle just-changed and related code for clarity (
98b3d90) - Make ALTERNATIVE_LOCATIONS dynamic and OsString-based (
9eaa0d9) </details>
- Release gix-path v0.10.9 (
-
-
0.10.824 Jun 2024Release notes
Open source →New Features
- <csr-id-fee775ca083189cd8909e8af143a69071cb71ecd/> provide
env::executable_invocation()to know how to invoke Git. That way we can make it easier to rely on Git even if finding it is a bit more involved.
Commit Statistics
<csr-read-only-do-not-edit/>
- 5 commits contributed to the release over the course of 3 calendar days.
- 102 days passed between releases.
- 1 commit was understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
- <csr-id-fee775ca083189cd8909e8af143a69071cb71ecd/> provide
-
0.10.714 Mar 2024Release notes
Open source →A maintenance release without user-facing changes.
Commit Statistics
<csr-read-only-do-not-edit/>
- 4 commits contributed to the release over the course of 4 calendar days.
- 18 days passed between releases.
- 0 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
- Uncategorized
- Release gix-date v0.8.5, gix-hash v0.14.2, gix-trace v0.1.8, gix-utils v0.1.11, gix-features v0.38.1, gix-actor v0.31.0, gix-validate v0.8.4, gix-object v0.42.0, gix-path v0.10.7, gix-glob v0.16.2, gix-quote v0.4.12, gix-attributes v0.22.2, gix-command v0.3.6, gix-filter v0.11.0, gix-fs v0.10.1, gix-chunk v0.4.8, gix-commitgraph v0.24.2, gix-hashtable v0.5.2, gix-revwalk v0.13.0, gix-traverse v0.38.0, gix-worktree-stream v0.11.0, gix-archive v0.11.0, gix-config-value v0.14.6, gix-tempfile v13.1.1, gix-lock v13.1.1, gix-ref v0.43.0, gix-sec v0.10.6, gix-config v0.36.0, gix-prompt v0.8.4, gix-url v0.27.2, gix-credentials v0.24.2, gix-ignore v0.11.2, gix-bitmap v0.2.11, gix-index v0.31.0, gix-worktree v0.32.0, gix-diff v0.42.0, gix-discover v0.31.0, gix-pathspec v0.7.1, gix-dir v0.2.0, gix-macros v0.1.4, gix-mailmap v0.23.0, gix-negotiate v0.13.0, gix-pack v0.49.0, gix-odb v0.59.0, gix-packetline v0.17.4, gix-transport v0.41.2, gix-protocol v0.44.2, gix-revision v0.27.0, gix-refspec v0.23.0, gix-status v0.7.0, gix-submodule v0.10.0, gix-worktree-state v0.9.0, gix v0.60.0, safety bump 26 crates (
b050327) - Prepare changelogs prior to release (
52c3bbd) - Merge branch 'status' (
3e5c974) - Fix lints for nightly, and clippy (
f8ce3d0) </details>
- Release gix-date v0.8.5, gix-hash v0.14.2, gix-trace v0.1.8, gix-utils v0.1.11, gix-features v0.38.1, gix-actor v0.31.0, gix-validate v0.8.4, gix-object v0.42.0, gix-path v0.10.7, gix-glob v0.16.2, gix-quote v0.4.12, gix-attributes v0.22.2, gix-command v0.3.6, gix-filter v0.11.0, gix-fs v0.10.1, gix-chunk v0.4.8, gix-commitgraph v0.24.2, gix-hashtable v0.5.2, gix-revwalk v0.13.0, gix-traverse v0.38.0, gix-worktree-stream v0.11.0, gix-archive v0.11.0, gix-config-value v0.14.6, gix-tempfile v13.1.1, gix-lock v13.1.1, gix-ref v0.43.0, gix-sec v0.10.6, gix-config v0.36.0, gix-prompt v0.8.4, gix-url v0.27.2, gix-credentials v0.24.2, gix-ignore v0.11.2, gix-bitmap v0.2.11, gix-index v0.31.0, gix-worktree v0.32.0, gix-diff v0.42.0, gix-discover v0.31.0, gix-pathspec v0.7.1, gix-dir v0.2.0, gix-macros v0.1.4, gix-mailmap v0.23.0, gix-negotiate v0.13.0, gix-pack v0.49.0, gix-odb v0.59.0, gix-packetline v0.17.4, gix-transport v0.41.2, gix-protocol v0.44.2, gix-revision v0.27.0, gix-refspec v0.23.0, gix-status v0.7.0, gix-submodule v0.10.0, gix-worktree-state v0.9.0, gix v0.60.0, safety bump 26 crates (
-
0.10.625 Feb 2024Release notes
Open source →New Features
- <csr-id-9ba8bcab07f4b3d0048b5a125b632bd70fe788d9/> add
relativize_with_prefix(). With it, a path 'a' with prefix 'b' will be '../a'. - <csr-id-c8ccbe58cbafd70936b4143db01687e5bf9f7cf4/> add
try_os_str_into_bstr(), withCow<OsStr>as input.
Commit Statistics
<csr-read-only-do-not-edit/>
- 6 commits contributed to the release over the course of 16 calendar days.
- 30 days passed between releases.
- 2 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
- Uncategorized
- Release gix-date v0.8.4, gix-utils v0.1.10, gix-actor v0.30.1, gix-object v0.41.1, gix-path v0.10.6, gix-glob v0.16.1, gix-quote v0.4.11, gix-attributes v0.22.1, gix-command v0.3.5, gix-filter v0.10.0, gix-commitgraph v0.24.1, gix-worktree-stream v0.10.0, gix-archive v0.10.0, gix-config-value v0.14.5, gix-ref v0.42.0, gix-sec v0.10.5, gix-config v0.35.0, gix-prompt v0.8.3, gix-url v0.27.1, gix-credentials v0.24.1, gix-ignore v0.11.1, gix-index v0.30.0, gix-worktree v0.31.0, gix-diff v0.41.0, gix-discover v0.30.0, gix-pathspec v0.7.0, gix-dir v0.1.0, gix-pack v0.48.0, gix-odb v0.58.0, gix-transport v0.41.1, gix-protocol v0.44.1, gix-revision v0.26.1, gix-refspec v0.22.1, gix-status v0.6.0, gix-submodule v0.9.0, gix-worktree-state v0.8.0, gix v0.59.0, gix-fsck v0.3.0, gitoxide-core v0.36.0, gitoxide v0.34.0, safety bump 10 crates (
45b4470) - Prepare changelogs prior to release (
f2e111f) - Merge branch 'status' (
bb48c4c) - Add
relativize_with_prefix(). (9ba8bca) - Merge branch 'dirwalk' (
face359) - Add
try_os_str_into_bstr(), withCow<OsStr>as input. (c8ccbe5) </details>
- Release gix-date v0.8.4, gix-utils v0.1.10, gix-actor v0.30.1, gix-object v0.41.1, gix-path v0.10.6, gix-glob v0.16.1, gix-quote v0.4.11, gix-attributes v0.22.1, gix-command v0.3.5, gix-filter v0.10.0, gix-commitgraph v0.24.1, gix-worktree-stream v0.10.0, gix-archive v0.10.0, gix-config-value v0.14.5, gix-ref v0.42.0, gix-sec v0.10.5, gix-config v0.35.0, gix-prompt v0.8.3, gix-url v0.27.1, gix-credentials v0.24.1, gix-ignore v0.11.1, gix-index v0.30.0, gix-worktree v0.31.0, gix-diff v0.41.0, gix-discover v0.30.0, gix-pathspec v0.7.0, gix-dir v0.1.0, gix-pack v0.48.0, gix-odb v0.58.0, gix-transport v0.41.1, gix-protocol v0.44.1, gix-revision v0.26.1, gix-refspec v0.22.1, gix-status v0.6.0, gix-submodule v0.9.0, gix-worktree-state v0.8.0, gix v0.59.0, gix-fsck v0.3.0, gitoxide-core v0.36.0, gitoxide v0.34.0, safety bump 10 crates (
- <csr-id-9ba8bcab07f4b3d0048b5a125b632bd70fe788d9/> add
-
0.10.526 Jan 2024Release notes
Open source →Bug Fixes
- <csr-id-8ba04e0d3525fc290d9ef24836c5ba88c022e8b7/> always try
HOMEenvironment variable first when obtaining the home directory. This will fix issues like the one described here:
Commit Statistics
<csr-read-only-do-not-edit/>
- 4 commits contributed to the release over the course of 1 calendar day.
- 6 days passed between releases.
- 1 commit was understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
- <csr-id-8ba04e0d3525fc290d9ef24836c5ba88c022e8b7/> always try
-
0.10.420 Jan 2024Release notes
Open source →Bug Fixes
-
<csr-id-8d4bf403aecbe16ad2f4083f40c504c6fc4d7eab/> prevent very long path from using unbounded time in
realpath(). It's possible to inject such paths using urls which can then end up being canonicalized, causing very long runtimes with excessively long paths due tois_symlinkcalls which will be slow.Now the amount of components is limited to 4096/2, which should be a worst-case path at the border of realistic.
If this limitation becomes too arbitrary, one could consider making this cut-off value configurable.
Commit Statistics
<csr-read-only-do-not-edit/>
- 7 commits contributed to the release over the course of 4 calendar days.
- 21 days passed between releases.
- 1 commit was understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
- Uncategorized
- Release gix-utils v0.1.9, gix-features v0.38.0, gix-actor v0.30.0, gix-object v0.41.0, gix-path v0.10.4, gix-glob v0.16.0, gix-attributes v0.22.0, gix-command v0.3.3, gix-packetline-blocking v0.17.3, gix-filter v0.9.0, gix-fs v0.10.0, gix-commitgraph v0.24.0, gix-revwalk v0.12.0, gix-traverse v0.37.0, gix-worktree-stream v0.9.0, gix-archive v0.9.0, gix-config-value v0.14.4, gix-tempfile v13.0.0, gix-lock v13.0.0, gix-ref v0.41.0, gix-sec v0.10.4, gix-config v0.34.0, gix-url v0.27.0, gix-credentials v0.24.0, gix-ignore v0.11.0, gix-index v0.29.0, gix-worktree v0.30.0, gix-diff v0.40.0, gix-discover v0.29.0, gix-mailmap v0.22.0, gix-negotiate v0.12.0, gix-pack v0.47.0, gix-odb v0.57.0, gix-pathspec v0.6.0, gix-packetline v0.17.3, gix-transport v0.41.0, gix-protocol v0.44.0, gix-revision v0.26.0, gix-refspec v0.22.0, gix-status v0.5.0, gix-submodule v0.8.0, gix-worktree-state v0.7.0, gix v0.58.0, safety bump 39 crates (
eb6aa8f) - Prepare changelogs prior to release (
6a2e0be) - Merge branch 'url-fuzz' (
db86fba) - Prevent very long path from using unbounded time in
realpath(). (8d4bf40) - Merge branch 'dirwalk' (
5d176fc) - Use
gix_fs::current_dir(precompose_unicode). (7d8d167) - Release gix-trace v0.1.7, gix-features v0.37.2, gix-commitgraph v0.23.2, gix-traverse v0.36.2, gix-index v0.28.2 (
b6c04c8) </details>
- Release gix-utils v0.1.9, gix-features v0.38.0, gix-actor v0.30.0, gix-object v0.41.0, gix-path v0.10.4, gix-glob v0.16.0, gix-attributes v0.22.0, gix-command v0.3.3, gix-packetline-blocking v0.17.3, gix-filter v0.9.0, gix-fs v0.10.0, gix-commitgraph v0.24.0, gix-revwalk v0.12.0, gix-traverse v0.37.0, gix-worktree-stream v0.9.0, gix-archive v0.9.0, gix-config-value v0.14.4, gix-tempfile v13.0.0, gix-lock v13.0.0, gix-ref v0.41.0, gix-sec v0.10.4, gix-config v0.34.0, gix-url v0.27.0, gix-credentials v0.24.0, gix-ignore v0.11.0, gix-index v0.29.0, gix-worktree v0.30.0, gix-diff v0.40.0, gix-discover v0.29.0, gix-mailmap v0.22.0, gix-negotiate v0.12.0, gix-pack v0.47.0, gix-odb v0.57.0, gix-pathspec v0.6.0, gix-packetline v0.17.3, gix-transport v0.41.0, gix-protocol v0.44.0, gix-revision v0.26.0, gix-refspec v0.22.0, gix-status v0.5.0, gix-submodule v0.8.0, gix-worktree-state v0.7.0, gix v0.58.0, safety bump 39 crates (
-
-
0.10.330 Dec 2023Release notes
Open source →<csr-id-3bd09ef120945a9669321ea856db4079a5dab930/>
Commit Statistics
<csr-read-only-do-not-edit/>
- 4 commits contributed to the release.
- 1 day passed between releases.
- 1 commit was understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
- Uncategorized
- Release gix-date v0.8.3, gix-hash v0.14.1, gix-trace v0.1.6, gix-features v0.37.1, gix-actor v0.29.1, gix-validate v0.8.3, gix-object v0.40.1, gix-path v0.10.3, gix-glob v0.15.1, gix-quote v0.4.10, gix-attributes v0.21.1, gix-command v0.3.2, gix-packetline-blocking v0.17.2, gix-utils v0.1.8, gix-filter v0.8.1, gix-fs v0.9.1, gix-chunk v0.4.7, gix-commitgraph v0.23.1, gix-hashtable v0.5.1, gix-revwalk v0.11.1, gix-traverse v0.36.1, gix-worktree-stream v0.8.1, gix-archive v0.8.1, gix-config-value v0.14.3, gix-tempfile v12.0.1, gix-lock v12.0.1, gix-ref v0.40.1, gix-sec v0.10.3, gix-config v0.33.1, gix-prompt v0.8.2, gix-url v0.26.1, gix-credentials v0.23.1, gix-ignore v0.10.1, gix-bitmap v0.2.10, gix-index v0.28.1, gix-worktree v0.29.1, gix-diff v0.39.1, gix-discover v0.28.1, gix-macros v0.1.3, gix-mailmap v0.21.1, gix-negotiate v0.11.1, gix-pack v0.46.1, gix-odb v0.56.1, gix-pathspec v0.5.1, gix-packetline v0.17.2, gix-transport v0.40.1, gix-protocol v0.43.1, gix-revision v0.25.1, gix-refspec v0.21.1, gix-status v0.4.1, gix-submodule v0.7.1, gix-worktree-state v0.6.1, gix v0.57.1 (
972241f) - Merge branch 'msrv' (
8c492d7) - Virtually downgrade
hometo pass MRSV checks (e6706f2) - Change
rust-versionmanifest field back to 1.65. (3bd09ef) </details>
- Release gix-date v0.8.3, gix-hash v0.14.1, gix-trace v0.1.6, gix-features v0.37.1, gix-actor v0.29.1, gix-validate v0.8.3, gix-object v0.40.1, gix-path v0.10.3, gix-glob v0.15.1, gix-quote v0.4.10, gix-attributes v0.21.1, gix-command v0.3.2, gix-packetline-blocking v0.17.2, gix-utils v0.1.8, gix-filter v0.8.1, gix-fs v0.9.1, gix-chunk v0.4.7, gix-commitgraph v0.23.1, gix-hashtable v0.5.1, gix-revwalk v0.11.1, gix-traverse v0.36.1, gix-worktree-stream v0.8.1, gix-archive v0.8.1, gix-config-value v0.14.3, gix-tempfile v12.0.1, gix-lock v12.0.1, gix-ref v0.40.1, gix-sec v0.10.3, gix-config v0.33.1, gix-prompt v0.8.2, gix-url v0.26.1, gix-credentials v0.23.1, gix-ignore v0.10.1, gix-bitmap v0.2.10, gix-index v0.28.1, gix-worktree v0.29.1, gix-diff v0.39.1, gix-discover v0.28.1, gix-macros v0.1.3, gix-mailmap v0.21.1, gix-negotiate v0.11.1, gix-pack v0.46.1, gix-odb v0.56.1, gix-pathspec v0.5.1, gix-packetline v0.17.2, gix-transport v0.40.1, gix-protocol v0.43.1, gix-revision v0.25.1, gix-refspec v0.21.1, gix-status v0.4.1, gix-submodule v0.7.1, gix-worktree-state v0.6.1, gix v0.57.1 (
-
0.10.229 Dec 2023Release notes
Open source →<csr-id-aea89c3ad52f1a800abb620e9a4701bdf904ff7d/>
Commit Statistics
<csr-read-only-do-not-edit/>
- 4 commits contributed to the release.
- 23 days passed between releases.
- 1 commit was understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
- Uncategorized
- Release gix-date v0.8.2, gix-hash v0.14.0, gix-trace v0.1.5, gix-features v0.37.0, gix-actor v0.29.0, gix-validate v0.8.2, gix-object v0.40.0, gix-path v0.10.2, gix-glob v0.15.0, gix-quote v0.4.9, gix-attributes v0.21.0, gix-command v0.3.1, gix-packetline-blocking v0.17.1, gix-utils v0.1.7, gix-filter v0.8.0, gix-fs v0.9.0, gix-chunk v0.4.6, gix-commitgraph v0.23.0, gix-hashtable v0.5.0, gix-revwalk v0.11.0, gix-traverse v0.36.0, gix-worktree-stream v0.8.0, gix-archive v0.8.0, gix-config-value v0.14.2, gix-tempfile v12.0.0, gix-lock v12.0.0, gix-ref v0.40.0, gix-sec v0.10.2, gix-config v0.33.0, gix-prompt v0.8.1, gix-url v0.26.0, gix-credentials v0.23.0, gix-ignore v0.10.0, gix-bitmap v0.2.9, gix-index v0.28.0, gix-worktree v0.29.0, gix-diff v0.39.0, gix-discover v0.28.0, gix-macros v0.1.2, gix-mailmap v0.21.0, gix-negotiate v0.11.0, gix-pack v0.46.0, gix-odb v0.56.0, gix-pathspec v0.5.0, gix-packetline v0.17.1, gix-transport v0.40.0, gix-protocol v0.43.0, gix-revision v0.25.0, gix-refspec v0.21.0, gix-status v0.4.0, gix-submodule v0.7.0, gix-worktree-state v0.6.0, gix v0.57.0, gix-fsck v0.2.0, gitoxide-core v0.35.0, gitoxide v0.33.0, safety bump 40 crates (
e1aae19) - Prepare changelogs of next release (
e78a92b) - Merge branch 'maintenance' (
4454c9d) - Upgrade MSRV to v1.70 (
aea89c3) </details>
- Release gix-date v0.8.2, gix-hash v0.14.0, gix-trace v0.1.5, gix-features v0.37.0, gix-actor v0.29.0, gix-validate v0.8.2, gix-object v0.40.0, gix-path v0.10.2, gix-glob v0.15.0, gix-quote v0.4.9, gix-attributes v0.21.0, gix-command v0.3.1, gix-packetline-blocking v0.17.1, gix-utils v0.1.7, gix-filter v0.8.0, gix-fs v0.9.0, gix-chunk v0.4.6, gix-commitgraph v0.23.0, gix-hashtable v0.5.0, gix-revwalk v0.11.0, gix-traverse v0.36.0, gix-worktree-stream v0.8.0, gix-archive v0.8.0, gix-config-value v0.14.2, gix-tempfile v12.0.0, gix-lock v12.0.0, gix-ref v0.40.0, gix-sec v0.10.2, gix-config v0.33.0, gix-prompt v0.8.1, gix-url v0.26.0, gix-credentials v0.23.0, gix-ignore v0.10.0, gix-bitmap v0.2.9, gix-index v0.28.0, gix-worktree v0.29.0, gix-diff v0.39.0, gix-discover v0.28.0, gix-macros v0.1.2, gix-mailmap v0.21.0, gix-negotiate v0.11.0, gix-pack v0.46.0, gix-odb v0.56.0, gix-pathspec v0.5.0, gix-packetline v0.17.1, gix-transport v0.40.0, gix-protocol v0.43.0, gix-revision v0.25.0, gix-refspec v0.21.0, gix-status v0.4.0, gix-submodule v0.7.0, gix-worktree-state v0.6.0, gix v0.57.0, gix-fsck v0.2.0, gitoxide-core v0.35.0, gitoxide v0.33.0, safety bump 40 crates (
-
0.10.106 Dec 2023Release notes
Open source →New Features
- <csr-id-bc44497606656cddc4f18a0acb272c34b8df4ba8/> trace credential helper invocations. This should make it easier to understand what's going on in case something isn't working as expected.
Commit Statistics
<csr-read-only-do-not-edit/>
- 6 commits contributed to the release.
- 89 days passed between releases.
- 1 commit was understood as conventional.
- 1 unique issue was worked on: #1103
Commit Details
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
- #1103
- Trace credential helper invocations. (
bc44497)
- Trace credential helper invocations. (
- Uncategorized
- Release gix-date v0.8.1, gix-hash v0.13.2, gix-trace v0.1.4, gix-features v0.36.1, gix-actor v0.28.1, gix-validate v0.8.1, gix-object v0.39.0, gix-path v0.10.1, gix-glob v0.14.1, gix-quote v0.4.8, gix-attributes v0.20.1, gix-command v0.3.0, gix-packetline-blocking v0.17.0, gix-utils v0.1.6, gix-filter v0.7.0, gix-fs v0.8.1, gix-chunk v0.4.5, gix-commitgraph v0.22.1, gix-hashtable v0.4.1, gix-revwalk v0.10.0, gix-traverse v0.35.0, gix-worktree-stream v0.7.0, gix-archive v0.7.0, gix-config-value v0.14.1, gix-tempfile v11.0.1, gix-lock v11.0.1, gix-ref v0.39.0, gix-sec v0.10.1, gix-config v0.32.0, gix-prompt v0.8.0, gix-url v0.25.2, gix-credentials v0.22.0, gix-ignore v0.9.1, gix-bitmap v0.2.8, gix-index v0.27.0, gix-worktree v0.28.0, gix-diff v0.38.0, gix-discover v0.27.0, gix-macros v0.1.1, gix-mailmap v0.20.1, gix-negotiate v0.10.0, gix-pack v0.45.0, gix-odb v0.55.0, gix-pathspec v0.4.1, gix-packetline v0.17.0, gix-transport v0.39.0, gix-protocol v0.42.0, gix-revision v0.24.0, gix-refspec v0.20.0, gix-status v0.3.0, gix-submodule v0.6.0, gix-worktree-state v0.5.0, gix v0.56.0, gix-fsck v0.1.0, gitoxide-core v0.34.0, gitoxide v0.32.0, safety bump 27 crates (
55d386a) - Prepare changelogs prior to release (
d3dcbe5) - Merge branch 'error' (
c372321) - Merge branch 'size-optimization' (
c0e72fb) - Remove CHANGELOG.md from all packages (
b65a80b) </details>
- Release gix-date v0.8.1, gix-hash v0.13.2, gix-trace v0.1.4, gix-features v0.36.1, gix-actor v0.28.1, gix-validate v0.8.1, gix-object v0.39.0, gix-path v0.10.1, gix-glob v0.14.1, gix-quote v0.4.8, gix-attributes v0.20.1, gix-command v0.3.0, gix-packetline-blocking v0.17.0, gix-utils v0.1.6, gix-filter v0.7.0, gix-fs v0.8.1, gix-chunk v0.4.5, gix-commitgraph v0.22.1, gix-hashtable v0.4.1, gix-revwalk v0.10.0, gix-traverse v0.35.0, gix-worktree-stream v0.7.0, gix-archive v0.7.0, gix-config-value v0.14.1, gix-tempfile v11.0.1, gix-lock v11.0.1, gix-ref v0.39.0, gix-sec v0.10.1, gix-config v0.32.0, gix-prompt v0.8.0, gix-url v0.25.2, gix-credentials v0.22.0, gix-ignore v0.9.1, gix-bitmap v0.2.8, gix-index v0.27.0, gix-worktree v0.28.0, gix-diff v0.38.0, gix-discover v0.27.0, gix-macros v0.1.1, gix-mailmap v0.20.1, gix-negotiate v0.10.0, gix-pack v0.45.0, gix-odb v0.55.0, gix-pathspec v0.4.1, gix-packetline v0.17.0, gix-transport v0.39.0, gix-protocol v0.42.0, gix-revision v0.24.0, gix-refspec v0.20.0, gix-status v0.3.0, gix-submodule v0.6.0, gix-worktree-state v0.5.0, gix v0.56.0, gix-fsck v0.1.0, gitoxide-core v0.34.0, gitoxide v0.32.0, safety bump 27 crates (
-
0.10.008 Sep 2023Release notes
Open source →This release pins beta versions of
clapto avoid it to automatically fetch the latest one during installation.This is made possible due to
clapitself pinning its dependency to theclap-derivecrate.Commit Statistics
<csr-read-only-do-not-edit/>
- 1 commit contributed to the release over the course of 1 calendar day.
- 5 days passed between releases.
- 0 commits were understood as conventional.
- 1 unique issue was worked on: #222
Commit Details
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
Release notes
Open source →Bug Fixes (BREAKING)
- <csr-id-072ee32f693a31161cd6a843da6582d13efbb20b/> use
dyntrait where possible. This reduces compile time due to avoiding duplication.
Commit Statistics
<csr-read-only-do-not-edit/>
- 5 commits contributed to the release over the course of 17 calendar days.
- 17 days passed between releases.
- 1 commit was understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
- Uncategorized
- Release gix-date v0.8.0, gix-hash v0.13.0, gix-features v0.34.0, gix-actor v0.26.0, gix-object v0.36.0, gix-path v0.10.0, gix-glob v0.12.0, gix-attributes v0.18.0, gix-packetline-blocking v0.16.6, gix-filter v0.4.0, gix-fs v0.6.0, gix-commitgraph v0.20.0, gix-hashtable v0.4.0, gix-revwalk v0.7.0, gix-traverse v0.32.0, gix-worktree-stream v0.4.0, gix-archive v0.4.0, gix-config-value v0.14.0, gix-tempfile v9.0.0, gix-lock v9.0.0, gix-ref v0.36.0, gix-sec v0.10.0, gix-config v0.29.0, gix-prompt v0.7.0, gix-url v0.23.0, gix-credentials v0.19.0, gix-diff v0.35.0, gix-discover v0.24.0, gix-ignore v0.7.0, gix-index v0.24.0, gix-macros v0.1.0, gix-mailmap v0.18.0, gix-negotiate v0.7.0, gix-pack v0.42.0, gix-odb v0.52.0, gix-pathspec v0.2.0, gix-packetline v0.16.6, gix-transport v0.36.0, gix-protocol v0.39.0, gix-revision v0.21.0, gix-refspec v0.17.0, gix-submodule v0.3.0, gix-worktree v0.25.0, gix-worktree-state v0.2.0, gix v0.53.0, safety bump 39 crates (
8bd0456) - Prepare changelogs for release (
375db06) - Merge branch
dynification (f658fcc) - Use
dyntrait where possible. (072ee32) - Merge branch 'gix-submodule' (
363ee77) </details>
- Release gix-date v0.8.0, gix-hash v0.13.0, gix-features v0.34.0, gix-actor v0.26.0, gix-object v0.36.0, gix-path v0.10.0, gix-glob v0.12.0, gix-attributes v0.18.0, gix-packetline-blocking v0.16.6, gix-filter v0.4.0, gix-fs v0.6.0, gix-commitgraph v0.20.0, gix-hashtable v0.4.0, gix-revwalk v0.7.0, gix-traverse v0.32.0, gix-worktree-stream v0.4.0, gix-archive v0.4.0, gix-config-value v0.14.0, gix-tempfile v9.0.0, gix-lock v9.0.0, gix-ref v0.36.0, gix-sec v0.10.0, gix-config v0.29.0, gix-prompt v0.7.0, gix-url v0.23.0, gix-credentials v0.19.0, gix-diff v0.35.0, gix-discover v0.24.0, gix-ignore v0.7.0, gix-index v0.24.0, gix-macros v0.1.0, gix-mailmap v0.18.0, gix-negotiate v0.7.0, gix-pack v0.42.0, gix-odb v0.52.0, gix-pathspec v0.2.0, gix-packetline v0.16.6, gix-transport v0.36.0, gix-protocol v0.39.0, gix-revision v0.21.0, gix-refspec v0.17.0, gix-submodule v0.3.0, gix-worktree v0.25.0, gix-worktree-state v0.2.0, gix v0.53.0, safety bump 39 crates (
-
0.9.022 Aug 2023Release notes
Open source →A first usable version of
gixto make usinggitoxidefrom your applications so much easier. It serves as a one-stop shop for application developers without sacrificing performance by default while making common use-cases more convenient.Feature list
gixas hub crate for application development with focus on usability without sacrificing any knob to tune performance.- opt-in
asyncforgix-packetline,gix-transportandgix-protocolfor fully async git clients, along with thelight-asyncfeature toggle to build agix pack-receivewith an async client instead of a blocking one. - Statistics for
gix pack-createwith the-s/--statisticsflag to have data indicating the cost of the operation. Currently it's doing a lot of work that has to be avoided in order to be useable in production and the numbers underline that. Future iterations will cause key metrics to go down. - Packs are now reproducible by default, which means that the same tip will always generate a pack with the same hash. This may be a desirable property for some kinds of packs, but not for others which is why it can be turned off for a considerable speed boost.
gix-tempfilecrategix-lockcrategix-refcrate with complete loose-ref, packed-ref and transaction support.
Performance
- On M1, thanks to a new release, Sha1 is now computed much faster which unlocks a massive performance boost. In my test, verifying/decoding the entire linux kernel pack now happens in 17s, as compared to 37s for canonical
git. gix-objectparsing is a few percent faster thanks a reworked error handling for objects. By default, error collection is disabled entirely making the error case zero-sized. If needed, verbose and stacked errors can be turned on using a feature toggle for applications who expect repositories with malformed objects and need detailed diagnostics.
New Features
- <csr-id-60c9fad8002b4e3f6b9607bba6361871752f4d3d/> control pack and object cache size in megabytes in some sub-commands
Commit Statistics
<csr-read-only-do-not-edit/>
- 5 commits contributed to the release over the course of 26 calendar days.
- 35 days passed between releases.
- 1 commit was understood as conventional.
- 2 unique issues were worked on: #200, #67
Release notes
Open source →<csr-id-229bd4899213f749a7cc124aa2b82a1368fba40f/> <csr-id-5b5983a9686e9fe61a29e9e1b9e905cd4dbd296a/>
New Features (BREAKING)
- <csr-id-df83d746ff44ae192b7c69356624ff8b4cc61dcd/> remove
Spectype in favor ofgix-pathspec::Pattern. The latter isn't included to keep concerns and crates separate.
Commit Statistics
<csr-read-only-do-not-edit/>
- 6 commits contributed to the release over the course of 12 calendar days.
- 31 days passed between releases.
- 3 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
- Uncategorized
- Release gix-date v0.7.3, gix-hash v0.12.0, gix-features v0.33.0, gix-actor v0.25.0, gix-object v0.35.0, gix-path v0.9.0, gix-glob v0.11.0, gix-quote v0.4.7, gix-attributes v0.17.0, gix-command v0.2.9, gix-packetline-blocking v0.16.5, gix-filter v0.3.0, gix-fs v0.5.0, gix-commitgraph v0.19.0, gix-hashtable v0.3.0, gix-revwalk v0.6.0, gix-traverse v0.31.0, gix-worktree-stream v0.3.0, gix-archive v0.3.0, gix-config-value v0.13.0, gix-tempfile v8.0.0, gix-lock v8.0.0, gix-ref v0.35.0, gix-sec v0.9.0, gix-config v0.28.0, gix-prompt v0.6.0, gix-url v0.22.0, gix-credentials v0.18.0, gix-diff v0.34.0, gix-discover v0.23.0, gix-ignore v0.6.0, gix-bitmap v0.2.7, gix-index v0.22.0, gix-mailmap v0.17.0, gix-negotiate v0.6.0, gix-pack v0.41.0, gix-odb v0.51.0, gix-pathspec v0.1.0, gix-packetline v0.16.5, gix-transport v0.35.0, gix-protocol v0.38.0, gix-revision v0.20.0, gix-refspec v0.16.0, gix-submodule v0.2.0, gix-worktree v0.24.0, gix-worktree-state v0.1.0, gix v0.52.0, gitoxide-core v0.31.0, gitoxide v0.29.0, safety bump 41 crates (
30b2761) - Update changelogs prior to release (
f23ea88) - Don't call crate 'WIP' in manifest anymore. (
229bd48) - Merge branch 'pathspec-matching' (
9f4dfe0) - Remove
Spectype in favor ofgix-pathspec::Pattern. (df83d74) - Make clear that
normalize()does not touch duplicate path separators nor single.. (5b5983a) </details>
- Release gix-date v0.7.3, gix-hash v0.12.0, gix-features v0.33.0, gix-actor v0.25.0, gix-object v0.35.0, gix-path v0.9.0, gix-glob v0.11.0, gix-quote v0.4.7, gix-attributes v0.17.0, gix-command v0.2.9, gix-packetline-blocking v0.16.5, gix-filter v0.3.0, gix-fs v0.5.0, gix-commitgraph v0.19.0, gix-hashtable v0.3.0, gix-revwalk v0.6.0, gix-traverse v0.31.0, gix-worktree-stream v0.3.0, gix-archive v0.3.0, gix-config-value v0.13.0, gix-tempfile v8.0.0, gix-lock v8.0.0, gix-ref v0.35.0, gix-sec v0.9.0, gix-config v0.28.0, gix-prompt v0.6.0, gix-url v0.22.0, gix-credentials v0.18.0, gix-diff v0.34.0, gix-discover v0.23.0, gix-ignore v0.6.0, gix-bitmap v0.2.7, gix-index v0.22.0, gix-mailmap v0.17.0, gix-negotiate v0.6.0, gix-pack v0.41.0, gix-odb v0.51.0, gix-pathspec v0.1.0, gix-packetline v0.16.5, gix-transport v0.35.0, gix-protocol v0.38.0, gix-revision v0.20.0, gix-refspec v0.16.0, gix-submodule v0.2.0, gix-worktree v0.24.0, gix-worktree-state v0.1.0, gix v0.52.0, gitoxide-core v0.31.0, gitoxide v0.29.0, safety bump 41 crates (
-
0.8.422 Jul 2023Release notes
Open source →A maintenance release without user-facing changes.
Commit Statistics
<csr-read-only-do-not-edit/>
- 4 commits contributed to the release over the course of 1 calendar day.
- 23 days passed between releases.
- 0 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
- Uncategorized
- Release gix-features v0.32.1, gix-actor v0.24.1, gix-validate v0.7.7, gix-object v0.33.1, gix-path v0.8.4, gix-glob v0.10.1, gix-quote v0.4.6, gix-attributes v0.16.0, gix-command v0.2.8, gix-packetline-blocking v0.16.4, gix-filter v0.2.0, gix-fs v0.4.1, gix-chunk v0.4.4, gix-commitgraph v0.18.1, gix-hashtable v0.2.4, gix-revwalk v0.4.1, gix-traverse v0.30.1, gix-worktree-stream v0.2.0, gix-archive v0.2.0, gix-config-value v0.12.5, gix-tempfile v7.0.1, gix-utils v0.1.5, gix-lock v7.0.2, gix-ref v0.33.1, gix-sec v0.8.4, gix-prompt v0.5.4, gix-url v0.21.1, gix-credentials v0.17.1, gix-diff v0.33.1, gix-discover v0.22.1, gix-ignore v0.5.1, gix-bitmap v0.2.6, gix-index v0.21.1, gix-mailmap v0.16.1, gix-negotiate v0.5.1, gix-pack v0.40.1, gix-odb v0.50.1, gix-packetline v0.16.4, gix-transport v0.34.1, gix-protocol v0.36.1, gix-revision v0.18.1, gix-refspec v0.14.1, gix-worktree v0.23.0, gix v0.50.0, safety bump 5 crates (
16295b5) - Release gix-date v0.7.1, gix-hash v0.11.4, gix-trace v0.1.3, gix-features v0.32.0, gix-actor v0.24.0, gix-validate v0.7.7, gix-object v0.33.0, gix-path v0.8.4, gix-glob v0.10.0, gix-quote v0.4.6, gix-attributes v0.15.0, gix-command v0.2.7, gix-packetline-blocking v0.16.3, gix-filter v0.1.0, gix-fs v0.4.0, gix-chunk v0.4.4, gix-commitgraph v0.18.0, gix-hashtable v0.2.4, gix-revwalk v0.4.0, gix-traverse v0.30.0, gix-worktree-stream v0.2.0, gix-archive v0.2.0, gix-config-value v0.12.4, gix-tempfile v7.0.1, gix-utils v0.1.5, gix-lock v7.0.2, gix-ref v0.33.0, gix-sec v0.8.4, gix-prompt v0.5.3, gix-url v0.21.0, gix-credentials v0.17.0, gix-diff v0.33.0, gix-discover v0.22.0, gix-ignore v0.5.0, gix-bitmap v0.2.6, gix-index v0.21.0, gix-mailmap v0.16.0, gix-negotiate v0.5.0, gix-pack v0.40.0, gix-odb v0.50.0, gix-packetline v0.16.4, gix-transport v0.34.0, gix-protocol v0.36.0, gix-revision v0.18.0, gix-refspec v0.14.0, gix-worktree v0.22.0, gix v0.49.1 (
5cb3589) - Update changelogs prior to release (
2fc66b5) - Update license field following SPDX 2.1 license expression standard (
9064ea3) </details>
- Release gix-features v0.32.1, gix-actor v0.24.1, gix-validate v0.7.7, gix-object v0.33.1, gix-path v0.8.4, gix-glob v0.10.1, gix-quote v0.4.6, gix-attributes v0.16.0, gix-command v0.2.8, gix-packetline-blocking v0.16.4, gix-filter v0.2.0, gix-fs v0.4.1, gix-chunk v0.4.4, gix-commitgraph v0.18.1, gix-hashtable v0.2.4, gix-revwalk v0.4.1, gix-traverse v0.30.1, gix-worktree-stream v0.2.0, gix-archive v0.2.0, gix-config-value v0.12.5, gix-tempfile v7.0.1, gix-utils v0.1.5, gix-lock v7.0.2, gix-ref v0.33.1, gix-sec v0.8.4, gix-prompt v0.5.4, gix-url v0.21.1, gix-credentials v0.17.1, gix-diff v0.33.1, gix-discover v0.22.1, gix-ignore v0.5.1, gix-bitmap v0.2.6, gix-index v0.21.1, gix-mailmap v0.16.1, gix-negotiate v0.5.1, gix-pack v0.40.1, gix-odb v0.50.1, gix-packetline v0.16.4, gix-transport v0.34.1, gix-protocol v0.36.1, gix-revision v0.18.1, gix-refspec v0.14.1, gix-worktree v0.23.0, gix v0.50.0, safety bump 5 crates (
-
0.8.329 Jun 2023Release notes
Open source →Commit Statistics
<csr-read-only-do-not-edit/>
- 1 commit contributed to the release over the course of 8 calendar days.
- 21 days passed between releases.
- 0 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Release notes
Open source →A maintenance release without user-facing changes.
Commit Statistics
<csr-read-only-do-not-edit/>
- 3 commits contributed to the release.
- 7 days passed between releases.
- 0 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
-
0.8.222 Jun 2023Release notes
Open source →Commit Statistics
<csr-read-only-do-not-edit/>
- 1 commit contributed to the release over the course of 1 calendar day.
- 2 days passed between releases.
- 0 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Release notes
Open source →<csr-id-bcad5c22049d56a25ef69d6c7a3344e78f9a1d4d/>
New Features
- <csr-id-3cffa268460eb2d41bd6a30d45778b88db4ec602/> provide basic
tracingspans for common operations. This is just the beginning and more crates will integrate with it over time.
Commit Statistics
<csr-read-only-do-not-edit/>
- 8 commits contributed to the release over the course of 10 calendar days.
- 16 days passed between releases.
- 2 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
- Uncategorized
- Release gix-date v0.6.0, gix-hash v0.11.3, gix-trace v0.1.1, gix-features v0.31.0, gix-actor v0.22.0, gix-path v0.8.2, gix-glob v0.9.0, gix-quote v0.4.5, gix-attributes v0.14.0, gix-chunk v0.4.3, gix-commitgraph v0.17.0, gix-config-value v0.12.2, gix-fs v0.3.0, gix-tempfile v7.0.0, gix-utils v0.1.3, gix-lock v7.0.0, gix-validate v0.7.6, gix-object v0.31.0, gix-ref v0.31.0, gix-sec v0.8.2, gix-config v0.24.0, gix-command v0.2.6, gix-prompt v0.5.2, gix-url v0.20.0, gix-credentials v0.16.0, gix-diff v0.31.0, gix-discover v0.20.0, gix-hashtable v0.2.2, gix-ignore v0.4.0, gix-bitmap v0.2.5, gix-revwalk v0.2.0, gix-traverse v0.28.0, gix-index v0.19.0, gix-mailmap v0.14.0, gix-negotiate v0.3.0, gix-pack v0.38.0, gix-odb v0.48.0, gix-packetline v0.16.3, gix-transport v0.33.0, gix-protocol v0.34.0, gix-revision v0.16.0, gix-refspec v0.12.0, gix-worktree v0.20.0, gix v0.47.0, gitoxide-core v0.29.0, gitoxide v0.27.0, safety bump 30 crates (
ea9f942) - Prepare changelogs prior to release (
18b0a37) - Merge branch 'corpus' (
aa16c8c) - Release gix-trace v0.1.0 (
2ab69c6) - Change MSRV to 1.65 (
4f635fc) - Provide basic
tracingspans for common operations. (3cffa26) - Merge branch 'help-874-redundant-closures' (
fe59956) - Add
clippy::redundant-closure-for-method-callslint (bcad5c2) </details>
- Release gix-date v0.6.0, gix-hash v0.11.3, gix-trace v0.1.1, gix-features v0.31.0, gix-actor v0.22.0, gix-path v0.8.2, gix-glob v0.9.0, gix-quote v0.4.5, gix-attributes v0.14.0, gix-chunk v0.4.3, gix-commitgraph v0.17.0, gix-config-value v0.12.2, gix-fs v0.3.0, gix-tempfile v7.0.0, gix-utils v0.1.3, gix-lock v7.0.0, gix-validate v0.7.6, gix-object v0.31.0, gix-ref v0.31.0, gix-sec v0.8.2, gix-config v0.24.0, gix-command v0.2.6, gix-prompt v0.5.2, gix-url v0.20.0, gix-credentials v0.16.0, gix-diff v0.31.0, gix-discover v0.20.0, gix-hashtable v0.2.2, gix-ignore v0.4.0, gix-bitmap v0.2.5, gix-revwalk v0.2.0, gix-traverse v0.28.0, gix-index v0.19.0, gix-mailmap v0.14.0, gix-negotiate v0.3.0, gix-pack v0.38.0, gix-odb v0.48.0, gix-packetline v0.16.3, gix-transport v0.33.0, gix-protocol v0.34.0, gix-revision v0.16.0, gix-refspec v0.12.0, gix-worktree v0.20.0, gix v0.47.0, gitoxide-core v0.29.0, gitoxide v0.27.0, safety bump 30 crates (
-
0.8.106 Jun 2023Release notes
Open source →Commit Statistics
<csr-read-only-do-not-edit/>
- 42 commits contributed to the release over the course of 95 calendar days.
- 98 days passed between releases.
- 0 commits were understood as conventional.
- 1 unique issue was worked on: #83
Thanks Clippy
<csr-read-only-do-not-edit/>
Clippy helped 1 time to make code idiomatic.
Release notes
Open source →A maintenance release without user-facing changes.
Commit Statistics
<csr-read-only-do-not-edit/>
- 7 commits contributed to the release over the course of 12 calendar days.
- 40 days passed between releases.
- 0 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
- Uncategorized
- Release gix-date v0.5.1, gix-hash v0.11.2, gix-features v0.30.0, gix-actor v0.21.0, gix-path v0.8.1, gix-glob v0.8.0, gix-quote v0.4.4, gix-attributes v0.13.0, gix-chunk v0.4.2, gix-commitgraph v0.16.0, gix-config-value v0.12.1, gix-fs v0.2.0, gix-tempfile v6.0.0, gix-utils v0.1.2, gix-lock v6.0.0, gix-validate v0.7.5, gix-object v0.30.0, gix-ref v0.30.0, gix-sec v0.8.1, gix-config v0.23.0, gix-command v0.2.5, gix-prompt v0.5.1, gix-url v0.19.0, gix-credentials v0.15.0, gix-diff v0.30.0, gix-discover v0.19.0, gix-hashtable v0.2.1, gix-ignore v0.3.0, gix-bitmap v0.2.4, gix-traverse v0.26.0, gix-index v0.17.0, gix-mailmap v0.13.0, gix-revision v0.15.0, gix-negotiate v0.2.0, gix-pack v0.36.0, gix-odb v0.46.0, gix-packetline v0.16.2, gix-transport v0.32.0, gix-protocol v0.33.0, gix-refspec v0.11.0, gix-worktree v0.18.0, gix v0.45.0, safety bump 29 crates (
9a9fa96) - Prepare changelogs prior to release (
8f15cec) - Merge branch 'auto-clippy' (
dbf8aa1) - Merge branch 'main' into auto-clippy (
3ef5c90) - Merge branch 'blinxen/main' (
9375cd7) - Include custom clippy settings (
b057500) - Include license files in all crates (
facaaf6) </details>
- Release gix-date v0.5.1, gix-hash v0.11.2, gix-features v0.30.0, gix-actor v0.21.0, gix-path v0.8.1, gix-glob v0.8.0, gix-quote v0.4.4, gix-attributes v0.13.0, gix-chunk v0.4.2, gix-commitgraph v0.16.0, gix-config-value v0.12.1, gix-fs v0.2.0, gix-tempfile v6.0.0, gix-utils v0.1.2, gix-lock v6.0.0, gix-validate v0.7.5, gix-object v0.30.0, gix-ref v0.30.0, gix-sec v0.8.1, gix-config v0.23.0, gix-command v0.2.5, gix-prompt v0.5.1, gix-url v0.19.0, gix-credentials v0.15.0, gix-diff v0.30.0, gix-discover v0.19.0, gix-hashtable v0.2.1, gix-ignore v0.3.0, gix-bitmap v0.2.4, gix-traverse v0.26.0, gix-index v0.17.0, gix-mailmap v0.13.0, gix-revision v0.15.0, gix-negotiate v0.2.0, gix-pack v0.36.0, gix-odb v0.46.0, gix-packetline v0.16.2, gix-transport v0.32.0, gix-protocol v0.33.0, gix-refspec v0.11.0, gix-worktree v0.18.0, gix v0.45.0, safety bump 29 crates (
-
0.8.027 Apr 2023Release notes
Open source →A maintenance release without user-facing changes.
Changed (BREAKING)
- <csr-id-94564df0b5edcb41f1088c6db04add851c66b2af/> Moved
home_dir()toenv::home_dir()andenv_var()toenv::var(). Please note that this change was previously and erroneously not declared as breaking.
Commit Statistics
<csr-read-only-do-not-edit/>
- 4 commits contributed to the release.
- 1 day passed between releases.
- 1 commit was understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
- Uncategorized
- Release gix-path v0.8.0, gix-glob v0.7.0, gix-attributes v0.12.0, gix-config-value v0.12.0, gix-ref v0.29.0, gix-sec v0.8.0, gix-config v0.22.0, gix-prompt v0.5.0, gix-url v0.18.0, gix-credentials v0.14.0, gix-discover v0.18.0, gix-ignore v0.2.0, gix-pack v0.35.0, gix-odb v0.45.0, gix-transport v0.31.0, gix-protocol v0.32.0, gix-refspec v0.10.1, gix-worktree v0.17.0, gix v0.44.1 (
7ebc9f7) - Prepare changelogs prior to release (
0135158) - Bump gix-path v0.8.0, safety bump 20 crates (gix set to 0.44.1 manually) (
43ebaf2) - Moved
home_dir()toenv::home_dir()andenv_var()toenv::var(). (94564df) </details>
- Release gix-path v0.8.0, gix-glob v0.7.0, gix-attributes v0.12.0, gix-config-value v0.12.0, gix-ref v0.29.0, gix-sec v0.8.0, gix-config v0.22.0, gix-prompt v0.5.0, gix-url v0.18.0, gix-credentials v0.14.0, gix-discover v0.18.0, gix-ignore v0.2.0, gix-pack v0.35.0, gix-odb v0.45.0, gix-transport v0.31.0, gix-protocol v0.32.0, gix-refspec v0.10.1, gix-worktree v0.17.0, gix v0.44.1 (
- <csr-id-94564df0b5edcb41f1088c6db04add851c66b2af/> Moved
-
0.7.426 Apr 2023 withdrawnRelease notes
Open source →YANKED due to accidental breaking changes.
New Features
- <csr-id-1e73f3c319caec0298cdd8c34f29ff78ff4060ab/> add
join_bstr_unix_pathsep(base, component). It's useful to have to avoid certain conversions to happen otherwise. - <csr-id-0d340f4fdeff1576460d43ca2210b11f0641c5dd/> add
xdg_config_home(), installation_configandinstallation_config_prefix()` functions.
Bug Fixes
- <csr-id-bd1ae0db32191fb96d6b2a55b9fcb635d1652c1f/>
join_bstr_unix_pathsep()works more suitably if base path is empty. - <csr-id-13edfe96696636c30040ec81ebc4e235ac689429/> use
homeinenv::home_dir() - <csr-id-ec049fec7f789f6b55ca18a691388c44778603d4/> use
homeinenv::home_dir(). This way it should work better on windows as it now uses the home_dir implementation of a crate used bycargo.
Commit Statistics
<csr-read-only-do-not-edit/>
- 15 commits contributed to the release over the course of 13 calendar days.
- 27 days passed between releases.
- 5 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
- Uncategorized
- Release gix-hash v0.11.1, gix-path v0.7.4, gix-glob v0.6.0, gix-attributes v0.11.0, gix-config-value v0.11.0, gix-fs v0.1.1, gix-tempfile v5.0.3, gix-utils v0.1.1, gix-lock v5.0.1, gix-object v0.29.1, gix-ref v0.28.0, gix-sec v0.7.0, gix-config v0.21.0, gix-prompt v0.4.0, gix-url v0.17.0, gix-credentials v0.13.0, gix-diff v0.29.0, gix-discover v0.17.0, gix-hashtable v0.2.0, gix-ignore v0.1.0, gix-bitmap v0.2.3, gix-traverse v0.25.0, gix-index v0.16.0, gix-mailmap v0.12.0, gix-pack v0.34.0, gix-odb v0.44.0, gix-packetline v0.16.0, gix-transport v0.30.0, gix-protocol v0.31.0, gix-revision v0.13.0, gix-refspec v0.10.0, gix-worktree v0.16.0, gix v0.44.0, safety bump 7 crates (
91134a1) - Prepare changelogs prior to release (
30a1a71) - Merge branch 'index-entries-attrs' (
f37a930) join_bstr_unix_pathsep()works more suitably if base path is empty. (bd1ae0d)- Merge branch 'attributes-cache' (
3456c84) - Add
join_bstr_unix_pathsep(base, component). (1e73f3c) - Merge branch 'utkarshgupta137/main' (
74cb5ee) - Use
homeinenv::home_dir()(13edfe9) - Revert "fix: use
homeinenv::home_dir()." (222ece2) - Merge branch 'utkarshgupta137/main' (
5092c59) - Use
homeinenv::home_dir(). (ec049fe) - Make fmt (
5d2b5d0) - Merge branch 'main' into dev (
23ee47f) - Merge branch 'worktree-stack' (
3d47919) - Add
xdg_config_home(), installation_configandinstallation_config_prefix()functions. ([0d340f4`](https://github.com/GitoxideLabs/gitoxide/commit/0d340f4fdeff1576460d43ca2210b11f0641c5dd)) </details>
- Release gix-hash v0.11.1, gix-path v0.7.4, gix-glob v0.6.0, gix-attributes v0.11.0, gix-config-value v0.11.0, gix-fs v0.1.1, gix-tempfile v5.0.3, gix-utils v0.1.1, gix-lock v5.0.1, gix-object v0.29.1, gix-ref v0.28.0, gix-sec v0.7.0, gix-config v0.21.0, gix-prompt v0.4.0, gix-url v0.17.0, gix-credentials v0.13.0, gix-diff v0.29.0, gix-discover v0.17.0, gix-hashtable v0.2.0, gix-ignore v0.1.0, gix-bitmap v0.2.3, gix-traverse v0.25.0, gix-index v0.16.0, gix-mailmap v0.12.0, gix-pack v0.34.0, gix-odb v0.44.0, gix-packetline v0.16.0, gix-transport v0.30.0, gix-protocol v0.31.0, gix-revision v0.13.0, gix-refspec v0.10.0, gix-worktree v0.16.0, gix v0.44.0, safety bump 7 crates (
- <csr-id-1e73f3c319caec0298cdd8c34f29ff78ff4060ab/> add
-
0.7.330 Mar 2023Release notes
Open source →Bug Fixes
- <csr-id-d1bd513f27e17787eb223f7b0521f954c518153e/> $HOME detection on windows
Commit Statistics
<csr-read-only-do-not-edit/>
- 4 commits contributed to the release.
- 38 days passed between releases.
- 1 commit was understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
- Uncategorized
- Release gix-path v0.7.3, gix-config-value v0.10.2, gix-config v0.20.1, gix-discover v0.16.2, gix-index v0.15.1, gix-odb v0.43.1, gix-packetline v0.15.1, gix-protocol v0.30.2, gix-worktree v0.15.2, gix v0.43.1 (
38eed1d) - Merge branch 'pascalkuthe/main' (
d47cebe) - Refactor (
d1e5e12) - $HOME detection on windows (
d1bd513) </details>
- Release gix-path v0.7.3, gix-config-value v0.10.2, gix-config v0.20.1, gix-discover v0.16.2, gix-index v0.15.1, gix-odb v0.43.1, gix-packetline v0.15.1, gix-protocol v0.30.2, gix-worktree v0.15.2, gix v0.43.1 (
-
0.7.220 Feb 2023Release notes
Open source →Bug Fixes
- <csr-id-135d317065aae87af302beb6c26bb6ca8e30b6aa/> compatibility with
bstrv1.3, use*.as_bytes()instead of.as_ref().as_ref()relies on a known target type which isn't always present. However, once there is only one implementation, that's no problem, but when that changes compilation fails due to ambiguity.
Commit Statistics
<csr-read-only-do-not-edit/>
- 2 commits contributed to the release.
- 3 days passed between releases.
- 1 commit was understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
- Uncategorized
- Release gix-date v0.4.3, gix-hash v0.10.3, gix-features v0.26.5, gix-actor v0.17.2, gix-glob v0.5.5, gix-path v0.7.2, gix-quote v0.4.2, gix-attributes v0.8.3, gix-validate v0.7.3, gix-object v0.26.2, gix-ref v0.24.1, gix-config v0.16.2, gix-command v0.2.4, gix-url v0.13.3, gix-credentials v0.9.2, gix-discover v0.13.1, gix-index v0.12.4, gix-mailmap v0.9.3, gix-pack v0.30.3, gix-packetline v0.14.3, gix-transport v0.25.6, gix-protocol v0.26.4, gix-revision v0.10.4, gix-refspec v0.7.3, gix-worktree v0.12.3, gix v0.36.1 (
9604783) - Compatibility with
bstrv1.3, use*.as_bytes()instead of.as_ref(). (135d317) </details>
- Release gix-date v0.4.3, gix-hash v0.10.3, gix-features v0.26.5, gix-actor v0.17.2, gix-glob v0.5.5, gix-path v0.7.2, gix-quote v0.4.2, gix-attributes v0.8.3, gix-validate v0.7.3, gix-object v0.26.2, gix-ref v0.24.1, gix-config v0.16.2, gix-command v0.2.4, gix-url v0.13.3, gix-credentials v0.9.2, gix-discover v0.13.1, gix-index v0.12.4, gix-mailmap v0.9.3, gix-pack v0.30.3, gix-packetline v0.14.3, gix-transport v0.25.6, gix-protocol v0.26.4, gix-revision v0.10.4, gix-refspec v0.7.3, gix-worktree v0.12.3, gix v0.36.1 (
- <csr-id-135d317065aae87af302beb6c26bb6ca8e30b6aa/> compatibility with
-
0.7.117 Feb 2023Release notes
Open source →<csr-id-37cab07f283a368f323604372c84475d73d6c258/> <csr-id-54801592488416ef2bb0f34c5061b62189c35c5e/> <csr-id-8ab47bbdac44c0fa738215d3cc457eb3b6f30504/> <csr-id-e4f4c4b2c75a63a40a174e3a006ea64ef8d78809/> <csr-id-f7f136dbe4f86e7dee1d54835c420ec07c96cd78/> <csr-id-533e887e80c5f7ede8392884562e1c5ba56fb9a8/>
Bug Fixes (BREAKING)
-
<csr-id-7dbab1c62c49822983c59be0443478f7b4fecbca/>
absolutize()now takes a mandatorycurrent_dir()parameter and returnsOption<path>Previously the function was willing to return an empty path despite it being invalid. With thecurrent_dirbeing required, this won't be the case anymore and will yield logically consistent results in all cases.This forces the caller to deal with the relative path being invalid or crafted to produce some other path, maybe to bypass sanity checks.
-
<csr-id-c9933c0b0f51d21dc8244b2acc33d7dc8a33f6ce/> Remove
git-configtest utilities fromgit-path.
New Features (BREAKING)
-
<csr-id-3d8fa8fef9800b1576beab8a5bc39b821157a5ed/> upgrade edition to 2021 in most crates. MSRV for this is 1.56, and we are now at 1.60 so should be compatible. This isn't more than a patch release as it should break nobody who is adhering to the MSRV, but let's be careful and mark it breaking.
Note that
git-featuresandgit-packare still on edition 2018 as they make use of a workaround to support (safe) mutable access to non-overlapping entries in a slice which doesn't work anymore in edition 2021. -
<csr-id-266d4379e9132fd7dd21e6c8fccb36e125069d6e/> Make
realpath()easier to use by introducingrealpath_opt(). That way there is consistency about how many symlinks to follow.
Changed (BREAKING)
- <csr-id-99905bacace8aed42b16d43f0f04cae996cb971c/> upgrade
bstrto1.0.1 - <csr-id-dfa1e05d3c983f1e8b1cb3b80d03608341187883/>
realpath()handlescwdinternally This makes for more convenient usage in the common case.
Bug Fixes
-
<csr-id-745d92636f8a3436ded0c9da21beb92182341998/>
.substitution is only done if the input was relative. Previously it was possible to have/a/b/../band a CWD of/a/breplaced with.even though that clearly isn't what the user provided.Now the
.resubstitution only happens when it's in the interest of the caller. -
<csr-id-92d5d133e17c6b79400ec57b55ccd5337f3796b7/>
normalize()would fail to interpret../correctly and end up in an invalid path. This is now fixed and should never happen again thanks to the addition of a missing test. -
<csr-id-9171adb796b38b08cae9bdd375b16a59a8166a1c/> Handle
.specifically inabsolutize(). Previously, absolutizing./../../would lead to one path component of the../to be ignored as.was popped successfully, not realizing that it is a no-op.This could lead to problems with repository discovery if
.was passed.
New Features
-
<csr-id-25e795f4fe858d646ae7a3c4706e14a3837c3e66/> Add
os_string_into_bstring()as sibling ofos_str_into_bstr(). -
<csr-id-523418f69030faa0add6472b14333e9aafc69f56/> add support for
wasiThis allows path conversions there to be just as efficient as on unix.This was adopted from a PR in the hexlix-editor.
-
<csr-id-f58a043273b8e15afd01aac71f33652783baf462/> add
is_absolute()for git-style absolute checks This essentially means that starting slashes are always absolute, even on windows. -
<csr-id-35f146a8573dcc9a1de3230373c0cf0794c6b897/> Add
absolutize_components()It helps to cleanup paths a little which comes in handy when dealing withcommondirappended paths.
Documentation
- <csr-id-39ed9eda62b7718d5109135e5ad406fb1fe2978c/> fix typos
Commit Statistics
<csr-read-only-do-not-edit/>
- 189 commits contributed to the release.
- 20 commits were understood as conventional.
- 6 unique issues were worked on: #301, #331, #422, #450, #470, #691
Thanks Clippy
<csr-read-only-do-not-edit/>
Clippy helped 5 times to make code idiomatic.
Commit Details
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
- #301
- Update changelogs prior to release (
84cb256) absolutize_*(dir)is nowabsolutize(dir, Option<cwd>)(de87657)- More robust absolutize-paths implementation (
4800ebe) - Add
absolutize_components()(35f146a) - Allow reading patterns from stdin (
0c597fe) - :discover()
now returns the shortest path. ([e4f4c4b`](https://github.com/GitoxideLabs/gitoxide/commit/e4f4c4b2c75a63a40a174e3a006ea64ef8d78809)) - Basic prefix support as well the first working version of
exclude query(9cb8385) - Frame for
gix repo exclude query(a331314) - Refactor (
21d4076) - The first indication that directory-based excludes work (
e868acc) - Various name changes for more convenient API (
5480159) - Use bstr intead of [u8] (
9380e99) - Use
git-pathcrate instead ofgit_features::path(47e607d) - Copy all existing functions from git-features::path to git-path:: (
725e198) - Add empty git-path crate (
8d13f81)
- Update changelogs prior to release (
- #331
realpath()handlescwdinternally (dfa1e05)
- #422
- Prepare changelog (
de2d587)
- Prepare changelog (
- #450
- #470
- #691
- Set
rust-versionto 1.64 (55066ce)
- Set
- Uncategorized
- Release gix-features v0.26.4, gix-actor v0.17.1, gix-glob v0.5.3, gix-path v0.7.1, gix-quote v0.4.1, gix-attributes v0.8.2, gix-config-value v0.10.1, gix-tempfile v3.0.2, gix-lock v3.0.2, gix-validate v0.7.2, gix-object v0.26.1, gix-ref v0.24.0, gix-sec v0.6.2, gix-config v0.16.1, gix-command v0.2.3, gix-prompt v0.3.2, gix-url v0.13.2, gix-credentials v0.9.1, gix-diff v0.26.1, gix-discover v0.13.0, gix-hashtable v0.1.1, gix-bitmap v0.2.1, gix-traverse v0.22.1, gix-index v0.12.3, gix-mailmap v0.9.2, gix-chunk v0.4.1, gix-pack v0.30.2, gix-odb v0.40.2, gix-packetline v0.14.2, gix-transport v0.25.4, gix-protocol v0.26.3, gix-revision v0.10.3, gix-refspec v0.7.2, gix-worktree v0.12.2, gix v0.36.0 (
6efd0d3) - Release gix-date v0.4.2, gix-hash v0.10.2, gix-features v0.26.4, gix-actor v0.17.1, gix-glob v0.5.3, gix-path v0.7.1, gix-quote v0.4.1, gix-attributes v0.8.2, gix-config-value v0.10.1, gix-tempfile v3.0.2, gix-lock v3.0.2, gix-validate v0.7.2, gix-object v0.26.1, gix-ref v0.24.0, gix-sec v0.6.2, gix-config v0.16.1, gix-command v0.2.3, gix-prompt v0.3.2, gix-url v0.13.2, gix-credentials v0.9.1, gix-diff v0.26.1, gix-discover v0.13.0, gix-hashtable v0.1.1, gix-bitmap v0.2.1, gix-traverse v0.22.1, gix-index v0.12.3, gix-mailmap v0.9.2, gix-chunk v0.4.1, gix-pack v0.30.2, gix-odb v0.40.2, gix-packetline v0.14.2, gix-transport v0.25.4, gix-protocol v0.26.3, gix-revision v0.10.3, gix-refspec v0.7.2, gix-worktree v0.12.2, gix v0.36.0 (
6ccc88a) - Merge branch 'rename-crates' into inform-about-gix-rename (
c9275b9) - Rename
git-testtoolstogix-testtools(b65c33d) - Adjust to renaming of
git-packtogix-pack(1ee81ad) - Adjust to renaming of
git-odbtogix-odb(476e2ad) - Adjust to renaming of
git-indextogix-index(86db5e0) - Adjust to renaming of
git-difftogix-diff(49a163e) - Adjust to renaming of
git-commitgraphtogix-commitgraph(f1dd0a3) - Adjust to renaming of
git-mailmaptogix-mailmap(2e28c56) - Adjust to renaming of
git-discovertogix-discover(53adfe1) - Adjust to renaming of
git-chunktogix-chunk(59194e3) - Adjust to renaming of
git-bitmaptogix-bitmap(75f2a07) - Adjust to renaming for
git-protocoltogix-protocol(823795a) - Adjust to renaming of
git-refspectogix-refspec(c958802) - Adjust to renaming of
git-revisiontogix-revision(ee0ee84) - Adjust to renaming of
git-transporttogix-transport(b2ccf71) - Adjust to renaming of
git-credentialstogix-credentials(6b18abc) - Adjust to renaming of
git-prompttogix-prompt(6a4654e) - Adjust to renaming of
git-commandtogix-command(d26b8e0) - Adjust to renaming of
git-packetlinetogix-packetline(5cbd22c) - Adjust to renaming of
git-worktreetogix-worktree(73a1282) - Adjust to renamining of
git-worktreetogix-worktree(108bb1a) - Adjust to renaming of
git-urltogix-url(b50817a) - Adjust to renaming of
git-datetogix-date(9a79ff2) - Adjust to renaming of
git-pathspectogix-pathspec(37f7c6b) - Adjust to renamining of
git-attributestogix-attributes(4a8b3b8) - Adjust to renaminig of
git-quotetogix-quote(648025b) - Adjust to renaming of
git-configtogix-config(3a861c8) - Adjust to renaming of
git-reftogix-ref(1f5f695) - Adjust to renaming of
git-locktogix-lock(2028e78) - Adjust to renaming of
git-tempfiletogix-tempfile(b6cc3eb) - Adjust to renaming of
git-objecttogix-object(fc86a1e) - Adjust to renaming of
git-actortogix-actor(4dc9b44) - Adjust to renaming of
git-validatetogix-validate(5e40ad0) - Adjust to renaming of
git-hashtogix-hash(4a9d025) - Adjust to renaming of
git-featurestogix-features(e2dd68a) - Adjust to renaming of
git-globtogix-glob(35b2a3a) - Adjust to renaming of
git-sectogix-sec(eabbb92) - Adapt to renaming of
git-pathtogix-path(d3bbcfc) - Rename
git-pathtogix-path(9fe8e83) - Adjust to rename of
git-config-valuetogix-config-value(622b3e1) - Merge branch 'git-pack-wasm' (
4bc19d1) - CI validates WASM support (
0d4b804) - Release git-date v0.4.2, git-hash v0.10.2, git-features v0.26.2, git-actor v0.17.1, git-glob v0.5.3, git-path v0.7.1, git-quote v0.4.1, git-attributes v0.8.2, git-config-value v0.10.1, git-tempfile v3.0.2, git-lock v3.0.2, git-validate v0.7.2, git-object v0.26.1, git-ref v0.24.0, git-sec v0.6.2, git-config v0.16.0, git-command v0.2.3, git-prompt v0.3.2, git-url v0.13.2, git-credentials v0.9.1, git-diff v0.26.1, git-discover v0.13.0, git-hashtable v0.1.1, git-bitmap v0.2.1, git-traverse v0.22.1, git-index v0.12.3, git-mailmap v0.9.2, git-chunk v0.4.1, git-pack v0.30.2, git-odb v0.40.2, git-packetline v0.14.2, git-transport v0.25.4, git-protocol v0.26.3, git-revision v0.10.2, git-refspec v0.7.2, git-worktree v0.12.2, git-repository v0.34.0, safety bump 3 crates (
c196d20) - Prepare changelogs prior to release (
7c846d2) - Merge branch 'Lioness100/main' (
1e544e8) - Fix typos (
39ed9ed) - Thanks clippy (
bac57dd) - Release git-date v0.3.1, git-features v0.25.0, git-actor v0.15.0, git-glob v0.5.1, git-path v0.7.0, git-attributes v0.7.0, git-config-value v0.10.0, git-lock v3.0.1, git-validate v0.7.1, git-object v0.24.0, git-ref v0.21.0, git-sec v0.6.0, git-config v0.13.0, git-prompt v0.3.0, git-url v0.12.0, git-credentials v0.8.0, git-diff v0.24.0, git-discover v0.10.0, git-traverse v0.20.0, git-index v0.10.0, git-mailmap v0.7.0, git-pack v0.28.0, git-odb v0.38.0, git-packetline v0.14.1, git-transport v0.24.0, git-protocol v0.25.0, git-revision v0.8.0, git-refspec v0.5.0, git-worktree v0.10.0, git-repository v0.30.0, safety bump 26 crates (
e6b9906) - Prepare chnagelogs prior to git-repository release (
7114bbb) - Merge branch 'main' into read-split-index (
c57bdde) - Merge branch 'adjustments-for-cargo' (
083909b) - Thanks clippy (
f1160fb) - Make fmt (
747008d) - Merge branch 'main' into http-config (
6b9632e) - Merge branch 'discovery-fix' (
689752e) .substitution is only done if the input was relative. (745d926)normalize()would fail to interpret../correctly and end up in an invalid path. (92d5d13)- Merge branch 'path-normalize' (
805329a) - Rename tests/convert/normalize.rs (
8ab47bb) - Rename absolutize() to normalize() (
37cab07) - Add
os_string_into_bstring()as sibling ofos_str_into_bstr(). (25e795f) - Merge branch 'main' into http-config (
bcd9654) - Release git-hash v0.10.0, git-features v0.24.0, git-date v0.3.0, git-actor v0.14.0, git-glob v0.5.0, git-path v0.6.0, git-quote v0.4.0, git-attributes v0.6.0, git-config-value v0.9.0, git-tempfile v3.0.0, git-lock v3.0.0, git-validate v0.7.0, git-object v0.23.0, git-ref v0.20.0, git-sec v0.5.0, git-config v0.12.0, git-command v0.2.0, git-prompt v0.2.0, git-url v0.11.0, git-credentials v0.7.0, git-diff v0.23.0, git-discover v0.9.0, git-bitmap v0.2.0, git-traverse v0.19.0, git-index v0.9.0, git-mailmap v0.6.0, git-chunk v0.4.0, git-pack v0.27.0, git-odb v0.37.0, git-packetline v0.14.0, git-transport v0.23.0, git-protocol v0.24.0, git-revision v0.7.0, git-refspec v0.4.0, git-worktree v0.9.0, git-repository v0.29.0, git-commitgraph v0.11.0, gitoxide-core v0.21.0, gitoxide v0.19.0, safety bump 28 crates (
b2c301e) - Prepare changelogs prior to release (
e4648f8) - Merge branch 'discover-rel-path' (
5f908fb) - Improve documentation to clarify intent (
b8f73aa) - Merge branch 'cwd-consistency' (
ea7c6a3) - Adapt to changes in
git-discoverandgit-pathandgit-odb(98c2501) absolutize()now takes a mandatorycurrent_dir()parameter and returnsOption<path>(7dbab1c)- Merge branch 'version2021' (
0e4462d) - Upgrade edition to 2021 in most crates. (
3d8fa8f) - Merge branch 'diff' (
25a7726) - Release git-hash v0.9.10, git-features v0.22.5, git-date v0.2.0, git-actor v0.12.0, git-glob v0.4.0, git-path v0.5.0, git-quote v0.3.0, git-attributes v0.4.0, git-config-value v0.8.0, git-tempfile v2.0.5, git-validate v0.6.0, git-object v0.21.0, git-ref v0.16.0, git-sec v0.4.0, git-config v0.8.0, git-discover v0.5.0, git-traverse v0.17.0, git-index v0.5.0, git-worktree v0.5.0, git-testtools v0.9.0, git-command v0.1.0, git-prompt v0.1.0, git-url v0.9.0, git-credentials v0.5.0, git-diff v0.19.0, git-mailmap v0.4.0, git-chunk v0.3.2, git-pack v0.23.0, git-odb v0.33.0, git-packetline v0.13.0, git-transport v0.20.0, git-protocol v0.20.0, git-revision v0.5.0, git-refspec v0.2.0, git-repository v0.24.0, git-commitgraph v0.9.0, gitoxide-core v0.18.0, gitoxide v0.16.0, safety bump 28 crates (
29a043b) - Merge branch 'filter-refs' (
fd14489) - Merge branch 'filter-refs-by-spec' (
5c05198) - Merge branch 'main' into index-from-tree (
bc64b96) - Release git-path v0.4.2, git-config-value v0.7.0 (
c48fb31) - Merge branch 'main' into filter-refs-by-spec (
cfa1440) - Release git-path v0.4.1 (
5e82346) - Handle
.specifically inabsolutize(). (9171adb) - Merge branch 'main' into remote-ls-refs (
e2ee3de) - Merge branch 'docsrs-show-features' (
31c2351) - Uniformize deny attributes (
f7f136d) - Remove default link to cargo doc everywhere (
533e887) - Merge pull request #2 from SidneyDouw/main (
ce885ad) - Merge branch 'Byron:main' into main (
9b9ea02) - Merge branch 'main' into rev-parse-delegate (
6da8250) - Merge branch 'main' into pathspec (
7b61506) - Release git-hash v0.9.6, git-features v0.22.0, git-date v0.0.2, git-actor v0.11.0, git-glob v0.3.1, git-path v0.4.0, git-attributes v0.3.0, git-tempfile v2.0.2, git-object v0.20.0, git-ref v0.15.0, git-sec v0.3.0, git-config v0.6.0, git-credentials v0.3.0, git-diff v0.17.0, git-discover v0.3.0, git-index v0.4.0, git-mailmap v0.3.0, git-traverse v0.16.0, git-pack v0.21.0, git-odb v0.31.0, git-url v0.7.0, git-transport v0.19.0, git-protocol v0.18.0, git-revision v0.3.0, git-worktree v0.4.0, git-repository v0.20.0, git-commitgraph v0.8.0, gitoxide-core v0.15.0, gitoxide v0.13.0, safety bump 22 crates (
4737b1e) - Prepare changelog prior to release (
3c50625) - Merge pull request #1 from Byron/main (
085e76b) - Make fmt (
0700b09) - Fix docs (
4f8e3b1) - Thanks clippy (
7a2a31e) - Merge branch 'main' into pathspec (
89ea12b) - Merge branch 'main' into cont_include_if (
0e9df36) - Generally avoid using
target_os = "windows"in favor ofcfg(windows)and negations (91d5402) - Use git_path::realpath in all places that allow it right now (
229dc91) - Avoid unwraps in tests as they are now stable (
efa1423) - Remove canonicalized-path abstraction (
9496e55) - Merge branch 'main' into cont_include_if (
41ea8ba) - Release git-path v0.3.0, safety bump 14 crates (
400c9be) - Fix git-paths tests; improve error handling. (
9c00504) - Docs for git-path (
a520092) - Remove
git-configtest utilities fromgit-path. (c9933c0) - Release git-date v0.0.1, git-hash v0.9.5, git-features v0.21.1, git-actor v0.10.1, git-path v0.2.0, git-attributes v0.2.0, git-ref v0.14.0, git-sec v0.2.0, git-config v0.5.0, git-credentials v0.2.0, git-discover v0.2.0, git-pack v0.20.0, git-odb v0.30.0, git-url v0.6.0, git-transport v0.18.0, git-protocol v0.17.0, git-revision v0.2.1, git-worktree v0.3.0, git-repository v0.19.0, safety bump 13 crates (
a417177) - Update changelogs prior to release (
bb424f5) - Make fmt (
c665aef) - Merge branch 'main' into svetli-n-cont_include_if (
315c87e) - Make
realpath()easier to use by introducingrealpath_opt(). (266d437) - Merge branch 'main' into SidneyDouw-pathspec (
a22b1d8) - Release git-path v0.1.3, git-discover v0.1.2, git-repository v0.18.1, cargo-smart-release v0.10.1 (
b7399cc) - Prepare for smart-release release (
2f74cb0) - Adjust git-path size limits (
5ac8a3b) - Release git-path v0.1.2, git-sec v0.1.1, git-config v0.4.0, git-discover v0.1.1, git-pack v0.19.1, git-repository v0.18.0, cargo-smart-release v0.10.0, safety bump 2 crates (
ceb6dff) - Merge branch 'svetli-n-git_includeif' (
cf24fbe) - Remove forbid missing_docs (
23acebb) - Merge branch 'main' into git_includeif (
229d938) - Declare
git-pathusable (496594d) - Merge branch 'main' into git_includeif (
598c853) - Release git-hash v0.9.4, git-features v0.21.0, git-actor v0.10.0, git-glob v0.3.0, git-path v0.1.1, git-attributes v0.1.0, git-sec v0.1.0, git-config v0.3.0, git-credentials v0.1.0, git-validate v0.5.4, git-object v0.19.0, git-diff v0.16.0, git-lock v2.1.0, git-ref v0.13.0, git-discover v0.1.0, git-index v0.3.0, git-mailmap v0.2.0, git-traverse v0.15.0, git-pack v0.19.0, git-odb v0.29.0, git-packetline v0.12.5, git-url v0.5.0, git-transport v0.17.0, git-protocol v0.16.0, git-revision v0.2.0, git-worktree v0.2.0, git-repository v0.17.0, safety bump 20 crates (
654cf39) - Make fmt (
e043807) - Fix create_symlink (
714db70) - Add includeIf test with symlink. (
5d74404) - Fix realpath tests. (
0426f4d) - Refactor real_path tests. (
b696849) - Refactor real_path tests. (
8ade69f) - Fix windows (probably) (
c980014) - Thanks clippy (
da13aff) - Refactor (
6bba054) - Turn recursion into loop (
9b83c2c) - Refactor (
1ca0540) - Refactor (
1f6ecd2) - Refactor (
5efb972) - Refactor (
353c245) - Put
realpathinto its own module (d142e01) - Refactor (
50583f0) - Rename
real_path()torealpath()(478ff6c) - Refactor (
8f1daf5) - Fix linux test (
8a36810) - Fix windows test. (
1afb2da) - Temp ignore real_path_tests. (
c2f5db9) - Windows absolute path. (
8dc33cc) - Windows absolute path. (
070f8c7) - Windows absolute path. (
cefc8fb) - Windows absolute path. (
31a71f3) - Fix merge. (
f2b46df) - Merge branch 'main' into git_includeif (
b1bfc8f) - Add custom tempdir in. (
8bfd52a) - Merge branch 'basic-worktree-support' (
e058bda) - Thanks clippy (
a084951) - Temp ignore real_path_tests. (
27f4bfc) - Windows fix. (
ce0b408) - Windows fix. (
25dd319) - Windows fix. (
61bc0e7) - Merge branch 'main' into git_includeif (
05eb340) - Handle windows path prefix. (
1723236) - Max symlinks exceeded test. (
cfff300) - Use thiserror in
real_path()(2bd7a44) - Input_path is Iterator. (
c993d78) - Real_path wip (
3890a61) - Merge branch 'main' into msrv-for-windows (
7cb1972) - Make fmt (
251b6df) - Merge branch 'worktree-stack' (
98da8ba) - Release git-path v0.1.0 (
ca019fc) </details>
- Release gix-features v0.26.4, gix-actor v0.17.1, gix-glob v0.5.3, gix-path v0.7.1, gix-quote v0.4.1, gix-attributes v0.8.2, gix-config-value v0.10.1, gix-tempfile v3.0.2, gix-lock v3.0.2, gix-validate v0.7.2, gix-object v0.26.1, gix-ref v0.24.0, gix-sec v0.6.2, gix-config v0.16.1, gix-command v0.2.3, gix-prompt v0.3.2, gix-url v0.13.2, gix-credentials v0.9.1, gix-diff v0.26.1, gix-discover v0.13.0, gix-hashtable v0.1.1, gix-bitmap v0.2.1, gix-traverse v0.22.1, gix-index v0.12.3, gix-mailmap v0.9.2, gix-chunk v0.4.1, gix-pack v0.30.2, gix-odb v0.40.2, gix-packetline v0.14.2, gix-transport v0.25.4, gix-protocol v0.26.3, gix-revision v0.10.3, gix-refspec v0.7.2, gix-worktree v0.12.2, gix v0.36.0 (
-