Skip to content
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

chore(deps): update rust crate gix to 0.69.0 #1261

Merged
merged 2 commits into from
Jan 1, 2025
Merged

chore(deps): update rust crate gix to 0.69.0 #1261

merged 2 commits into from
Jan 1, 2025

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Nov 24, 2024

This PR contains the following updates:

Package Type Update Change
gix dependencies minor 0.67.0 -> 0.69.0

Release Notes

GitoxideLabs/gitoxide (gix)

v0.69.1

Compare Source

v0.69.0: gix v0.69.0

Compare Source

Changed
  • Adjust gix::dirwalk::Options::{X,set_X} parameter names
    This adjusts the names of parameters to X and set_X methods of
    gix::dirwalk::Options (where X is an option name) to use a
    systematic naming convention:

    • For the same option X, the X and set_X methods now always
      have the same name of the parameter that specifies a value for an
      option.
New Features
  • handle RefLogLookup::Date
  • add merge::tree::TreeFavor similar to *::FileFavor.
    That way it's possible to control how tree-conflicts should be auto-resolved.
Bug Fixes
  • assure date-tests won't fail over time.
    Need to use absolute timestamps as it's impossible to control the system time.
  • public access to the contained repository in wrapped types, like Id.
    This makes these types easier to use as it's enough to pass a wrapped type
    to perform more actions on the underlying repository.
New Features (BREAKING)
  • move all possible code from gix to gix-protocol.
    For now, just move the code down and immediately re-integrate in gix
    to be able to use its tests to validate it.

    This is a breaking change as some types move and change the layout.

  • Add gix-shallow crate and use it from gix and gix-protocol
    That way it's easier to reuse shallow-handling code from plumbing crates.

    Note that this is a breaking change as gix-protocol now uses the gix-shallow::Update
    type, which doesn't implement a formerly public from_line() method anymore.
    Now it is available as fetch::response::shallow_update_from_line().

Bug Fixes (BREAKING)
  • symlinks_to_directories_are_ignored_like_directories by value
    The methods of gix::dirwalk::Options are paired, where for each
    option X of Options, a method named like X takes and returns
    self by value, and a method set_X takes and returns self by
    mutable reference.

    But in symlinks_to_directories_are_ignored_like_directories, both
    took self by mutable reference. This fixes that. The effect of
    this fix is to allow building Options with a call to that method
    as the last factory method call (and using it where Options is
    accepted but &mut Options is not).

    Most code that consumes the crate should be unaffected, but:

    • Code where calls were ordered unnaturally to avoid putting such
      a call last should be able to be improved.
Commit Statistics
  • 29 commits contributed to the release over the course of 28 calendar days.
  • 28 days passed between releases.
  • 9 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages
Commit Details
view details
  • Uncategorized
    • Release gix-date v0.9.3, gix-object v0.46.1, gix-command v0.4.0, gix-filter v0.16.0, gix-fs v0.12.1, gix-traverse v0.43.1, gix-worktree-stream v0.18.0, gix-archive v0.18.0, gix-ref v0.49.1, gix-prompt v0.9.0, gix-url v0.28.2, gix-credentials v0.26.0, gix-diff v0.49.0, gix-dir v0.11.0, gix-revision v0.31.1, gix-merge v0.2.0, gix-pack v0.56.0, gix-odb v0.66.0, gix-shallow v0.1.0, gix-packetline v0.18.2, gix-transport v0.44.0, gix-protocol v0.47.0, gix-status v0.16.0, gix-worktree-state v0.16.0, gix v0.69.0, gitoxide-core v0.44.0, gitoxide v0.40.0, safety bump 16 crates (c1ba571)
    • Update changelogs prior to release (7ea8582)
    • Merge pull request #​1733 from GitoxideLabs/fix-testools (df5cead)
    • Assure date-tests won't fail over time. (14c3744)
    • Merge pull request #​1645 from dvtkrlbs/refloglookup-date (cbdbb8a)
    • Refactor reflog support (9662bc1)
    • Handle RefLogLookup::Date (d0df20a)
    • Merge pull request #​1731 from GitoxideLabs/fix-pack-receive (ca54b8c)
    • Adapt to changes in gix-protocol (41b6571)
    • Merge pull request #​1726 from GitoxideLabs/radicle-tuning (a542775)
    • Adapt to changes in gix-protocol (25b8480)
    • Merge pull request #​1634 from GitoxideLabs/remove-delegates (ddeb97f)
    • Adapt to changes in gix and gix-protocol (fcb21a4)
    • Move all possible code from gix to gix-protocol. (e59fc09)
    • Add gix-shallow crate and use it from gix and gix-protocol (6367c7d)
    • Merge pull request #​1721 from EliahKagan/run-ci/dirwalk-options (cd9060a)
    • Adjust gix::dirwalk::Options::{X,set_X} parameter names (c0f4da5)
    • Symlinks_to_directories_are_ignored_like_directories by value (ea8b95f)
    • Merge pull request #​1719 from EliahKagan/run-ci/complex-graph-no-baseline (f8ba4b9)
    • Refine complex_graph regex_matches partial suppressions (f4b4bf0)
    • Merge pull request #​1705 from GitoxideLabs/merge (520c832)
    • Adapt to changes in gix-diff (960773e)
    • Adapt to changes in gix-merge (aaeb427)
    • Assure that rename tracking can be turned off. (bd905a6)
    • Public access to the contained repository in wrapped types, like Id. (efc71fd)
    • Improve merge related API in gix (b2b8181)
    • Add merge::tree::TreeFavor similar to *::FileFavor. (e17b3a9)
    • Adapt to changes in gix-merge (3228de6)
    • Merge pull request #​1701 from GitoxideLabs/release (e8b3b41)

v0.68.0: gix v0.68.0

Compare Source

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
Commit Details
view details
  • #​1678
    • Propagate errors that are triggered when writing objects (dc3d8bf)
    • Reproduce a commit-write panic if the author is invalid (d15a493)
  • #​1683
    • Respect core.bare=true in conjunction with the main worktree (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)
    • Prepare changelogs prior to release (bc9d994)
    • Merge pull request #​1661 from GitoxideLabs/merge (0b7abfb)
    • Add support for index application in merge results via merge::tree::Outcome::index_changed_after_applying_conflicts() (71b0cea)
    • Repository::tree_merge_options() now comes with rewrite tracking. (b57be71)
    • Adapt to changes in gix-merge. (47110d6)
    • Merge pull request #​1687 from EliahKagan/run-ci/32bit (aeaebec)
    • Add 32-bit expectations for remaining == size assertions (daf9990)
    • Use <= on 32-bit for some size assertions (fc13fc3)
    • Merge pull request #​1684 from GitoxideLabs/fixes (9ab86a2)
    • Merge pull request #​1679 from GitoxideLabs/fix-1678 (275a0c5)
    • Turn single-mod directories into a file (49ba115)
    • Merge pull request #​1662 from paolobarbolini/thiserror-v2 (7a40648)
    • Upgrade thiserror to v2.0.0 (0f0e4fe)
    • Merge pull request #​1659 from GitoxideLabs/merge (cf0c7ee)
    • Add Repository::merge_base_octopus() (65ae68e)
    • Merge pull request #​1658 from GitoxideLabs/merge (905e5b4)
    • Add Repository::virtual_merge_base() and Repository::virtual_merge_base_with_graph(). (7aee32a)
    • Add Repository::merge_commits() (5f3f63a)
    • Merge pull request #​1656 from GitoxideLabs/hasconfig (c5955fc)
    • Add test to assure hasconfig is working on gix level as well. (d51aec9)
    • Merge pull request #​1653 from GitoxideLabs/merge (697a632)
    • Assure submodules are skipped everywhere (4079519)
    • Merge pull request #​1651 from GitoxideLabs/merge (a876533)
    • Repository::merge_trees() now takes portable version of Options. (a43e563)
    • Rename blob-merge feature to tree-merge. (2547935)
    • Repository::merge_trees() now has a fully-wrapped outcome. (1d2262f)
    • Add objects::tree::Editor::detach() to get the underlying editor back. (27b663e)
    • Add Repository::index_or_load_from_head_or_empty(). (1f9556a)
    • Add Object::peel_to_commit() to assure an object turns into a commit. (2fce14f)
    • Remove a TODO that turned out to be unnecessary. (5b428a9)
    • Merge pull request #​1652 from EliahKagan/run-ci/chmod (8e99eba)
    • Fix chmod in make_rev_spec_parse_repos; regenerate archive on macOS (d74e919)
    • Regenerate gix make_rev_spec_parse_repos fixture archive (72cd7f3)
    • Avoid unneeded +x in make_rev_spec_parse_repos (8720acb)
    • Merge pull request #​1618 from GitoxideLabs/merge (3fb989b)
    • Add Repository::merge_trees() (d1ac584)
    • gix::Repository implements all traits for object reading and writing. (07746f3)
    • Support for merge related options in config tree (80e006b)
    • Add tree() and commit() merge support, en par with merge-ORT as far as tests go. (4b1764c)
    • Adapt to changes in gix-object and gix-odb (96488f7)
    • Adjust blob-merge baseline to also test the reverse of each operation (de1cfb6)
    • Merge pull request #​1642 from GitoxideLabs/new-release (db5c9cf)

Configuration

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

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

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

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


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

Copy link

netlify bot commented Nov 24, 2024

Deploy Preview for knope canceled.

Name Link
🔨 Latest commit 8b3903d
🔍 Latest deploy log https://app.netlify.com/sites/knope/deploys/677593ae3fd33e0008348a8e

@renovate renovate bot force-pushed the renovate/gix-0.x branch from 53be142 to e9fae5a Compare December 22, 2024 17:11
@renovate renovate bot changed the title chore(deps): update rust crate gix to 0.68.0 chore(deps): update rust crate gix to 0.69.0 Dec 22, 2024
@renovate renovate bot force-pushed the renovate/gix-0.x branch 4 times, most recently from 262aa91 to 148aeb1 Compare January 1, 2025 19:08
@renovate renovate bot force-pushed the renovate/gix-0.x branch from 148aeb1 to 4091bfa Compare January 1, 2025 19:11
Copy link
Contributor Author

renovate bot commented Jan 1, 2025

Edited/Blocked Notification

Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.

You can manually request rebase by checking the rebase/retry box above.

⚠️ Warning: custom changes will be lost.

@dbanty dbanty added this pull request to the merge queue Jan 1, 2025
Merged via the queue into main with commit 26ca55d Jan 1, 2025
8 checks passed
@dbanty dbanty deleted the renovate/gix-0.x branch January 1, 2025 19:23
dbanty added a commit that referenced this pull request Jan 1, 2025
This PR contains the following updates:

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

---

### Release Notes

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

