Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

0.26.0 (2023-10-12)

A maintenance release without user-facing changes.

Commit Statistics

  • 1 commit contributed to the release.
  • 17 days passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Prepare changelogs prior to release (1347a54)

0.25.0 (2023-09-24)

A maintenance release without user-facing changes.

Commit Statistics

  • 2 commits contributed to the release.
  • 16 days passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Release gix-features v0.35.0, gix-actor v0.27.0, gix-object v0.37.0, gix-glob v0.13.0, gix-attributes v0.19.0, gix-filter v0.5.0, gix-fs v0.7.0, gix-commitgraph v0.21.0, gix-revwalk v0.8.0, gix-traverse v0.33.0, gix-worktree-stream v0.5.0, gix-archive v0.5.0, gix-tempfile v10.0.0, gix-lock v10.0.0, gix-ref v0.37.0, gix-config v0.30.0, gix-url v0.24.0, gix-credentials v0.20.0, gix-diff v0.36.0, gix-discover v0.25.0, gix-ignore v0.8.0, gix-index v0.25.0, gix-mailmap v0.19.0, gix-negotiate v0.8.0, gix-pack v0.43.0, gix-odb v0.53.0, gix-pathspec v0.3.0, gix-transport v0.37.0, gix-protocol v0.40.0, gix-revision v0.22.0, gix-refspec v0.18.0, gix-status v0.1.0, gix-submodule v0.4.0, gix-worktree v0.26.0, gix-worktree-state v0.3.0, gix v0.54.0, gitoxide-core v0.32.0, gitoxide v0.30.0, safety bump 37 crates (7891fb1)
    • Prepare changelogs prior to release (8a60d5b)

0.24.0 (2023-09-08)

Bug Fixes (BREAKING)

  • use dyn trait where possible. This reduces compile time due to avoiding duplication.

Commit Statistics

  • 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

  • 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 dyn trait where possible. (072ee32)
    • Merge branch ‘gix-submodule’ (363ee77)

0.23.0 (2023-08-22)

Bug Fixes

  • fix incorrect s/git-config/gix-config/ 3a861c8f049f6502d3bcbdac752659aa1aeda46a just blindly replaced any occurence of “git-config” or “git_config” with “gix-config”/“gix_config”.

    There is no such thing as a gix-config file. gix-config is a git-config file parser.

Bug Fixes (BREAKING)

  • bare() can now make sure it detects bare repos, at an expense. In order to be very sure it's the correct guess, we have to open and quick-parse a the bare line.

Commit Statistics

  • 9 commits contributed to the release over the course of 18 calendar days.
  • 30 days passed between releases.
  • 2 commits were understood as conventional.
  • 1 unique issue was worked on: #980

Commit Details

  • #980
    • bare() can now make sure it detects bare repos, at an expense. (169228b)
  • Uncategorized
    • Release 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 (6c62e74)
    • 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)
    • Merge pull request #988 from not-my-profile/fix-gix-config-sub (7735047)
    • Fix incorrect s/git-config/gix-config/ (c51c8da)
    • Release gix-glob v0.10.2, gix-date v0.7.2, gix-validate v0.8.0, gix-object v0.34.0, gix-ref v0.34.0, gix-config v0.27.0, gix-commitgraph v0.18.2, gix-revwalk v0.5.0, gix-revision v0.19.0, gix-refspec v0.15.0, gix-submodule v0.1.0, safety bump 18 crates (4604f83)
    • Merge branch ‘dev-on-linux’ (6b4a303)
    • Fix various tests to run properly on linux (ef8ccd9)

0.22.1 (2023-07-22)

A maintenance release without user-facing changes.

Commit Statistics

  • 7 commits contributed to the release over the course of 1 calendar day.
  • 3 days passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Release 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 (0062971)
    • Release gix-tempfile v7.0.2, 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 (107a64e)
    • 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)
    • Prepare more changelogs (c4cc5f2)
    • 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)

0.22.0 (2023-07-19)

A maintenance release without user-facing changes.

Commit Statistics

  • 4 commits contributed to the release over the course of 4 calendar days.
  • 19 days passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Thanks Clippy

Clippy helped 1 time to make code idiomatic.

Commit Details

  • Uncategorized
    • Release gix-features v0.32.0, gix-actor v0.24.0, gix-glob v0.10.0, gix-attributes v0.15.0, gix-commitgraph v0.18.0, gix-config-value v0.12.4, gix-fs v0.4.0, gix-object v0.33.0, gix-ref v0.33.0, gix-config v0.26.0, gix-command v0.2.7, gix-url v0.21.0, gix-credentials v0.17.0, gix-diff v0.33.0, gix-discover v0.22.0, gix-filter v0.1.0, gix-ignore v0.5.0, gix-revwalk v0.4.0, gix-traverse v0.30.0, 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-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.0 (68ae3ff)
    • Adjust package versions (by cargo-smart-release) (c70e54f)
    • Prepare changelogs prior to release (e4dded0)
    • Thanks clippy (3ef32af)

0.21.1 (2023-06-29)

A maintenance release without user-facing changes.

