Skip to content

Commit

Permalink
chore(deps): update rust crate gix to 0.68.0 (#14879)
Browse files Browse the repository at this point in the history
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [gix](https://github.com/GitoxideLabs/gitoxide) |
workspace.dependencies | minor | `0.67.0` -> `0.68.0` |

---

### Release Notes

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

###
[`v0.68.0`](https://github.com/GitoxideLabs/gitoxide/releases/tag/gix-v0.68.0):
gix v0.68.0

[Compare
Source](https://github.com/GitoxideLabs/gitoxide/compare/gix-v0.67.0...gix-v0.68.0)

##### New Features

- Add support for `index` application in merge results via
`merge::tree::Outcome::index_changed_after_applying_conflicts()`
-   add `Repository::merge_base_octopus()`
- add `Repository::virtual_merge_base()` and
`Repository::virtual_merge_base_with_graph()`.
-   add `Repository::merge_commits()`
It's often more convenient to work with commits when merging, especially
    when merge-bases are dealt with automatically.
- add `objects::tree::Editor::detach()` to get the underlying editor
back.
This can be useful to have more control over what gets written, or how.
-   add `Repository::index_or_load_from_head_or_empty()`.
It's useful to get a reasonable index in any case, even on unborn
repositories.
It's for cases where the `HEAD` isn't setup at all, despite content
being available,
    and to avoid unnecessary restrictions on what works.
- add `Object::peel_to_commit()` to assure an object turns into a
commit.
-   add `Repository::merge_trees()`
- `gix::Repository` implements all traits for object reading and
writing.
That way it becomes usable when merging trees, which benefits from
automatic
    checking of hashes before writing loose objects.
- add `tree()` and `commit()` merge support, en par with `merge-ORT` as
far as tests go.
Note that this judgement of quality is based on a limited amount of
partially complex
test, but it's likely that in practice there will be deviations of
sorts.

Also, given the complexity of the implementation it is definitely
under-tested,
    but with that it's mostly en par with Git, unfortunatly.

On the bright side, some of the tests are very taxing and I'd hope this
    means something for real-world quality.

##### Bug Fixes

-   `Repository::tree_merge_options()` now comes with rewrite tracking.
This is the way Git acts, as it's either configured, or defaults to the
value
    coming from the `diff.renames` configuration.
-   respect `core.bare=true` in conjunction with the main worktree
-   propagate errors that are triggered when writing objects
Previously it was assumed that writing objects could never fail unless
    there isn't enough memory to do so. However, it turns out that
some last-minute validation can always be triggered and prevent an
object
    to be written.

    Now that error is propagated instead.
-   assure submodules are skipped everywhere
    This also adds `Repository::head_tree()` for convenience.

##### New Features (BREAKING)

-   `Repository::merge_trees()` now takes portable version of `Options`.
-   `Repository::merge_trees()` now has a fully-wrapped outcome.
    That way, more attached types are used for greater convenience.

##### Bug Fixes (BREAKING)

-   rename `blob-merge` feature to `tree-merge`.
By now, `blob-merge` is the lowest-level of features which is required
    for both tree-merges and commit based merges. Hence it's better
    to just call it `merge`.
- Adjust blob-merge baseline to also test the reverse of each operation
    This also fixes an issue with blob merge computations.

    It's breaking because the marker-size was reduced to `u8`.

##### Commit Statistics

-   46 commits contributed to the release.
- 18 commits were understood as
[conventional](https://www.conventionalcommits.org).
- 2 unique issues were worked on:
[#&#8203;1678](https://github.com/GitoxideLabs/gitoxide/issues/1678),
[#&#8203;1683](https://github.com/GitoxideLabs/gitoxide/issues/1683)

##### Commit Details

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

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

-
**[#&#8203;1678](https://github.com/GitoxideLabs/gitoxide/issues/1678)**
- Propagate errors that are triggered when writing objects
([`dc3d8bf`](https://github.com/GitoxideLabs/gitoxide/commit/dc3d8bf))
- Reproduce a commit-write panic if the author is invalid
([`d15a493`](https://github.com/GitoxideLabs/gitoxide/commit/d15a493))
-
**[#&#8203;1683](https://github.com/GitoxideLabs/gitoxide/issues/1683)**
- Respect `core.bare=true` in conjunction with the main worktree
([`88d9d43`](https://github.com/GitoxideLabs/gitoxide/commit/88d9d43))
-   **Uncategorized**
- Release gix-date v0.9.2, gix-actor v0.33.1, gix-hash v0.15.1,
gix-features v0.39.1, gix-validate v0.9.2, gix-object v0.46.0, gix-path
v0.10.13, gix-quote v0.4.14, gix-attributes v0.23.1,
gix-packetline-blocking v0.18.1, gix-filter v0.15.0, gix-chunk v0.4.10,
gix-commitgraph v0.25.1, gix-revwalk v0.17.0, gix-traverse v0.43.0,
gix-worktree-stream v0.17.0, gix-archive v0.17.0, gix-config-value
v0.14.10, gix-lock v15.0.1, gix-ref v0.49.0, gix-config v0.42.0,
gix-prompt v0.8.9, gix-url v0.28.1, gix-credentials v0.25.1, gix-bitmap
v0.2.13, gix-index v0.37.0, gix-worktree v0.38.0, gix-diff v0.48.0,
gix-discover v0.37.0, gix-pathspec v0.8.1, gix-dir v0.10.0, gix-mailmap
v0.25.1, gix-revision v0.31.0, gix-merge v0.1.0, gix-negotiate v0.17.0,
gix-pack v0.55.0, gix-odb v0.65.0, gix-packetline v0.18.1, gix-transport
v0.43.1, gix-protocol v0.46.1, gix-refspec v0.27.0, gix-status v0.15.0,
gix-submodule v0.16.0, gix-worktree-state v0.15.0, gix v0.68.0, gix-fsck
v0.8.0, gitoxide-core v0.43.0, gitoxide v0.39.0, safety bump 25 crates
([`8ce4912`](https://github.com/GitoxideLabs/gitoxide/commit/8ce4912))
- Prepare changelogs prior to release
([`bc9d994`](https://github.com/GitoxideLabs/gitoxide/commit/bc9d994))
- Merge pull request
[#&#8203;1661](https://github.com/GitoxideLabs/gitoxide/issues/1661)
from GitoxideLabs/merge
([`0b7abfb`](https://github.com/GitoxideLabs/gitoxide/commit/0b7abfb))
- Add support for `index` application in merge results via
`merge::tree::Outcome::index_changed_after_applying_conflicts()`
([`71b0cea`](https://github.com/GitoxideLabs/gitoxide/commit/71b0cea))
- `Repository::tree_merge_options()` now comes with rewrite tracking.
([`b57be71`](https://github.com/GitoxideLabs/gitoxide/commit/b57be71))
- Adapt to changes in `gix-merge`.
([`47110d6`](https://github.com/GitoxideLabs/gitoxide/commit/47110d6))
- Merge pull request
[#&#8203;1687](https://github.com/GitoxideLabs/gitoxide/issues/1687)
from EliahKagan/run-ci/32bit
([`aeaebec`](https://github.com/GitoxideLabs/gitoxide/commit/aeaebec))
- Add 32-bit expectations for remaining `==` size assertions
([`daf9990`](https://github.com/GitoxideLabs/gitoxide/commit/daf9990))
- Use `<=` on 32-bit for some size assertions
([`fc13fc3`](https://github.com/GitoxideLabs/gitoxide/commit/fc13fc3))
- Merge pull request
[#&#8203;1684](https://github.com/GitoxideLabs/gitoxide/issues/1684)
from GitoxideLabs/fixes
([`9ab86a2`](https://github.com/GitoxideLabs/gitoxide/commit/9ab86a2))
- Merge pull request
[#&#8203;1679](https://github.com/GitoxideLabs/gitoxide/issues/1679)
from GitoxideLabs/fix-1678
([`275a0c5`](https://github.com/GitoxideLabs/gitoxide/commit/275a0c5))
- Turn single-mod directories into a file
([`49ba115`](https://github.com/GitoxideLabs/gitoxide/commit/49ba115))
- Merge pull request
[#&#8203;1662](https://github.com/GitoxideLabs/gitoxide/issues/1662)
from paolobarbolini/thiserror-v2
([`7a40648`](https://github.com/GitoxideLabs/gitoxide/commit/7a40648))
- Upgrade thiserror to v2.0.0
([`0f0e4fe`](https://github.com/GitoxideLabs/gitoxide/commit/0f0e4fe))
- Merge pull request
[#&#8203;1659](https://github.com/GitoxideLabs/gitoxide/issues/1659)
from GitoxideLabs/merge
([`cf0c7ee`](https://github.com/GitoxideLabs/gitoxide/commit/cf0c7ee))
- Add `Repository::merge_base_octopus()`
([`65ae68e`](https://github.com/GitoxideLabs/gitoxide/commit/65ae68e))
- Merge pull request
[#&#8203;1658](https://github.com/GitoxideLabs/gitoxide/issues/1658)
from GitoxideLabs/merge
([`905e5b4`](https://github.com/GitoxideLabs/gitoxide/commit/905e5b4))
- Add `Repository::virtual_merge_base()` and
`Repository::virtual_merge_base_with_graph()`.
([`7aee32a`](https://github.com/GitoxideLabs/gitoxide/commit/7aee32a))
- Add `Repository::merge_commits()`
([`5f3f63a`](https://github.com/GitoxideLabs/gitoxide/commit/5f3f63a))
- Merge pull request
[#&#8203;1656](https://github.com/GitoxideLabs/gitoxide/issues/1656)
from GitoxideLabs/hasconfig
([`c5955fc`](https://github.com/GitoxideLabs/gitoxide/commit/c5955fc))
- Add test to assure `hasconfig` is working on `gix` level as well.
([`d51aec9`](https://github.com/GitoxideLabs/gitoxide/commit/d51aec9))
- Merge pull request
[#&#8203;1653](https://github.com/GitoxideLabs/gitoxide/issues/1653)
from GitoxideLabs/merge
([`697a632`](https://github.com/GitoxideLabs/gitoxide/commit/697a632))
- Assure submodules are skipped everywhere
([`4079519`](https://github.com/GitoxideLabs/gitoxide/commit/4079519))
- Merge pull request
[#&#8203;1651](https://github.com/GitoxideLabs/gitoxide/issues/1651)
from GitoxideLabs/merge
([`a876533`](https://github.com/GitoxideLabs/gitoxide/commit/a876533))
- `Repository::merge_trees()` now takes portable version of `Options`.
([`a43e563`](https://github.com/GitoxideLabs/gitoxide/commit/a43e563))
- Rename `blob-merge` feature to `tree-merge`.
([`2547935`](https://github.com/GitoxideLabs/gitoxide/commit/2547935))
- `Repository::merge_trees()` now has a fully-wrapped outcome.
([`1d2262f`](https://github.com/GitoxideLabs/gitoxide/commit/1d2262f))
- Add `objects::tree::Editor::detach()` to get the underlying editor
back.
([`27b663e`](https://github.com/GitoxideLabs/gitoxide/commit/27b663e))
- Add `Repository::index_or_load_from_head_or_empty()`.
([`1f9556a`](https://github.com/GitoxideLabs/gitoxide/commit/1f9556a))
- Add `Object::peel_to_commit()` to assure an object turns into a
commit.
([`2fce14f`](https://github.com/GitoxideLabs/gitoxide/commit/2fce14f))
- Remove a TODO that turned out to be unnecessary.
([`5b428a9`](https://github.com/GitoxideLabs/gitoxide/commit/5b428a9))
- Merge pull request
[#&#8203;1652](https://github.com/GitoxideLabs/gitoxide/issues/1652)
from EliahKagan/run-ci/chmod
([`8e99eba`](https://github.com/GitoxideLabs/gitoxide/commit/8e99eba))
- Fix `chmod` in make_rev_spec_parse_repos; regenerate archive on macOS
([`d74e919`](https://github.com/GitoxideLabs/gitoxide/commit/d74e919))
- Regenerate gix make_rev_spec_parse_repos fixture archive
([`72cd7f3`](https://github.com/GitoxideLabs/gitoxide/commit/72cd7f3))
- Avoid unneeded +x in make_rev_spec_parse_repos
([`8720acb`](https://github.com/GitoxideLabs/gitoxide/commit/8720acb))
- Merge pull request
[#&#8203;1618](https://github.com/GitoxideLabs/gitoxide/issues/1618)
from GitoxideLabs/merge
([`3fb989b`](https://github.com/GitoxideLabs/gitoxide/commit/3fb989b))
- Add `Repository::merge_trees()`
([`d1ac584`](https://github.com/GitoxideLabs/gitoxide/commit/d1ac584))
- `gix::Repository` implements all traits for object reading and
writing.
([`07746f3`](https://github.com/GitoxideLabs/gitoxide/commit/07746f3))
- Support for merge related options in config tree
([`80e006b`](https://github.com/GitoxideLabs/gitoxide/commit/80e006b))
- Add `tree()` and `commit()` merge support, en par with `merge-ORT` as
far as tests go.
([`4b1764c`](https://github.com/GitoxideLabs/gitoxide/commit/4b1764c))
- Adapt to changes in `gix-object` and `gix-odb`
([`96488f7`](https://github.com/GitoxideLabs/gitoxide/commit/96488f7))
- Adjust blob-merge baseline to also test the reverse of each operation
([`de1cfb6`](https://github.com/GitoxideLabs/gitoxide/commit/de1cfb6))
- Merge pull request
[#&#8203;1642](https://github.com/GitoxideLabs/gitoxide/issues/1642)
from GitoxideLabs/new-release
([`db5c9cf`](https://github.com/GitoxideLabs/gitoxide/commit/db5c9cf))

</details>

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 5am on the first day of the
month" (UTC), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **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 was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/rust-lang/cargo).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xOS4wIiwidXBkYXRlZEluVmVyIjoiMzkuMTkuMCIsInRhcmdldEJyYW5jaCI6Im1hc3RlciIsImxhYmVscyI6W119-->
  • Loading branch information
ehuss authored Dec 1, 2024
2 parents 048d0d7 + 0937dd2 commit 17f39f1
Show file tree
Hide file tree
Showing 2 changed files with 171 additions and 151 deletions.
Loading

0 comments on commit 17f39f1

Please sign in to comment.