Skip to content

don't fail when computing diff on partial clones #1093

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Jun 24, 2023
Merged

Conversation

o2sh
Copy link
Owner

@o2sh o2sh commented Jun 24, 2023

fix for #1092

I tested it manually on the repo that caused the issue git clone --filter=blob:none https://github.com/sharkdp/fd and it seems to work fine.

However, I couldn't reproduce the bug with an integration test (cf. comment below)😢

@o2sh o2sh requested review from Byron and spenserblack June 24, 2023 14:14
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can't reproduce the bug with this script. It seems like the blobs are still fetched for previous commits even with --filter=blob:none. @Byron @spenserblack Any idea how I could setup a repository to get the following error

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There was an issue with the configuration that is fixed - by trying the lines by hand in the respective fixtures/generated-do-not-edit folder I observed a warning which led to tracking down the option to enable filtering when git upload-pack is invoked.r

…ke filter=blob:none work.

We reproduce the issue by triggering rename detection, which means a change happens on top of a rename.
This tries to access blobs, and that doesn't always work.

It's a good idea to disable rewrite tracking and an oversight in the initial implementation, and one might
say it's tricky given that `gitoxide` automatically does what git does, which may be surprising sometimes
and be a hidden cost even if it doesn't fail.
Copy link
Collaborator

@Byron Byron left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I could reproduce the issue and fix it so that the diff won't try to access blobs in the first place. It's a bit tricky and I missed this behaviour as well. I have improved the documentation accordingly.

