620 lines · 37.7 KB · Markdown
RawDownload

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.7.2 (2023-02-17)

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.

Commit Statistics

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

Commit Details

view details
  • Uncategorized
    • note that crates have been renamed from git-* to gix-*. (e14dc7d)
    • Merge branch 'git-pack-wasm' (4bc19d1)
    • CI validates WASM support (0d4b804)

0.7.1 (2023-02-09)

Documentation

  • fix typos

Commit Statistics

  • 6 commits contributed to the release over the course of 28 calendar days.
  • 52 days passed between releases.
  • 1 commit was understood as conventional.
  • 1 unique issue was worked on: #691

Thanks Clippy

Clippy helped 1 time to make code idiomatic.

Commit Details

view details
  • #691
    • set rust-version to 1.64 (55066ce)
  • Uncategorized
    • 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)

0.7.0 (2022-12-19)

New Features

  • Add os_string_into_bstring() as sibling of os_str_into_bstr().

Bug Fixes

  • . substitution is only done if the input was relative. Previously it was possible to have /a/b/../b and a CWD of /a/b replaced 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.

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

Refactor

  • rename tests/convert/normalize.rs This renames the test module to match the new function name.

Refactor (BREAKING)

  • Rename absolutize() to normalize() The name absolutize implies strongly that the returned path will be absolute, but the function only converts relative paths to absolute under a few specific circumstances.

    The new name, normalize(), is inspired by Python's os.path.normpath(), Java's java.nio.file.Path.normalize(), Node's Path.normalize(), and maybe some others which have similar semantics to this function.

Commit Statistics

  • 15 commits contributed to the release over the course of 27 calendar days.
  • 27 days passed between releases.
  • 5 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

view details
  • Uncategorized
    • 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 of os_str_into_bstr(). (25e795f)
    • Merge branch 'main' into http-config (bcd9654)

0.6.0 (2022-11-21)

New Features (BREAKING)

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

Bug Fixes (BREAKING)

  • absolutize() now takes a mandatory current_dir() parameter and returns Option<path> Previously the function was willing to return an empty path despite it being invalid. With the current_dir being 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.

Commit Statistics

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

Commit Details

view details
  • Uncategorized
    • 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-discover and git-path and git-odb (98c2501)
    • absolutize() now takes a mandatory current_dir() parameter and returns Option<path> (7dbab1c)
    • Merge branch 'version2021' (0e4462d)
    • upgrade edition to 2021 in most crates. (3d8fa8f)
    • Merge branch 'diff' (25a7726)

0.5.0 (2022-09-20)

New Features

  • add support for wasi This allows path conversions there to be just as efficient as on unix.

    This was adopted from a PR in the hexlix-editor.

Changed (BREAKING)

  • upgrade bstr to 1.0.1

Commit Statistics

  • 7 commits contributed to the release over the course of 18 calendar days.
  • 21 days passed between releases.
  • 2 commits were understood as conventional.
  • 2 unique issues were worked on: #450, #470

Commit Details

view details
  • #450
  • #470
    • update changelogs prior to release (caa7a1b)
    • add support for wasi (523418f)
  • Uncategorized
    • 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)

0.4.2 (2022-08-29)

New Features

  • add is_absolute() for git-style absolute checks This essentially means that starting slashes are always absolute, even on windows.

Commit Statistics

  • 3 commits contributed to the release over the course of 5 calendar days.
  • 6 days passed between releases.
  • 1 commit was understood as conventional.
  • 1 unique issue was worked on: #450

Commit Details

view details
  • #450
    • add is_absolute() for git-style absolute checks (f58a043)
  • Uncategorized
    • Release git-path v0.4.2, git-config-value v0.7.0 (c48fb31)
    • Merge branch 'main' into filter-refs-by-spec (cfa1440)

0.4.1 (2022-08-23)

Chore

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

Bug Fixes

  • Handle . specifically in absolutize(). 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.

Commit Statistics

  • 10 commits contributed to the release over the course of 30 calendar days.
  • 31 days passed between releases.
  • 3 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Release git-path v0.4.1 (5e82346)
    • Handle . specifically in absolutize(). (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)

0.4.0 (2022-07-22)

Changed (BREAKING)

  • realpath() handles cwd internally This makes for more convenient usage in the common case.

Commit Statistics

  • 14 commits contributed to the release over the course of 32 calendar days.
  • 33 days passed between releases.
  • 1 commit was understood as conventional.
  • 1 unique issue was worked on: #331

Thanks Clippy

Clippy helped 1 time to make code idiomatic.

Commit Details

view details
  • #331
    • realpath() handles cwd internally (dfa1e05)
  • Uncategorized
    • 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 of cfg(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)

0.3.0 (2022-06-19)

Bug Fixes (BREAKING)

  • Remove git-config test utilities from git-path.

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

view details
  • Uncategorized
    • 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-config test utilities from git-path. (c9933c0)

0.2.0 (2022-06-13)

New Features (BREAKING)

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

Commit Statistics

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

Commit Details

view details
  • Uncategorized
    • 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 introducing realpath_opt(). (266d437)
    • Merge branch 'main' into SidneyDouw-pathspec (a22b1d8)

0.1.3 (2022-05-23)

A maintenance release without user-facing changes.

Commit Statistics

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

Commit Details

view details
  • Uncategorized
    • 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)

0.1.2 (2022-05-21)

A maintenance release without user-facing changes.

Commit Statistics

  • 7 commits contributed to the release over the course of 2 calendar days.
  • 3 days passed between releases.
  • 0 commits were understood as conventional.
  • 1 unique issue was worked on: #422

Commit Details

view details
  • #422
  • Uncategorized
    • 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-path usable (496594d)
    • Merge branch 'main' into git_includeif (598c853)

0.1.1 (2022-05-18)

New Features

  • Add absolutize_components() It helps to cleanup paths a little which comes in handy when dealing with commondir appended paths.

Other

  • :discover()now returns the shortest path. If and only if it canonicalized the source path. That way, users will still get a familiar path. This is due toparent()not operating in the file system, which otherwise would be equivalent to..`, but that's not how we work.

Lines 1–500 of 620.