Commit Statistics

  • 3 commits contributed to the release.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Release gix-glob v0.9.1, gix-attributes v0.14.1, gix-config-value v0.12.3, gix-ref v0.32.1, gix-sec v0.8.3, gix-config v0.25.1, gix-url v0.20.1, gix-credentials v0.16.1, gix-discover v0.21.1, gix-ignore v0.4.1, gix-pack v0.39.1, gix-odb v0.49.1, gix-worktree v0.21.1, gix v0.48.0 (69c6a36)
    • Prepare changelogs prior to release (c143cf4)
    • Align usage of gix-path across all crates (73c1292)

0.21.0 (2023-06-29)

A maintenance release without user-facing changes.

Commit Statistics

  • 2 commits contributed to the release.
  • 6 days passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Release gix-date v0.7.0, gix-trace v0.1.2, gix-actor v0.23.0, gix-commitgraph v0.17.1, gix-utils v0.1.4, gix-object v0.32.0, gix-ref v0.32.0, gix-config v0.25.0, gix-diff v0.32.0, gix-discover v0.21.0, gix-hashtable v0.2.3, gix-revwalk v0.3.0, gix-traverse v0.29.0, gix-index v0.20.0, gix-mailmap v0.15.0, gix-negotiate v0.4.0, gix-pack v0.39.0, gix-odb v0.49.0, gix-protocol v0.35.0, gix-revision v0.17.0, gix-refspec v0.13.0, gix-worktree v0.21.0, gix v0.48.0, safety bump 20 crates (27e8c18)
    • Prepare changelogs prior to release (00f96fb)

0.20.0 (2023-06-22)

Chore

  • Add clippy::redundant-closure-for-method-calls lint

Commit Statistics

  • 6 commits contributed to the release over the course of 10 calendar days.
  • 15 days passed between releases.
  • 1 commit was understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • 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)
    • Change MSRV to 1.65 (4f635fc)
    • Merge branch ‘help-874-redundant-closures’ (fe59956)
    • Add clippy::redundant-closure-for-method-calls lint (bcad5c2)

0.19.0 (2023-06-06)

Bug Fixes

  • make it possible to discover a bare repository with an index file. It‘s perfectly viable and possible to manually create an index in a bare repository. When that happens, previously it wasn’t possible to open a repository on it. This is now fixed.

Commit Statistics

  • 12 commits contributed to the release over the course of 13 calendar days.
  • 37 days passed between releases.
  • 1 commit was understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • 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)
    • just fmt (ffc1276)
    • Prepare changelogs prior to release (8f15cec)
    • Merge branch ‘fix-docs’ (420553a)
    • Cleaning up documentation (2578e57)
    • Merge branch ‘auto-clippy’ (dbf8aa1)
    • Autofix map-or-unwrap clippy lint (and manual fix what was left) (2087032)
    • Merge branch ‘main’ into auto-clippy (3ef5c90)
    • Merge branch ‘blinxen/main’ (9375cd7)
    • Include custom clippy settings (b057500)
    • Include license files in all crates (facaaf6)
    • Make it possible to discover a bare repository with an index file. (9626770)

0.18.1 (2023-04-29)

A maintenance release without user-facing changes.

Commit Statistics

  • 3 commits contributed to the release.
  • 2 days passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Release gix-discover v0.18.1, gix-worktree v0.17.1, gix-testtools v0.12.0 (f7b6c6f)
    • Prepare changelogs prior to release of gix-testtools (fc45f1b)
    • Release gix-ref v0.29.1 (13e01f5)

0.18.0 (2023-04-27)

A maintenance release without user-facing changes.

Commit Statistics

  • 3 commits contributed to the release.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • 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)

0.17.0 (2023-04-26)

New Features

  • discover_opts supports an option to see non-bare repos only. Knowing this allows for an optimization that saves a few syscalls for maximum performance, or minimum penalty on very slow filesystems.

Bug Fixes

  • common-dir is now queried only when needed. Previously it added costs that were accumulating during discovery.
  • speedup HEAD detection in is_git() Previously it would always check with a store which has a fuzzy search right now. Instead, we check once ourselves before trying to read HEAD for validation.
  • try .git subdir early for higher chances of success. This will find worktrees faster, which should be most of the dev directories out there.

Commit Statistics

  • 14 commits contributed to the release over the course of 23 calendar days.
  • 27 days passed between releases.
  • 4 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • 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 ‘faster-discovery’ (282a1a3)
    • discover_opts supports an option to see non-bare repos only. (1b8d9e6)
    • Common-dir is now queried only when needed. (abbae1c)
    • Avoid redundant metadata queries for directories (f36abd5)
    • Speedup HEAD detection in is_git() (7613249)
    • Try .git subdir early for higher chances of success. (7543fab)
    • Merge branch ‘fix-823’ (6ebd61e)
    • Add test to assure we can handle bare repos with index file. (a68692b)
    • Release gix-utils v0.1.0, gix-hash v0.11.0, gix-date v0.5.0, gix-features v0.29.0, gix-actor v0.20.0, gix-object v0.29.0, gix-archive v0.1.0, gix-fs v0.1.0, safety bump 25 crates (8dbd0a6)
    • Release gix-hash v0.10.4, gix-hashtable v0.1.3 (b574a39)
    • Merge branch ‘patch-1’ (d0052c1)
    • Upgrade serial-test to v2 (6932017)

0.16.2 (2023-03-30)

Documentation

  • fix minor typos

Commit Statistics

  • 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

  • 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)
    • Fix minor typos (cc48c35)
    • Release gix-ref v0.27.2 (e965b18)

0.16.1 (2023-03-26)

A maintenance release without any user-facing changes.

Commit Statistics

  • 5 commits contributed to the release over the course of 15 calendar days.
  • 15 days passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Release gix-tempfile v5.0.2, gix-validate v0.7.4, gix-config v0.20.0, gix-prompt v0.3.3, gix-diff v0.28.1, gix-discover v0.16.1, gix-pack v0.33.2, gix-transport v0.29.1, gix-protocol v0.30.1, gix-revision v0.12.1, gix-worktree v0.15.1, gix v0.43.0, safety bump gix v0.43.0 (5dc1f9f)
    • Prepare changelogs prior to release (3016a28)
    • Merge branch ‘fix-790’ (ee36e5b)
    • Less dependencies for tests (via serial_test no default features) (8f2accd)
    • Merge branch ‘fix-cred-helper’ (01277a6)

0.16.0 (2023-03-10)

Bug Fixes (BREAKING)

  • add missing ‘not’ in error messages

Commit Statistics

  • 4 commits contributed to the release.
  • 6 days passed between releases.
  • 1 commit was understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Release gix-tempfile v5.0.0, gix-lock v5.0.0, gix-ref v0.27.0, gix-config v0.19.0, gix-url v0.16.0, gix-credentials v0.12.0, gix-discover v0.16.0, gix-index v0.15.0, gix-pack v0.33.0, gix-odb v0.43.0, gix-transport v0.28.0, gix-protocol v0.29.0, gix-worktree v0.15.0, gix v0.41.0, safety bump 12 crates (29a0870)
    • Prepare changelogs prior to release (e06f5f5)
    • Merge branch ‘771_missing_negtive_in_error_message_returned_by_gix_discover’ (7f6e67d)
    • Add missing ‘not’ in error messages (61ee905)

0.15.0 (2023-03-04)

A maintenance release without user-facing changes.

Commit Statistics

  • 3 commits contributed to the release.
  • 3 days passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Release gix-attributes v0.10.0, gix-ref v0.26.0, gix-config v0.18.0, gix-url v0.15.0, gix-credentials v0.11.0, gix-discover v0.15.0, gix-index v0.14.0, gix-mailmap v0.11.0, gix-odb v0.42.0, gix-transport v0.27.0, gix-protocol v0.28.0, gix-revision v0.12.0, gix-refspec v0.9.0, gix-worktree v0.14.0, gix v0.39.0 (93e75fe)
    • Prepare changelogs prior to release (895e482)
    • Release gix-features v0.28.0, gix-actor v0.19.0, gix-object v0.28.0, gix-diff v0.28.0, gix-traverse v0.24.0, gix-pack v0.32.0, safety bump 20 crates (0f411e9)

0.14.0 (2023-03-01)

A maintenance release without user-facing changes.

Commit Statistics

  • 5 commits contributed to the release over the course of 2 calendar days.
  • 8 days passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Release gix-tempfile v4.1.0, gix-lock v4.0.0, gix-ref v0.25.0, gix-config v0.17.0, gix-url v0.14.0, gix-credentials v0.10.0, gix-diff v0.27.0, gix-discover v0.14.0, gix-hashtable v0.1.2, gix-bitmap v0.2.2, gix-traverse v0.23.0, gix-index v0.13.0, gix-mailmap v0.10.0, gix-pack v0.31.0, gix-odb v0.41.0, gix-transport v0.26.0, gix-protocol v0.27.0, gix-revision v0.11.0, gix-refspec v0.8.0, gix-worktree v0.13.0, gix v0.38.0, safety bump 6 crates (ea9fd1d)
    • Release gix-features v0.27.0, gix-actor v0.18.0, gix-quote v0.4.3, gix-attributes v0.9.0, gix-object v0.27.0, gix-ref v0.25.0, gix-config v0.17.0, gix-url v0.14.0, gix-credentials v0.10.0, gix-diff v0.27.0, gix-discover v0.14.0, gix-hashtable v0.1.2, gix-bitmap v0.2.2, gix-traverse v0.23.0, gix-index v0.13.0, gix-mailmap v0.10.0, gix-pack v0.31.0, gix-odb v0.41.0, gix-transport v0.26.0, gix-protocol v0.27.0, gix-revision v0.11.0, gix-refspec v0.8.0, gix-worktree v0.13.0, gix v0.38.0 (e6cc618)
    • Adjust manifests prior to release (addd789)
    • Prepare changelogs prior to release (94c99c7)
    • Prepare for git-tempfile release (56c005b)

0.13.1 (2023-02-20)

Bug Fixes

  • note that crates have been renamed from git-* to gix-*. This also means that the git-* prefixed crates of the gitoxide project are effectively unmaintained. Use the crates with the gix-* prefix instead.

    If you were using git-repository, then gix is its substitute.

  • GIT_CEILING_DIRECTORIES now handles UNC paths correctly #(730). Previously ceiling directories that were UNC paths would not work together with directories which were not due to different bases.

    Now ceiling directories will be converted non-UNC paths before using them.

  • compatibility with bstr v1.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

  • 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

  • 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 bstr v1.3, use *.as_bytes() instead of .as_ref(). (135d317)

0.13.0 (2023-02-17)

New Features (BREAKING)

  • Path::from_dot_git_dir() now takes the current_dir as argument and returns Option<path> That way it's possible to avoid at least one call of std::env::current_dir() per invocation, which also is more consnstent with similar plumbing methods.

    Furthermore it can signal with None if the input directory was invalid.

  • 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-features and git-pack are 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.

  • Make realpath() easier to use by introducing realpath_opt(). That way there is consistency about how many symlinks to follow.

Changed (BREAKING)

  • upgrade bstr to 1.0.1
  • Provide more details when classifying submodule directories. That way we can avoid feeding .git files to git-repository::open() and avoid work duplication, which ultimately allows to open submodules directories of all kinds.

Other

  • test is_git on macOS exfat
  • allow opening repos on macos exfat
  • avoid shortening absolute paths
  • adopt git-for-windows exception rules
  • add cross_fs option to upwards discovery
  • add ceiling_dirs option to upwards discovery

New Features

  • read worktree specific configuration to override the one from the shared repository. This is intensively used when space checkouts are created, along with Cone mode. Thus it's the basis for properly interpreting sparse checkout options which are set on a per-worktree basis.
  • add is_submodule_git_dir()
  • is_git() now detects submodule worktrees correctly.
  • git_discover::is_git() can detect submodule dirs correctly enough. We currently detect them as possibly bare, which could be improved if we allow ourselves to see .git/modules as submodule always.
  • add DOT_GIT_DIR constant, containing the name “.git”.
  • allow discovery of linked worktree git dirs This also works if the work-tree can't be found but it is otherwise a valid git dir.

Chore

  • uniformize deny attributes
  • remove default link to cargo doc everywhere

Documentation

  • fix typos

Bug Fixes

  • search dirs that are equal to ceiling dirs are allowed to ‘break through’ said ceiling. This makes the discovery behaviour similar to what git does, even though by default we consider it an error if that happens as no ceiling directory matches.

  • ignore cwd as ceiling directory

  • upwards::Options::apply_environment() uses a more ‘git’-like default setup. When environment variables are used, this won‘t lead to an error just because the ceiling directories don’t cover the paths that are currently used for discovery, making it more similar to the behaviour git exhibits as well.

  • make parse_ceiling_dirs resilient to illformed UTF-8 Previously it performed a conversion from bytes to OsStr which might have failed, now it stays with OsStrall the way.

  • split directories by semicolon on Windows

  • GIT_CEILING_DIRECTORIES now handles UNC paths correctly #(730). Previously ceiling directories that were UNC paths would not work together with directories which were not due to different bases.

    Now ceiling directories will be converted non-UNC paths before using them.

  • improve error verbosity when fetching and cloning

  • Discover repo with relative path and ceiling A couple of problems are repaired to allow discovering a repository from “.” with a ceiling directory.

    One problem was that find_ceiling_height() did the wrong thing when confronted with any relative search_dir. This is resolved by converting search_dir to be absolute if it is relative.

    The other problem was that discover_opts() also mishandled relative paths. When the cursor started out as “.”, cursor.pop() would be blindly called such that cursor would be "" for the second iteration. When a ceiling directory was in use such that there was a max_height, the current height would be burned going from “.”, to "", and then to “”, before finally actually getting to a real parent directory. This problem is ameliorated by testing whether the cursor has a non-empty parent before popping.

    N.B. the new test case relies on the test running from the git-discover directory such that the gitoxide repository will be found. This is a bit fragile and will fail if, for example, the test is run from an unpacked gitoxide source tarball.

Commit Statistics

Thanks Clippy

Clippy helped 9 times to make code idiomatic.

Commit Details

  • #301
    • Update changelogs prior to release (84cb256)
    • A test to assure non-existing worktree directories don't hinder discovery (131481c)
    • Allow discovery of linked worktree git dirs (050f795)
    • Path shortening now calculates the actual path length, not just component count (c0d24e0)
    • Adjust to changes in git-path (a627ddc)
    • Adapt to changes in git-path (c258d77)
    • Refactor (81a542f)
    • Rely on absolutize_components() (e844006)
    • Brutally fix path handling of common dirs (e120232)
    • Another test to assure invalid worktree dirs aren't git dirs (e6e3608)
    • Adjust for different errors on windows when handling errors opening files… (9625829)
    • Fix tests on windows (8080ad2)
    • Better tests for worktree discovery (9d0f134)
    • The first working version of worktree detection (dc73e96)
    • Fix windows tests (b025008)
    • Refactor (6b73e0d)
    • Support for gitdir file parsing with all of gits safety (1223fc7)
    • Basic parsing for git-dir files (e11c677)
    • Fix test on windows maybe (9583048)
    • Try to fix winodws build (f2c5ed3)
    • Refactor repositoryKind adjusted to handle linked worktrees (84677cb)
    • Refactor (eead214)
    • Avoid running failing test on any windows (9351a3d)
    • Fix tests on windows maybe (8084581)
    • Don't archive repositories with worktrees (389ef66)
    • Prepare test to provide worktrees of different kinds as well (a4cec4a)
    • Add required support for reading path files (bc08511)
    • Remove handling of environment variables (4e914f8)
    • Add git-discover to check-size (85b29a6)
    • Fix docs (1e3acd0)
    • Refactor (00a988e)
    • Migrate all relevant code from git-repository to git-discover (631e70e)
    • Add empty git-discover crate (6565f16)
  • #331
    • Add DOT_GIT_DIR constant, containing the name “.git”. (0103501)
    • Adjustments due to breaking changes in git_path (4420ae9)
  • #426
    • Allow tests to deal with shared drives by adjusting trust expectation (85ab096)
    • Cleanup (e029eb4)
  • #427
    • Make fmt (4b320e7)
    • Turn on performance mode for sha-1 computation (44371a1)
  • #429
    • Adjust changelogs prior to release (7397805)
  • #450
  • #470
    • Update changelogs prior to release (caa7a1b)
  • #482
    • Add is_submodule_git_dir() (2e015a3)
    • Query the cwd only once instead of potentially multiple times, allocating a Vec each time. (6be38f2)
    • Provide more details when classifying submodule directories. (1b0ef18)
    • Fix windows build (ff488fa)
    • Fix docs (3724f31)
    • is_git() now detects submodule worktrees correctly. (4a3e1cf)
    • Refactor (1ee9918)
    • git_discover::is_git() can detect submodule dirs correctly enough. (aa6fd97)
    • Another test indicating git-discover misclassifies .git/modules as worktree (9133141)
    • Failing test to show discovery skips submodules entirely (b56b57c)
  • #544
    • Fix a test that assumed a non-worktree parent repo. (1908229)
  • #691
  • Uncategorized
    • Release 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 (a5869e0)
    • Release 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 (41d57b9)
    • Release 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 (e313112)
    • 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-testtools to gix-testtools (b65c33d)
    • Adjust to renaming of git-pack to gix-pack (1ee81ad)
    • Adjust to renaming of git-odb to gix-odb (476e2ad)
    • Adjust to renaming of git-index to gix-index (86db5e0)
    • Adjust to renaming of git-diff to gix-diff (49a163e)
    • Adjust to renaming of git-commitgraph to gix-commitgraph (f1dd0a3)
    • Adjust to renaming of git-mailmap to gix-mailmap (2e28c56)
    • Adjust to renaming of git-discover to gix-discover (53adfe1)
    • Rename git-discover to gix-discover (6e619de)
    • Adjust to renaming of git-chunk to gix-chunk (59194e3)
    • Adjust to renaming of git-bitmap to gix-bitmap (75f2a07)
    • Adjust to renaming for git-protocol to gix-protocol (823795a)
    • Adjust to renaming of git-refspec to gix-refspec (c958802)
    • Adjust to renaming of git-revision to gix-revision (ee0ee84)
    • Adjust to renaming of git-transport to gix-transport (b2ccf71)
    • Adjust to renaming of git-credentials to gix-credentials (6b18abc)
    • Adjust to renaming of git-prompt to gix-prompt (6a4654e)
    • Adjust to renaming of git-command to gix-command (d26b8e0)
    • Adjust to renaming of git-packetline to gix-packetline (5cbd22c)
    • Adjust to renaming of git-worktree to gix-worktree (73a1282)
    • Adjust to renamining of git-hashtable to gix-hashtable (26a0c98)
    • Adjust to renamining of git-worktree to gix-worktree (108bb1a)
    • Adjust to renaming of git-url to gix-url (b50817a)
    • Adjust to renaming of git-date to gix-date (9a79ff2)
    • Adjust to renamining of git-attributes to gix-attributes (4a8b3b8)
    • Adjust to renaminig of git-quote to gix-quote (648025b)
    • Adjust to renaming of git-config to gix-config (3a861c8)
    • Adjust to renaming of git-ref to gix-ref (1f5f695)
    • Adjust to renaming of git-lock to gix-lock (2028e78)
    • Adjust to renaming of git-tempfile to gix-tempfile (b6cc3eb)
    • Adjust to renaming of git-object to gix-object (fc86a1e)
    • Adjust to renaming of git-actor to gix-actor (4dc9b44)
    • Adjust to renaming of git-validate to gix-validate (5e40ad0)
    • Adjust to renaming of git-hash to gix-hash (4a9d025)
    • Adjust to renaming of git-features to gix-features (e2dd68a)
    • Adjust to renaming of git-glob to gix-glob (35b2a3a)
    • Adjust to renaming of git-sec to gix-sec (eabbb92)
    • Adapt to renaming of git-path to gix-path (d3bbcfc)
    • Adjust to rename of git-config-value to gix-config-value (622b3e1)
    • Merge branch ‘unc-paths’ (ff0387e)
    • GIT_CEILING_DIRECTORIES now handles UNC paths correctly #(730). (07cd4a8)
    • 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)
    • Search dirs that are equal to ceiling dirs are allowed to ‘break through’ said ceiling. (1a489be)
    • Add test to help understand why it acts the way it does. (48057d3)
    • Ignore cwd as ceiling directory (c91ac5b)
    • Upgrade serial-test to 1.0 (9ab3e25)
    • Thanks clippy (bac57dd)
    • Make fmt (e22080e)
    • upwards::Options::apply_environment() uses a more ‘git’-like default setup. (7016979)
    • Allow ceiling dirs not to match if apply_environment is used (9b7df62)
    • Merge branch ‘fix/ceiling-directories-win’ (78517a6)
    • Make parse_ceiling_dirs resilient to illformed UTF-8 (8840b64)
    • Split directories by semicolon on Windows (1eddfbd)
    • Release git-date v0.4.1, git-features v0.26.1, git-glob v0.5.2, git-attributes v0.8.1, git-tempfile v3.0.1, git-ref v0.23.1, git-sec v0.6.1, git-config v0.15.1, git-prompt v0.3.1, git-url v0.13.1, git-discover v0.12.1, git-index v0.12.2, git-mailmap v0.9.1, git-pack v0.30.1, git-odb v0.40.1, git-transport v0.25.3, git-protocol v0.26.2, git-revision v0.10.1, git-refspec v0.7.1, git-worktree v0.12.1, git-repository v0.33.0 (5b5b380)
    • Prepare changelogs prior to release (93bef97)
    • Merge branch ‘patch-1’ (b93f0c4)
    • Thanks clippy (9e04685)
    • Uprgade serial_test to 0.10 (8623b5a)
    • Release git-ref v0.23.0, git-config v0.15.0, git-command v0.2.2, git-diff v0.26.0, git-discover v0.12.0, git-mailmap v0.9.0, git-pack v0.30.0, git-odb v0.40.0, git-transport v0.25.2, git-protocol v0.26.1, git-revision v0.10.0, git-refspec v0.7.0, git-worktree v0.12.0, git-repository v0.32.0 (ffb5b6a)
    • Prepare changelogs prior to release (4381a03)
    • Release git-date v0.4.0, git-actor v0.17.0, git-object v0.26.0, git-traverse v0.22.0, git-index v0.12.0, safety bump 15 crates (0e3d0a5)
    • Release git-features v0.26.0, git-actor v0.16.0, git-attributes v0.8.0, git-object v0.25.0, git-ref v0.22.0, git-config v0.14.0, git-command v0.2.1, git-url v0.13.0, git-credentials v0.9.0, git-diff v0.25.0, git-discover v0.11.0, git-traverse v0.21.0, git-index v0.11.0, git-mailmap v0.8.0, git-pack v0.29.0, git-odb v0.39.0, git-transport v0.25.0, git-protocol v0.26.0, git-revision v0.9.0, git-refspec v0.6.0, git-worktree v0.11.0, git-repository v0.31.0, safety bump 24 crates (5ac9fbe)
    • Prepare changelogs prior to release (30d8ca1)
    • 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)
    • Adjust to changes in git-testtools (4eb842c)
    • Merge branch ‘adjustments-for-cargo’ (94750e1)
    • Assure git-discover can recognize a repository without a ‘config’ file (7994416)
    • Merge branch ‘adjustments-for-cargo’ (70ccbb2)
    • Improve error verbosity when fetching and cloning (40f7379)
    • Read worktree specific configuration to override the one from the shared repository. (d1b7ec6)
    • Fix typo in docs (2d9b2f1)
    • Release git-hash v0.10.1, git-hashtable v0.1.0 (7717170)
    • Merge branch ‘main’ into http-config (6b9632e)
    • Merge branch ‘path-normalize’ (805329a)
    • Adjust for changes in git-path (cf25e35)
    • Merge branch ‘main’ into http-config (bcd9654)
    • Make fmt (0abab7d)
    • 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)
    • Add test that actually uses chdir like in the real world. (048c8b2)
    • Refactor (cdb9556)
    • Discover repo with relative path and ceiling (6fc5c06)
    • Merge branch ‘cwd-consistency’ (ea7c6a3)
    • Path::from_dot_git_dir() now takes the current_dir as argument and returns Option<path> (b4dcfc7)
    • Merge branch ‘version2021’ (0e4462d)
    • Upgrade edition to 2021 in most crates. (3d8fa8f)
    • Release git-glob v0.4.2, git-config-value v0.8.2, git-lock v2.2.0, git-ref v0.19.0, git-config v0.11.0, git-discover v0.8.0, git-index v0.8.0, git-transport v0.22.0, git-protocol v0.23.0, git-worktree v0.8.0, git-repository v0.28.0, gitoxide-core v0.20.0, gitoxide v0.18.0, safety bump 9 crates (0c253b1)
    • Prepare changelogs prior to release (fe5721f)
    • Release git-features v0.23.1, git-glob v0.4.1, git-config-value v0.8.1, git-tempfile v2.0.6, git-object v0.22.1, git-ref v0.18.0, git-sec v0.4.2, git-config v0.10.0, git-prompt v0.1.1, git-url v0.10.1, git-credentials v0.6.1, git-diff v0.21.0, git-discover v0.7.0, git-index v0.7.0, git-pack v0.25.0, git-odb v0.35.0, git-transport v0.21.1, git-protocol v0.22.0, git-refspec v0.3.1, git-worktree v0.7.0, git-repository v0.26.0, git-commitgraph v0.10.0, gitoxide-core v0.19.0, gitoxide v0.17.0, safety bump 9 crates (d071583)
    • Prepare changelogs prior to release (423af90)
    • Merge branch ‘main’ into write-sparse-index (upgrade to Rust 1.65) (5406630)
    • Thanks clippy (04cfa63)
    • Release git-hash v0.9.11, git-features v0.23.0, git-actor v0.13.0, git-attributes v0.5.0, git-object v0.22.0, git-ref v0.17.0, git-sec v0.4.1, git-config v0.9.0, git-url v0.10.0, git-credentials v0.6.0, git-diff v0.20.0, git-discover v0.6.0, git-traverse v0.18.0, git-index v0.6.0, git-mailmap v0.5.0, git-pack v0.24.0, git-odb v0.34.0, git-packetline v0.13.1, git-transport v0.21.0, git-protocol v0.21.0, git-revision v0.6.0, git-refspec v0.3.0, git-worktree v0.6.0, git-repository v0.25.0, safety bump 24 crates (104d922)
    • Prepare changelogs for release (d232567)
    • Merge branch ‘main’ into new-http-impl (702a161)
    • Merge branch ‘fix-544’ (a0dd96b)
    • Merge branch ‘main’ into fetch-pack (93917cb)
    • Don't run typically failing MacOS specific test on CI anymore (6c9d18b)
    • 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’ (e10554d)
    • Make fmt (535e967)
    • Merge branch ‘filter-refs-by-spec’ (5c05198)
    • Merge branch ‘main’ into filter-refs-by-spec (1f6e5ab)
    • Merge branch ‘fix-522’ (5869e9f)
    • Release git-hash v0.9.9 (da0716f)
    • Merge branch ‘main’ into index-from-tree (bc64b96)
    • Merge branch ‘main’ into filter-refs-by-spec (51dc828)
    • Release git-diff v0.18.1, git-discover v0.4.2, git-traverse v0.16.4, git-repository v0.23.1 (2571831)
    • Prepare changelog prior to release (fc6b958)
    • Merge branch ‘macos-exfat’ (f256f8f)
    • Refactor (2cd1c00)
    • Test is_git on macOS exfat (7057ad2)
    • Allow opening repos on macos exfat (08d0c27)
    • Release git-path v0.4.2, git-config-value v0.7.0 (c48fb31)
    • Merge branch ‘main’ into filter-refs-by-spec (cfa1440)
    • Release git-date v0.0.5, git-hash v0.9.8, git-features v0.22.2, git-actor v0.11.3, git-glob v0.3.2, git-quote v0.2.1, git-attributes v0.3.2, git-tempfile v2.0.4, git-lock v2.1.1, git-validate v0.5.5, git-object v0.20.2, git-ref v0.15.2, git-sec v0.3.1, git-config v0.7.0, git-credentials v0.4.0, git-diff v0.17.2, git-discover v0.4.1, git-bitmap v0.1.2, git-index v0.4.2, git-mailmap v0.3.2, git-chunk v0.3.1, git-traverse v0.16.2, git-pack v0.21.2, git-odb v0.31.2, git-packetline v0.12.7, git-url v0.7.2, git-transport v0.19.2, git-protocol v0.19.0, git-revision v0.4.2, git-refspec v0.1.0, git-worktree v0.4.2, git-repository v0.22.0, safety bump 4 crates (4974eca)
    • Release git-path v0.4.1 (5e82346)
    • 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 branch ‘main’ into remote-ls-refs (bd5f3e8)
    • Release git-date v0.0.3, git-actor v0.11.1, git-attributes v0.3.1, git-tempfile v2.0.3, git-object v0.20.1, git-ref v0.15.1, git-config v0.6.1, git-diff v0.17.1, git-discover v0.4.0, git-bitmap v0.1.1, git-index v0.4.1, git-mailmap v0.3.1, git-traverse v0.16.1, git-pack v0.21.1, git-odb v0.31.1, git-packetline v0.12.6, git-url v0.7.1, git-transport v0.19.1, git-protocol v0.18.1, git-revision v0.4.0, git-worktree v0.4.1, git-repository v0.21.0, safety bump 5 crates (c96473d)
    • Prepare changelogs prior to reelase (c06ae1c)
    • Merge branch ‘submodule-open’ (8f5f3ab)
    • Thanks clippy (2135fb8)
    • Release git-hash v0.9.7, git-features v0.22.1 (232784a)
    • Merge branch ‘rev-parse-delegate’ (2f506c7)
    • 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)
    • Make fmt (47724c0)
    • Release 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 (aa639d8)
    • 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)
    • Merge branch ‘config-comfort’ (84b98d9)
    • Merge branch ‘main’ into pathspec (89ea12b)
    • Merge branch ‘main’ into cont_include_if (0e9df36)
    • Remove another special case on windows due to canonicalize() (61abb0b)
    • Use git_path::realpath in all places that allow it right now (229dc91)
    • Merge branch ‘main’ into cont_include_if (41ea8ba)
    • Release git-path v0.3.0, safety bump 14 crates (400c9be)
    • 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)
    • Refactor (ec37cb8)
    • Refactor (b27a8c2)
    • Refactor (06e96a4)
    • Refactor (b555bda)
    • Unify the way dir_made_absolute is computed (48417fc)
    • Merge branch ‘main’ into davidkna-envopen (bc0abc6)
    • Refactor (7b307f5)
    • Make realpath() easier to use by introducing realpath_opt(). (266d437)
    • Avoid shortening absolute paths (6106521)
    • Add discovery opt env-overrides & env discovery helpers (e521d39)
    • Release git-sec v0.1.2, git-discover v0.1.3, cargo-smart-release v0.10.2 (6cd365e)
    • Merge branch ‘main’ into SidneyDouw-pathspec (a22b1d8)
    • Merge branch ‘davidkna-admin-sec’ (3d0e2c2)
    • 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)
    • Adopt git-for-windows exception rules (136eb37)
    • Merge branch ‘davidkna-discover-x-fs’ (9abaeda)
    • Refactor (aac5169)
    • Use defer to make dmg unmounting more reliable (dbc5caa)
    • Refactor (886e26e)
    • Assure cross-fs check doesn't break if cursor is currently empty (4546889)
    • 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)
    • Add cross_fs option to upwards discovery (277c41f)
    • Re-enable discovery test on windows thanks to use of realpath() (1f4ae9e)
    • Fix windows test failure due to //? by ignoring it there. (c5fd322)
    • Fix windows tests (broke thanks to \?), maybe (e458b59)
    • Assure ceiling dirs are comparable after absolutize (32a157b)
    • Merge branch ‘davidkna-discover-ceiling’ (66944ba)
    • Thanks clippy (4979d20)
    • Refactor (895b772)
    • Control if at least one ceiling dir has to match using an option (ca1f3eb)
    • Revert “remove implicit canonicalization and improve tests” (821f3f3)
    • Refactor (6bbc53b)
    • Merge branch ‘main’ into git_includeif (229d938)
    • Fix special_relative_base test (ae226ba)
    • Remove implicit canonicalization and improve tests (cdbb4c9)
    • Refactor (429446c)
    • Refactor (9673aae)
    • Some more assertions and ceiling dirs (a30bcb8)
    • Add ceiling_dirs option to upwards discovery (e63e722)
    • Declare git-discover usable as it's fully documented (e439015)
    • Merge branch ‘main’ into git_includeif (598c853)
    • Release 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 (349c590)
    • 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)
    • Merge branch ‘refs-and-worktrees’ (8131227)
    • Merge branch ‘main’ into git_includeif (b1bfc8f)
    • Merge branch ‘basic-worktree-support’ (e058bda)
    • Thanks clippy (7617da0)
    • Thanks clippy (a084951)
    • Thanks clippy (3c9da80)
    • Release git-discover v0.0.0 (2b5cf2b)

