Bump gix-object from 0.47.0 to 0.48.0
dependenciesrust
Bumps [gix-object](https://github.com/GitoxideLabs/gitoxide) from 0.47.0 to 0.48.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/GitoxideLabs/gitoxide/releases">gix-object's releases</a>.</em></p>
<blockquote>
<h2>gix-object v0.48.0</h2>
<h3>New Features</h3>
<ul>
<li>add <code>commit::ExtraHeaders::find_pos()</code>, and expose "gpgsig" header name.
That way it it's easier to manipulate existing extra-header fields.</li>
<li>add <code>CommitRef|TagRef|BlobRef::into_owned()</code> as shortcut.
Otherwise one would have to know it converts into <code>Commit</code> via <code>From</code>.</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>
<p>Support empty tags with or without trailing NL
When representing an annotated tag with an empty commit message, we used
to only support a tag ending with two newlines (one after the tagger
line + one after the empty commit message).</p>
<p>This was due to a misconception that annotated tags ending with a single
NL shouldn't exist in the wild since there isn't an obvious way to
create them from with <code>git</code>.
This misconception shows up in the discussion thread for
<a href="https://redirect.github.com/GitoxideLabs/gitoxide/issues/603">issue 603</a></p>
<p>It turns out that both encodings of empty annotated tags appear in the
wild.</p>
<p>We must be able to parse either and roundtrip for either.</p>
<p>Before <a href="https://redirect.github.com/GitoxideLabs/gitoxide/pull/604">PR 604</a>, we
used to special case the empty tag msg case and not add a NL.
To be able to represent <code>b""</code>, <code>b"\n"</code>, <code>b"\n\n"</code>..., we special case
any <code>message</code> that is a pure sequence of <code>b'\n'</code> and actually parse the
<code>b'\n'</code> into the tag's message.</p>
<p>This allows us to calculate the correct size that matches the number of
bytes that git would produce, as well as round-trip to and from the
commit encoding.</p>
<p>The existing tests (in particular <code>round_trip</code> for <code>empty.txt</code> and
<code>empty_missing_nl.txt</code>) convince me that the logic is sound.
Also, the size being <code>139</code> bytes for <code>empty_missing_nl.txt</code> and <code>140</code>
bytes for <code>empty.txt</code> matches the output of <code>cat file | wc -l</code> for each
file.</p>
</li>
</ul>
<h3>Other</h3>
<ul>
<li><!-- raw HTML omitted --> <code>Repository::commit()</code> now explains how to create a commit without ref updates.</li>
</ul>
<h3>Changed (BREAKING)</h3>
<ul>
<li>drop migration shims for fallible hashing
Since the APIs were already adjusted and all callers migrated, we</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/GitoxideLabs/gitoxide/commit/b41312b478b0d19efb330970cf36dba45d0fbfbd"><code>b41312b</code></a> Release gix-date v0.9.4, gix-utils v0.2.0, gix-actor v0.34.0, gix-features v0...</li>
<li><a href="https://github.com/GitoxideLabs/gitoxide/commit/38dff41d09b6841ff52435464e77cd012dce7645"><code>38dff41</code></a> update changelogs prior to release</li>
<li><a href="https://github.com/GitoxideLabs/gitoxide/commit/4660f7a6f71873311f68f170b0f1f6659a02829d"><code>4660f7a</code></a> Merge pull request <a href="https://redirect.github.com/GitoxideLabs/gitoxide/issues/1915">#1915</a> from emilazy/push-qvyqmopsoltr</li>
<li><a href="https://github.com/GitoxideLabs/gitoxide/commit/4501086adc544e675b3043c4c23b78a6c6711d8b"><code>4501086</code></a> refactor</li>
<li><a href="https://github.com/GitoxideLabs/gitoxide/commit/f8796547213c5fe15efa35ee947223ee0ebe6c12"><code>f879654</code></a> Prepare <code>gix-index</code> end-of-index extension parsing for SHA256.</li>
<li><a href="https://github.com/GitoxideLabs/gitoxide/commit/a68f1156b4a24e49ceb165bdaa9f4fa8e4c70cd9"><code>a68f115</code></a> change!: drop migration shims for fallible hashing</li>
<li><a href="https://github.com/GitoxideLabs/gitoxide/commit/3d7e379f26cbe53ddb430427b8e88ce0966be456"><code>3d7e379</code></a> migrate <code>gix_object::{try_ =>}compute_hash</code> users</li>
<li><a href="https://github.com/GitoxideLabs/gitoxide/commit/b5ac93a9a02c97bd611d455091c60bfbd5f49efa"><code>b5ac93a</code></a> change!: make <code>gix_object::compute_hash</code> fallible</li>
<li><a href="https://github.com/GitoxideLabs/gitoxide/commit/fbf6cc897cfeff5ed2a2d5946c060e0cebbd1afd"><code>fbf6cc8</code></a> migrate hashing API users to fallible versions</li>
<li><a href="https://github.com/GitoxideLabs/gitoxide/commit/f2b07c0783ac98a08f648836e743cb0e6b4fdc7c"><code>f2b07c0</code></a> add fallible <code>gix_object::try_compute_hash</code> for migration</li>
<li>Additional commits viewable in <a href="https://github.com/GitoxideLabs/gitoxide/compare/gix-object-v0.47.0...gix-object-v0.48.0">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/kpcyrd/sh4d0wup/network/alerts).
</details>
合并状态:未合并 关闭于 2025-04-07 1 条评论