###
[`v0.69.1`](https://redirect.github.com/GitoxideLabs/gitoxide/compare/gix-v0.69.0...gix-v0.69.1)

[Compare
Source](https://redirect.github.com/GitoxideLabs/gitoxide/compare/gix-v0.69.0...gix-v0.69.1)

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

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

##### Changed

-   Adjust gix::dirwalk::Options::{X,set_X} parameter names
    This adjusts the names of parameters to `X` and `set_X` methods of
    `gix::dirwalk::Options` (where `X` is an option name) to use a
    systematic naming convention:

    -   For the same option `X`, the `X` and `set_X` methods now always
have the same name of the parameter that specifies a value for an
        option.

##### New Features

-   handle RefLogLookup::Date
-   add `merge::tree::TreeFavor` similar to `*::FileFavor`.
That way it's possible to control how tree-conflicts should be
auto-resolved.

##### Bug Fixes

-   assure date-tests won't fail over time.
Need to use absolute timestamps as it's impossible to control the system
time.
- public access to the contained repository in wrapped types, like `Id`.
This makes these types easier to use as it's enough to pass a wrapped
type
    to perform more actions on the underlying repository.

##### New Features (BREAKING)

-   move all possible code from `gix` to `gix-protocol`.
For now, just move the code down and immediately re-integrate in `gix`
    to be able to use its tests to validate it.

    This is a breaking change as some types move and change the layout.
-   Add `gix-shallow` crate and use it from `gix` and `gix-protocol`
That way it's easier to reuse shallow-handling code from plumbing
crates.

Note that this is a breaking change as `gix-protocol` now uses the
`gix-shallow::Update`
type, which doesn't implement a formerly public `from_line()` method
anymore.
Now it is available as `fetch::response::shallow_update_from_line()`.

##### Bug Fixes (BREAKING)

-   symlinks_to_directories_are_ignored_like_directories by value
    The methods of `gix::dirwalk::Options` are paired, where for each
    option `X` of `Options`, a method named like `X` takes and returns
    `self` by value, and a method `set_X` takes and returns `self` by
    mutable reference.

    But in `symlinks_to_directories_are_ignored_like_directories`, both
    took `self` by mutable reference. This fixes that. The effect of
    this fix is to allow building `Options` with a call to that method
    as the last factory method call (and using it where `Options` is
    accepted but `&mut Options` is not).

    Most code that consumes the crate should be unaffected, but:

    -   Code where calls were ordered unnaturally to avoid putting such
        a call last should be able to be improved.

##### Commit Statistics

- 29 commits contributed to the release over the course of 28 calendar
days.
-   28 days passed between releases.
- 9 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-date v0.9.3, gix-object v0.46.1, gix-command v0.4.0,
gix-filter v0.16.0, gix-fs v0.12.1, gix-traverse v0.43.1,
gix-worktree-stream v0.18.0, gix-archive v0.18.0, gix-ref v0.49.1,
gix-prompt v0.9.0, gix-url v0.28.2, gix-credentials v0.26.0, gix-diff
v0.49.0, gix-dir v0.11.0, gix-revision v0.31.1, gix-merge v0.2.0,
gix-pack v0.56.0, gix-odb v0.66.0, gix-shallow v0.1.0, gix-packetline
v0.18.2, gix-transport v0.44.0, gix-protocol v0.47.0, gix-status
v0.16.0, gix-worktree-state v0.16.0, gix v0.69.0, gitoxide-core v0.44.0,
gitoxide v0.40.0, safety bump 16 crates
([`c1ba571`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/c1ba571))
- Update changelogs prior to release
([`7ea8582`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/7ea8582))
- Merge pull request
[#&#8203;1733](https://redirect.github.com/GitoxideLabs/gitoxide/issues/1733)
from GitoxideLabs/fix-testools
([`df5cead`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/df5cead))
- Assure date-tests won't fail over time.
([`14c3744`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/14c3744))
- Merge pull request
[#&#8203;1645](https://redirect.github.com/GitoxideLabs/gitoxide/issues/1645)
from dvtkrlbs/refloglookup-date
([`cbdbb8a`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/cbdbb8a))
- Refactor reflog support
([`9662bc1`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/9662bc1))
- Handle RefLogLookup::Date
([`d0df20a`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/d0df20a))
- Merge pull request
[#&#8203;1731](https://redirect.github.com/GitoxideLabs/gitoxide/issues/1731)
from GitoxideLabs/fix-pack-receive
([`ca54b8c`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/ca54b8c))
- Adapt to changes in `gix-protocol`
([`41b6571`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/41b6571))
- Merge pull request
[#&#8203;1726](https://redirect.github.com/GitoxideLabs/gitoxide/issues/1726)
from GitoxideLabs/radicle-tuning
([`a542775`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/a542775))
- Adapt to changes in `gix-protocol`
([`25b8480`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/25b8480))
- Merge pull request
[#&#8203;1634](https://redirect.github.com/GitoxideLabs/gitoxide/issues/1634)
from GitoxideLabs/remove-delegates
([`ddeb97f`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/ddeb97f))
- Adapt to changes in `gix` and `gix-protocol`
([`fcb21a4`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/fcb21a4))
- Move all possible code from `gix` to `gix-protocol`.
([`e59fc09`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/e59fc09))
- Add `gix-shallow` crate and use it from `gix` and `gix-protocol`
([`6367c7d`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/6367c7d))
- Merge pull request
[#&#8203;1721](https://redirect.github.com/GitoxideLabs/gitoxide/issues/1721)
from EliahKagan/run-ci/dirwalk-options
([`cd9060a`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/cd9060a))
- Adjust gix::dirwalk::Options::{X,set_X} parameter names
([`c0f4da5`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/c0f4da5))
- Symlinks_to_directories_are_ignored_like_directories by value
([`ea8b95f`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/ea8b95f))
- Merge pull request
[#&#8203;1719](https://redirect.github.com/GitoxideLabs/gitoxide/issues/1719)
from EliahKagan/run-ci/complex-graph-no-baseline
([`f8ba4b9`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/f8ba4b9))
- Refine complex_graph `regex_matches` partial suppressions
([`f4b4bf0`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/f4b4bf0))
- Merge pull request
[#&#8203;1705](https://redirect.github.com/GitoxideLabs/gitoxide/issues/1705)
from GitoxideLabs/merge
([`520c832`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/520c832))
- Adapt to changes in `gix-diff`
([`960773e`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/960773e))
- Adapt to changes in `gix-merge`
([`aaeb427`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/aaeb427))
- Assure that rename tracking can be turned off.
([`bd905a6`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/bd905a6))
- Public access to the contained repository in wrapped types, like `Id`.
([`efc71fd`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/efc71fd))
- Improve merge related API in `gix`
([`b2b8181`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/b2b8181))
- Add `merge::tree::TreeFavor` similar to `*::FileFavor`.
([`e17b3a9`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/e17b3a9))
- Adapt to changes in `gix-merge`
([`3228de6`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/3228de6))
- Merge pull request
[#&#8203;1701](https://redirect.github.com/GitoxideLabs/gitoxide/issues/1701)
from GitoxideLabs/release
([`e8b3b41`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/e8b3b41))

</details>

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

[Compare
Source](https://redirect.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://redirect.github.com/GitoxideLabs/gitoxide/issues/1678),
[#&#8203;1683](https://redirect.github.com/GitoxideLabs/gitoxide/issues/1683)

##### Commit Details

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

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

-
**[#&#8203;1678](https://redirect.github.com/GitoxideLabs/gitoxide/issues/1678)**
- Propagate errors that are triggered when writing objects
([`dc3d8bf`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/dc3d8bf))
- Reproduce a commit-write panic if the author is invalid
([`d15a493`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/d15a493))
-
**[#&#8203;1683](https://redirect.github.com/GitoxideLabs/gitoxide/issues/1683)**
- Respect `core.bare=true` in conjunction with the main worktree
([`88d9d43`](https://redirect.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://redirect.github.com/GitoxideLabs/gitoxide/commit/8ce4912))
- Prepare changelogs prior to release
([`bc9d994`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/bc9d994))
- Merge pull request
[#&#8203;1661](https://redirect.github.com/GitoxideLabs/gitoxide/issues/1661)
from GitoxideLabs/merge
([`0b7abfb`](https://redirect.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://redirect.github.com/GitoxideLabs/gitoxide/commit/71b0cea))
- `Repository::tree_merge_options()` now comes with rewrite tracking.
([`b57be71`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/b57be71))
- Adapt to changes in `gix-merge`.
([`47110d6`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/47110d6))
- Merge pull request
[#&#8203;1687](https://redirect.github.com/GitoxideLabs/gitoxide/issues/1687)
from EliahKagan/run-ci/32bit
([`aeaebec`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/aeaebec))
- Add 32-bit expectations for remaining `==` size assertions
([`daf9990`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/daf9990))
- Use `<=` on 32-bit for some size assertions
([`fc13fc3`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/fc13fc3))
- Merge pull request
[#&#8203;1684](https://redirect.github.com/GitoxideLabs/gitoxide/issues/1684)
from GitoxideLabs/fixes
([`9ab86a2`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/9ab86a2))
- Merge pull request
[#&#8203;1679](https://redirect.github.com/GitoxideLabs/gitoxide/issues/1679)
from GitoxideLabs/fix-1678
([`275a0c5`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/275a0c5))
- Turn single-mod directories into a file
([`49ba115`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/49ba115))
- Merge pull request
[#&#8203;1662](https://redirect.github.com/GitoxideLabs/gitoxide/issues/1662)
from paolobarbolini/thiserror-v2
([`7a40648`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/7a40648))
- Upgrade thiserror to v2.0.0
([`0f0e4fe`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/0f0e4fe))
- Merge pull request
[#&#8203;1659](https://redirect.github.com/GitoxideLabs/gitoxide/issues/1659)
from GitoxideLabs/merge
([`cf0c7ee`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/cf0c7ee))
- Add `Repository::merge_base_octopus()`
([`65ae68e`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/65ae68e))
- Merge pull request
[#&#8203;1658](https://redirect.github.com/GitoxideLabs/gitoxide/issues/1658)
from GitoxideLabs/merge
([`905e5b4`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/905e5b4))
- Add `Repository::virtual_merge_base()` and
`Repository::virtual_merge_base_with_graph()`.
([`7aee32a`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/7aee32a))
- Add `Repository::merge_commits()`
([`5f3f63a`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/5f3f63a))
- Merge pull request
[#&#8203;1656](https://redirect.github.com/GitoxideLabs/gitoxide/issues/1656)
from GitoxideLabs/hasconfig
([`c5955fc`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/c5955fc))
- Add test to assure `hasconfig` is working on `gix` level as well.
([`d51aec9`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/d51aec9))
- Merge pull request
[#&#8203;1653](https://redirect.github.com/GitoxideLabs/gitoxide/issues/1653)
from GitoxideLabs/merge
([`697a632`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/697a632))
- Assure submodules are skipped everywhere
([`4079519`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/4079519))
- Merge pull request
[#&#8203;1651](https://redirect.github.com/GitoxideLabs/gitoxide/issues/1651)
from GitoxideLabs/merge
([`a876533`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/a876533))
- `Repository::merge_trees()` now takes portable version of `Options`.
([`a43e563`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/a43e563))
- Rename `blob-merge` feature to `tree-merge`.
([`2547935`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/2547935))
- `Repository::merge_trees()` now has a fully-wrapped outcome.
([`1d2262f`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/1d2262f))
- Add `objects::tree::Editor::detach()` to get the underlying editor
back.
([`27b663e`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/27b663e))
- Add `Repository::index_or_load_from_head_or_empty()`.
([`1f9556a`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/1f9556a))
- Add `Object::peel_to_commit()` to assure an object turns into a
commit.
([`2fce14f`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/2fce14f))
- Remove a TODO that turned out to be unnecessary.
([`5b428a9`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/5b428a9))
- Merge pull request
[#&#8203;1652](https://redirect.github.com/GitoxideLabs/gitoxide/issues/1652)
from EliahKagan/run-ci/chmod
([`8e99eba`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/8e99eba))
- Fix `chmod` in make_rev_spec_parse_repos; regenerate archive on macOS
([`d74e919`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/d74e919))
- Regenerate gix make_rev_spec_parse_repos fixture archive
([`72cd7f3`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/72cd7f3))
- Avoid unneeded +x in make_rev_spec_parse_repos
([`8720acb`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/8720acb))
- Merge pull request
[#&#8203;1618](https://redirect.github.com/GitoxideLabs/gitoxide/issues/1618)
from GitoxideLabs/merge
([`3fb989b`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/3fb989b))
- Add `Repository::merge_trees()`
([`d1ac584`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/d1ac584))
- `gix::Repository` implements all traits for object reading and
writing.
([`07746f3`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/07746f3))
- Support for merge related options in config tree
([`80e006b`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/80e006b))
- Add `tree()` and `commit()` merge support, en par with `merge-ORT` as
far as tests go.
([`4b1764c`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/4b1764c))
- Adapt to changes in `gix-object` and `gix-odb`
([`96488f7`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/96488f7))
- Adjust blob-merge baseline to also test the reverse of each operation
([`de1cfb6`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/de1cfb6))
- Merge pull request
[#&#8203;1642](https://redirect.github.com/GitoxideLabs/gitoxide/issues/1642)
from GitoxideLabs/new-release
([`db5c9cf`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/db5c9cf))

</details>

</details>

---

### Configuration

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

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

♻ **Rebasing**: Whenever PR is behind base branch, 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/knope-dev/knope).

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

---------

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.

1 participant