0.12.1 (2023-01-10)

A maintenance release without user-facing changes.

0.12.0 (2023-01-09)

A maintenance release without user-facing changes.

0.11.0 (2022-12-30)

A maintenance release without user-facing changes.

0.10.0 (2022-12-19)

New Features

  • read worktree specific configuration to override the one from the shared repository. This is intensively used when space checkouts are created, along with Cone mode. Thus it's the basis for properly interpreting sparse checkout options which are set on a per-worktree basis.

Bug Fixes

  • improve error verbosity when fetching and cloning

0.9.0 (2022-11-21)

Bug Fixes

  • Discover repo with relative path and ceiling A couple of problems are repaired to allow discovering a repository from “.” with a ceiling directory.

    One problem was that find_ceiling_height() did the wrong thing when confronted with any relative search_dir. This is resolved by converting search_dir to be absolute if it is relative.

    The other problem was that discover_opts() also mishandled relative paths. When the cursor started out as “.”, cursor.pop() would be blindly called such that cursor would be "" for the second iteration. When a ceiling directory was in use such that there was a max_height, the current height would be burned going from “.”, to "", and then to “”, before finally actually getting to a real parent directory. This problem is ameliorated by testing whether the cursor has a non-empty parent before popping.

    N.B. the new test case relies on the test running from the gix-discover directory such that the gitoxide repository will be found. This is a bit fragile and will fail if, for example, the test is run from an unpacked gitoxide source tarball.