Byron added a commit to GitoxideLabs/gitoxide that referenced this pull request Jun 24, 2023
@@ -249,6 +249,7 @@ fn compute_diff_with_parent(
.into_tree()
.changes()?
.track_path()
.track_rewrites(None)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If this line is removed, the exact error is reproduced that this PR is fixing.


git clone --filter=blob:none file://$PWD/base partial
(cd partial
git config diff.renames true
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is just to be explicit about this option as it is the one that matters. If unset, it would still default to true though, but I thought it's nice to see all options that are important here.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great idea! Yeah, I think it's a good philosophy that tests' setup code describes what's being tested, even if it's unnecessarily explicit.

echo change >> renamed.rs
git commit -q -am c5

git config uploadpack.allowfilter true
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This makes --filter=blob:none work, otherwise we see a warning when cloning, saying that the option is ignored as the server didn't support it.

@o2sh o2sh merged commit 89dcc8f into main Jun 24, 2023
@o2sh o2sh deleted the fix/partial-clone branch June 24, 2023 21:31
github-merge-queue bot referenced this pull request in knope-dev/knope Aug 10, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [gix](https://togithub.com/Byron/gitoxide) | dependencies | minor |
`0.47.0` -> `0.51.0` |

---

### Release Notes

<details>
<summary>Byron/gitoxide (gix)</summary>

###
[`v0.51.0`](https://togithub.com/Byron/gitoxide/releases/tag/gix-v0.51.0):
gix v0.51.0

[Compare
Source](https://togithub.com/Byron/gitoxide/compare/gix-v0.50.1...gix-v0.51.0)

This is mostly a bug-fix release with many improvements for fetching,
along with more forgiving commit parsing.

##### New Features

- Add `Reference::follow()` as a way to peel symbolic refs step by step.

##### Bug Fixes (BREAKING)

- handle symbolic ref updates far more gracefully and with more logical
consistency.
Previously, refspecs couldn't be used to update sybolic references
locally, particularly because the logic
to do so correctly isn't trivial and `git` itself also seems to cover
only the most common cases.

However, the logic now changed so that remote updates will only be
rejected if

    -   fast-forward rules are violated

<!---->

-   the local ref is currently checked out
- existing refs would not become 'unborn', i.e. point to a reference
that doesn't exist and won't be created due to ref-specs

##### Commit Statistics

- 6 commits contributed to the release over the course of 2 calendar
days.
-   9 days passed between releases.
- 2 commits were understood as
[conventional](https://www.conventionalcommits.org).
-   0 issues like '(#ID)' were seen in commit messages

##### Commit Details

<csr-read-only-do-not-edit/>

<details><summary>view details</summary>

-   **Uncategorized**
- Prepare additional changelogs
([`db63815`](https://togithub.com/Byron/gitoxide/commit/db63815))
- Prepare changelogs
([`e4d2890`](https://togithub.com/Byron/gitoxide/commit/e4d2890))
- Merge branch 'fixes-and-improvements'
([`f8b1f55`](https://togithub.com/Byron/gitoxide/commit/f8b1f55))
- Handle symbolic ref updates far more gracefully and with more logical
consistency.
([`74ce863`](https://togithub.com/Byron/gitoxide/commit/74ce863))
- Adapt to changes in `gix-protocol`
([`df81076`](https://togithub.com/Byron/gitoxide/commit/df81076))
- Add `Reference::follow()` as a way to peel symbolic refs step by step.
([`d9e551b`](https://togithub.com/Byron/gitoxide/commit/d9e551b))

</details>

###
[`v0.50.1`](https://togithub.com/Byron/gitoxide/releases/tag/gix-v0.50.1):
gix v0.50.1

[Compare
Source](https://togithub.com/Byron/gitoxide/compare/gix-v0.50.0...gix-v0.50.1)

##### Bug Fixes

-   `Tree::lookup_entry(_by_path)()` now actually works
    Previously it was lacking a test and that showed.

##### Commit Statistics

-   2 commits contributed to the release.
-   1 day passed between releases.
- 1 commit was understood as
[conventional](https://www.conventionalcommits.org).
-   0 issues like '(#ID)' were seen in commit messages

##### Commit Details

<csr-read-only-do-not-edit/>

<details><summary>view details</summary>

-   **Uncategorized**
- Prepare changelogs
([`735c206`](https://togithub.com/Byron/gitoxide/commit/735c206))
- `Tree::lookup_entry(_by_path)()` now actually works
([`145f865`](https://togithub.com/Byron/gitoxide/commit/145f865))

</details>

###
[`v0.50.0`](https://togithub.com/Byron/gitoxide/releases/tag/gix-v0.50.0):
gix v0.50.0

[Compare
Source](https://togithub.com/Byron/gitoxide/compare/gix-v0.49.1...gix-v0.50.0)

##### New Features

- `TreeEntryRefExt` and `TreeEntryExt` to be able to easily attach a
repo to it.
    Also, add `detach()` to types that were missing it.
-   `Tree::find_entry()` to easily find an entry in a tree's entries.
-   add `Repository::archive()` as extra
It implements a high-level interface to achieve `git archive` like
functionality.
- optionally make `gix-workspace-stream` available via
`Repository::worktree_stream()`
    That way it's easy to obtain a representation of the worktree
    in a fully streaming fashion, which is also the basis for
    `archive`-like functionality.

##### New Features (BREAKING)

- unify API between `object::tree::Entry` and
`object::tree::EntryRef<'_>`

##### Bug Fixes (BREAKING)

- `Tree::lookup_entry(_by_path))()` are not mutating anymore; add
`Tree::peel_to_entry()` and `peel_to_entry_by_path()`
The previous implementation was a crutch that could now be circumvented.

The new methods allow to reuse a buffer in case the object isn't used or
needed further,
    possibly saving allocations.

##### Commit Statistics

- 17 commits contributed to the release over the course of 1 calendar
day.
-   3 days passed between releases.
- 6 commits were understood as
[conventional](https://www.conventionalcommits.org).
-   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-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`](https://togithub.com/Byron/gitoxide/commit/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`](https://togithub.com/Byron/gitoxide/commit/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`](https://togithub.com/Byron/gitoxide/commit/16295b5))
- Prepare more changelogs
([`c4cc5f2`](https://togithub.com/Byron/gitoxide/commit/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`](https://togithub.com/Byron/gitoxide/commit/5cb3589))
- Update changelogs prior to release
([`2fc66b5`](https://togithub.com/Byron/gitoxide/commit/2fc66b5))
- Merge branch 'improvements-for-crates-index'
([`3f914e8`](https://togithub.com/Byron/gitoxide/commit/3f914e8))
- `TreeEntryRefExt` and `TreeEntryExt` to be able to easily attach a
repo to it.
([`caa8fb9`](https://togithub.com/Byron/gitoxide/commit/caa8fb9))
- `Tree::find_entry()` to easily find an entry in a tree's entries.
([`62cacd4`](https://togithub.com/Byron/gitoxide/commit/62cacd4))
- `Tree::lookup_entry(_by_path))()` are not mutating anymore; add
`Tree::peel_to_entry()` and `peel_to_entry_by_path()`
([`8cad009`](https://togithub.com/Byron/gitoxide/commit/8cad009))
- Unify API between `object::tree::Entry` and
`object::tree::EntryRef<'_>`
([`d5e4ee0`](https://togithub.com/Byron/gitoxide/commit/d5e4ee0))
- J fmt
([`57cab40`](https://togithub.com/Byron/gitoxide/commit/57cab40))
- Merge branch 'gix-archive'
([`1dda48b`](https://togithub.com/Byron/gitoxide/commit/1dda48b))
- Change archive implementation to require the seek bound.
([`61aed0e`](https://togithub.com/Byron/gitoxide/commit/61aed0e))
- Add `Repository::archive()` as extra
([`c4a1fb1`](https://togithub.com/Byron/gitoxide/commit/c4a1fb1))
- Optionally make `gix-workspace-stream` available via
`Repository::worktree_stream()`
([`4ee2857`](https://togithub.com/Byron/gitoxide/commit/4ee2857))
- Update license field following SPDX 2.1 license expression standard
([`9064ea3`](https://togithub.com/Byron/gitoxide/commit/9064ea3))

</details>

###
[`v0.49.1`](https://togithub.com/Byron/gitoxide/releases/tag/gix-v0.49.1):
gix v0.49.1

[Compare
Source](https://togithub.com/Byron/gitoxide/compare/gix-v0.49.0...gix-v0.49.1)

A maintenance release without user-facing changes.

##### Commit Statistics

-   3 commits contributed to the release.
- 0 commits were understood as
[conventional](https://www.conventionalcommits.org).
-   0 issues like '(#ID)' were seen in commit messages

##### Commit Details

<csr-read-only-do-not-edit/>

<details><summary>view details</summary>

-   **Uncategorized**
- Prepare changelogs prior to release
([`849f508`](https://togithub.com/Byron/gitoxide/commit/849f508))
- Merge branch 'smart-release-stability'
([`8629f56`](https://togithub.com/Byron/gitoxide/commit/8629f56))
- Update git2 API mapping and be clear what stability means as well.
([`64cd396`](https://togithub.com/Byron/gitoxide/commit/64cd396))

</details>

###
[`v0.49.0`](https://togithub.com/Byron/gitoxide/releases/tag/gix-v0.49.0):
gix v0.49.0

[Compare
Source](https://togithub.com/Byron/gitoxide/compare/gix-v0.48.0...gix-v0.49.0)

##### New Features

-   Make `EntryMode` available from `gix::object::tree`.
Previously one had to go through `gix::objs::tree` which wasn't
symmetric
    with `gix::object::Kind`.
- Add `Id::header()` and `Id::try_header()` as syblings to `::object()`
and `::try_object()`.
With the new header related functions one can obtain information about
an object more quickly.
- `Repository::header()` and `::try_header()` to learn about objects,
quickly
Accessing just the headers of an object is much faster than accessing
the entire
object. Previously, this method was only available on the `objects`
field, now it's
    available through `Repository` directly.
- top-level examples that represent fully-fledged command-line
applications.
    Please note that these are just examples, which aren't necessarily
    production ready in terms of quality or performance.
-   checkouts when cloning now respect attributes and use filters.
- add `Repository::filter_pipeline()` to obtain a primitive to handle
data conversions.
It's fully configured as git would, and can be used to convert data from
git or to git.

##### Bug Fixes

- properly re-initialize object caches after their configuration
changes.

##### Refactor (BREAKING)

- <csr-id-c548780e6ea49453ecdb45b11bf4c5781b105e6b/> move error structs
into `repository` module where appropriate.

##### Commit Statistics

- 27 commits contributed to the release over the course of 11 calendar
days.
-   19 days passed between releases.
- 8 commits were understood as
[conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on:
[#&#8203;925](https://togithub.com/Byron/gitoxide/issues/925)

##### Thanks Clippy

[Clippy](https://togithub.com/rust-lang/rust-clippy) helped 1 time to
make code idiomatic.

##### Commit Details

<csr-read-only-do-not-edit/>

<details><summary>view details</summary>

-   **[#&#8203;925](https://togithub.com/Byron/gitoxide/issues/925)**
- Remove all copies of repo-initialization files and rework them to be
our own.
([`5ac2269`](https://togithub.com/Byron/gitoxide/commit/5ac2269))
-   **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`](https://togithub.com/Byron/gitoxide/commit/68ae3ff))
- Adjust package versions (by cargo-smart-release)
([`c70e54f`](https://togithub.com/Byron/gitoxide/commit/c70e54f))
- Prepare changelogs prior to release
([`e4dded0`](https://togithub.com/Byron/gitoxide/commit/e4dded0))
- Just fmt
([`a063c62`](https://togithub.com/Byron/gitoxide/commit/a063c62))
- Merge branch 'adjustments-for-crates-index'
([`b82868d`](https://togithub.com/Byron/gitoxide/commit/b82868d))
- Make `EntryMode` available from `gix::object::tree`.
([`980c2ba`](https://togithub.com/Byron/gitoxide/commit/980c2ba))
- Add `Id::header()` and `Id::try_header()` as syblings to `::object()`
and `::try_object()`.
([`d4a8f8c`](https://togithub.com/Byron/gitoxide/commit/d4a8f8c))
- `Repository::header()` and `::try_header()` to learn about objects,
quickly
([`b73435b`](https://togithub.com/Byron/gitoxide/commit/b73435b))
- Properly re-initialize object caches after their configuration
changes.
([`47ca846`](https://togithub.com/Byron/gitoxide/commit/47ca846))
- Top-level examples that represent fully-fledged command-line
applications.
([`c05eb22`](https://togithub.com/Byron/gitoxide/commit/c05eb22))
- Cargo fmt
([`6121b8f`](https://togithub.com/Byron/gitoxide/commit/6121b8f))
- `git log` example include empty parents and paths
([`bd59bbe`](https://togithub.com/Byron/gitoxide/commit/bd59bbe))
- `git log` example now accepts multiple paths.
([`0df9f70`](https://togithub.com/Byron/gitoxide/commit/0df9f70))
- `git log` example filter for min/max parents
([`01e9c29`](https://togithub.com/Byron/gitoxide/commit/01e9c29))
- `git log` example iterator now properly lazy
([`8a6f1e8`](https://togithub.com/Byron/gitoxide/commit/8a6f1e8))
- `git log` example now shows merge parents
([`5cbb6a7`](https://togithub.com/Byron/gitoxide/commit/5cbb6a7))
- A `git log` example
([`03b3423`](https://togithub.com/Byron/gitoxide/commit/03b3423))
- A `git ls-tree` example
([`6f4b431`](https://togithub.com/Byron/gitoxide/commit/6f4b431))
- Thanks clippy
([`3ef32af`](https://togithub.com/Byron/gitoxide/commit/3ef32af))
- Merge branch 'unique-templates'
([`cbb0db8`](https://togithub.com/Byron/gitoxide/commit/cbb0db8))
- Adapt journey tests to changes in init templates
([`6297d22`](https://togithub.com/Byron/gitoxide/commit/6297d22))
- Merge branch 'integrate-filtering'
([`b19a56d`](https://togithub.com/Byron/gitoxide/commit/b19a56d))
- Checkouts when cloning now respect attributes and use filters.
([`8cc106a`](https://togithub.com/Byron/gitoxide/commit/8cc106a))
- Add `Repository::filter_pipeline()` to obtain a primitive to handle
data conversions.
([`8993b77`](https://togithub.com/Byron/gitoxide/commit/8993b77))
- Move error structs into `repository` module where appropriate.
([`c548780`](https://togithub.com/Byron/gitoxide/commit/c548780))
- Add keys required to deal with worktree conversions and filters.
([`3fbd7b0`](https://togithub.com/Byron/gitoxide/commit/3fbd7b0))

</details>

###
[`v0.48.0`](https://togithub.com/Byron/gitoxide/releases/tag/gix-v0.48.0):
gix v0.48.0

[Compare
Source](https://togithub.com/Byron/gitoxide/compare/gix-v0.47.0...gix-v0.48.0)

The main feature of this release is support dates prior to the UNIX
epoch. Note that this is a feature that isn't supported by `git`, but
only by `libgit2`.

##### Bug Fixes

-   use type for time consistently.
    This will allow it to be changed more easily later.

##### Other

- <csr-id-fb63f3f07f0f9545be5942bcb66b06040fbc7fe9/> Add incomplete
mapping of typical `git2` functions and their counterpart in `gix`.
That way the ground-work is laid for making the usage of `gix` easier
for those who used
    `git2` before.
- <csr-id-3c8e3c1e88d36657d4e6eeaf0819be7fd9341ae1/> make clear what can
happen if rewrite-tracking isn't disabled if it is not desired.
Triggered by this `onefetch` PR:
[https://github.com/o2sh/onefetch/pull/1093](https://togithub.com/o2sh/onefetch/pull/1093)

##### Commit Statistics

- 14 commits contributed to the release over the course of 6 calendar
days.
-   6 days passed between releases.
- 3 commits were understood as
[conventional](https://www.conventionalcommits.org).
-   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-lock v7.0.1, gix v0.48.0
([`5ce81ef`](https://togithub.com/Byron/gitoxide/commit/5ce81ef))
- 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`](https://togithub.com/Byron/gitoxide/commit/69c6a36))
- Release gix-features v0.31.1, gix-path v0.8.3, gix v0.48.0
([`9ca3464`](https://togithub.com/Byron/gitoxide/commit/9ca3464))
- 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`](https://togithub.com/Byron/gitoxide/commit/27e8c18))
- Prepare changelogs prior to release
([`00f96fb`](https://togithub.com/Byron/gitoxide/commit/00f96fb))
- Merge branch 'i64-times'
([`b407461`](https://togithub.com/Byron/gitoxide/commit/b407461))
- Add incomplete mapping of typical `git2` functions and their
counterpart in `gix`.
([`fb63f3f`](https://togithub.com/Byron/gitoxide/commit/fb63f3f))
- Adapt to changes in `gix-date`
([`fba45c6`](https://togithub.com/Byron/gitoxide/commit/fba45c6))
- Use type for time consistently.
([`9cfc4aa`](https://togithub.com/Byron/gitoxide/commit/9cfc4aa))
- Add a test to see what happens if negative dates are used in commits
([`57a5cd1`](https://togithub.com/Byron/gitoxide/commit/57a5cd1))
- Make clear what can happen if rewrite-tracking isn't disabled if it is
not desired.
([`3c8e3c1`](https://togithub.com/Byron/gitoxide/commit/3c8e3c1))
- More tracing information when updating refs
([`6906e0d`](https://togithub.com/Byron/gitoxide/commit/6906e0d))
- Add more details for negotation phases
([`8341d08`](https://togithub.com/Byron/gitoxide/commit/8341d08))
- Add a span for each negotiation round
([`ec73479`](https://togithub.com/Byron/gitoxide/commit/ec73479))

</details>

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/knope-dev/knope).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS4xNDQuMiIsInVwZGF0ZWRJblZlciI6IjM2LjI3LjEiLCJ0YXJnZXRCcmFuY2giOiJtYWluIn0=-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Dylan Anthony <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants