Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
chore(deps): update rust crate gix to 0.68.0 (#14879)
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: [#​1678](https://github.com/GitoxideLabs/gitoxide/issues/1678), [#​1683](https://github.com/GitoxideLabs/gitoxide/issues/1683) ##### Commit Details <csr-read-only-do-not-edit/> <details><summary>view details</summary> - **[#​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)) - **[#​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 [#​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 [#​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 [#​1684](https://github.com/GitoxideLabs/gitoxide/issues/1684) from GitoxideLabs/fixes ([`9ab86a2`](https://github.com/GitoxideLabs/gitoxide/commit/9ab86a2)) - Merge pull request [#​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 [#​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 [#​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 [#​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 [#​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 [#​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 [#​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 [#​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 [#​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 [#​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