New Features (BREAKING)

  • Path::from_dot_git_dir() now takes the current_dir as argument and returns Option<path> That way it's possible to avoid at least one call of std::env::current_dir() per invocation, which also is more consistent with similar plumbing methods.

    Furthermore it can signal with None if the input directory was invalid.

  • 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 gix-features and gix-pack are 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.

0.8.0 (2022-11-17)

A maintenance release without user-facing changes.

0.7.0 (2022-11-06)

A maintenance release without user-facing changes.

0.6.0 (2022-10-10)

Maintenance release without user-facing changes.

0.5.0 (2022-09-20)

Changed (BREAKING)

  • upgrade bstr to 1.0.1

0.4.2 (2022-09-01)

Other

  • test is_git on macOS exfat
  • allow opening repos on macos exfat

0.4.1 (2022-08-24)

Chore

  • uniformize deny attributes
  • remove default link to cargo doc everywhere

0.4.0 (2022-08-17)

New Features

  • add is_submodule_git_dir()
  • is_git() now detects submodule worktrees correctly.
  • gix_discover::is_git() can detect submodule dirs correctly enough. We currently detect them as possibly bare, which could be improved if we allow ourselves to see .git/modules as submodule always.

Changed (BREAKING)

  • Provide more details when classifying submodule directories. That way we can avoid feeding .git files to git-repository::open() and avoid work duplication, which ultimately allows to open submodules directories of all kinds.

0.3.0 (2022-07-22)

New Features

  • add DOT_GIT_DIR constant, containing the name “.git”.

0.2.0 (2022-06-13)

Other

  • avoid shortening absolute paths

New Features (BREAKING)

  • Make realpath() easier to use by introducing realpath_opt(). That way there is consistency about how many symlinks to follow.

0.1.3 (2022-05-27)

A maintenance release without user-facing changes.

0.1.2 (2022-05-23)

Features

  • discover now avoid crossing file-system boundaries by default on unix.

Other

  • adopt git-for-windows exception rules

0.1.1 (2022-05-21)

Other

  • add ceiling_dirs option to upwards discovery

Other

  • add cross_fs option to upwards discovery

0.1.0 (2022-05-18)

New Features

  • allow discovery of linked worktree git dirs This also works if the work-tree can't be found but it is otherwise a valid git dir.

0.0.0 (2022-05-06)

The first release, an empty crate.