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

Calculate filesystem node's hash lazily. #825

Merged
merged 1 commit into from Jan 10, 2024
Merged

Conversation

candid82
Copy link
Contributor

@candid82 candid82 commented Aug 6, 2023

The main motivation behind this change is to speed up status operation. Currently it's very slow, especially for repositories with lots of ignored files (e.g. node.js repository with node_modules directory). One of the reasons for this slowness is the fact that traversing filesystem involves calculating file hashes for all files, even if those hashes are not needed in the end because the files are in gitignore.

On my machine, for a random repository with sizable (ignored) node_modules directory this changes bring the execution time for Worktree.Status from ~3.5s to ~1.4s. This is still very slow, but a significant improvement.

A better fix (instead of or in addition to this one) would be to avoid traversing ignored files in the first place. However, such change seem to be more intrusive and will require much deeper understanding of the codebase.

@pjbgf
Copy link
Member

pjbgf commented Aug 6, 2023

@candid82 thanks for your PR. Do you mind providing a benchstat of the performance improvements please?

Also, re-word the commit message to align with the contribution guidelines.

A better fix (instead of or in addition to this one) would be to avoid traversing ignored files in the first place. However, such change seem to be more intrusive and will require much deeper understanding of the codebase.

Happy for this to be a follow-up PR.

The main motivation behind this change is to speed up status operation.
Currently it's very slow, especially for repositories with lots of ignored
files (e.g. node.js repository with node_modules directory).
One of the reasons for this slowness is the fact that traversing filesystem
involves calculating file hashes for all files, even if those hashes are
not needed in the end because the files are in gitignore.

On my machine, for a random repository with sizable (ignored) node_modules
directory this  changes bring the execution time for Worktree.Status
from ~3.5s to ~1.4s. This is still very slow, but a significant improvement.

A better fix (instead of or in addition to this one) would be to avoid traversing
ignored files in the first place. However, such change seem to be more
intrusive and will require much deeper understanding of the codebase.
@candid82
Copy link
Contributor Author

@pjbgf Below please find benchstat results for one of my local repositories with sizable node_modules directory. Obviously, the results depend on the size of git repo and the number of ignored files.

> benchstat ~/old.txt  ~/new.txt
goos: darwin
goarch: amd64
pkg: github.com/go-git/go-git/v5
cpu: Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
          │ /Users/candid/old.txt │       /Users/candid/new.txt        │
          │        sec/op         │   sec/op    vs base                │
Status-16              3.875 ± 1%   1.392 ± 3%  -64.07% (p=0.000 n=10)

The benchmark code:

func BenchmarkStatus(b *testing.B) {
	repo, _ := PlainOpen("<path to repo>")
	worktree, _ := repo.Worktree()
	for i := 0; i < b.N; i++ {
		s, _ := worktree.Status()
		if len(s) > 0 {
			b.Errorf("error!")
		}
	}
}

I also adjusted the commit message.

@pjbgf
Copy link
Member

pjbgf commented Sep 30, 2023

Thank you for providing the benchstat and rewording the commit.

Doing another review I noticed that this change could introduce an issue by which once the Hash() is called and the hash is calculated, changes to the underlying fs will not trigger a new hash recalculation. By looking for the places where this is used, I see no red flags that this would be a problem. Please add some comments in the Hash() func to that effect.

Otherwise, LGTM.

@pjbgf pjbgf added this to the v5.10.0 milestone Sep 30, 2023
@pjbgf pjbgf modified the milestones: v5.10.0, v5.11.0 Oct 28, 2023
@codablock
Copy link
Contributor

@candid82 @pjbgf Any updates on this PR? If there is lack of time on @candid82's side, I'm also happy to provide the requested comments/docs after this PR is merged.

Merging this PR would alleviate a lot of pain in regard to #181. On my side, it would help me avoid a temporary workaround that would exec-out into git status, so I'm very happy to instead help here :)

@candid82
Copy link
Contributor Author

candid82 commented Jan 8, 2024

@codablock I moved on to other things and currently don't have the time to properly evaluate the concern brought up by @pjbgf in the previous comment. Please feel free to pick this work up.

@codablock
Copy link
Contributor

@pjbgf As requested in Slack, I have tested this PR locally (by replacing github.com/go-git/go-git/v5 with my local version inside go.mod) and can confirm that Status() performance gets improved a lot. I used the notorious node_modules to test things out and Status() runtime has been reduced to below a second from previously 5-10 seconds.

If you merge this PR, I will follow up with a PR that adds the docs/comments.

@pjbgf
Copy link
Member

pjbgf commented Jan 10, 2024

@codablock thanks for the testing. @candid82 thank you for your original contribution.

@pjbgf pjbgf merged commit f7c30f5 into go-git:master Jan 10, 2024
10 checks passed
@codablock
Copy link
Contributor

Here is the PR with the requested comment update: #992

renovate bot added a commit to anoriqq/qpm that referenced this pull request Mar 31, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [github.com/go-git/go-git/v5](https://togithub.com/go-git/go-git) |
`v5.11.0` -> `v5.12.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgo-git%2fgo-git%2fv5/v5.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fgo-git%2fgo-git%2fv5/v5.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fgo-git%2fgo-git%2fv5/v5.11.0/v5.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgo-git%2fgo-git%2fv5/v5.11.0/v5.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>go-git/go-git (github.com/go-git/go-git/v5)</summary>

### [`v5.12.0`](https://togithub.com/go-git/go-git/releases/tag/v5.12.0)

[Compare
Source](https://togithub.com/go-git/go-git/compare/v5.11.0...v5.12.0)

#### What's Changed

- git: Worktree.AddWithOptions: add skipStatus option when providing a
specific path by
[@&#8203;moranCohen26](https://togithub.com/moranCohen26) in
[go-git/go-git#994
- git: Signer: fix usage of crypto.Signer interface by
[@&#8203;wlynch](https://togithub.com/wlynch) in
[go-git/go-git#1029
- git: Remote, fetch, adds the prune option. by
[@&#8203;juliens](https://togithub.com/juliens) in
[go-git/go-git#366
- git: Add crypto.Signer option to CommitOptions. by
[@&#8203;wlynch](https://togithub.com/wlynch) in
[go-git/go-git#996
- git: Worktree checkout tag hash id
([#&#8203;959](https://togithub.com/go-git/go-git/issues/959)) by
[@&#8203;aymanbagabas](https://togithub.com/aymanbagabas) in
[go-git/go-git#966
- git: Worktree, Don't panic on empty or root path when checking if it
is valid by [@&#8203;tim775](https://togithub.com/tim775) in
[go-git/go-git#1042
- git: Add commit validation for Reset by
[@&#8203;pjbgf](https://togithub.com/pjbgf) in
[go-git/go-git#1048
- git: worktree_commit, Fix amend commit to apply changes. Fixes
[#&#8203;1024](https://togithub.com/go-git/go-git/issues/1024) by
[@&#8203;onee-only](https://togithub.com/onee-only) in
[go-git/go-git#1045
- git: Implement Merge function with initial `FastForwardMerge` support
by [@&#8203;pjbgf](https://togithub.com/pjbgf) in
[go-git/go-git#1044
- plumbing: object, Make first commit visible on logs filtered with
filename. Fixes
[#&#8203;191](https://togithub.com/go-git/go-git/issues/191) by
[@&#8203;onee-only](https://togithub.com/onee-only) in
[go-git/go-git#1036
- plumbing: no panic in printStats function. Fixes
[#&#8203;177](https://togithub.com/go-git/go-git/issues/177) by
[@&#8203;nodivbyzero](https://togithub.com/nodivbyzero) in
[go-git/go-git#971
- plumbing: object, Optimize logging with file. by
[@&#8203;onee-only](https://togithub.com/onee-only) in
[go-git/go-git#1046
- plumbing: object, check legitimacy in (\*Tree).Encode by
[@&#8203;niukuo](https://togithub.com/niukuo) in
[go-git/go-git#967
- plumbing: format/gitattributes, close file in ReadAttributesFile by
[@&#8203;prskr](https://togithub.com/prskr) in
[go-git/go-git#1018
- plumbing: check setAuth error. Fixes
[#&#8203;185](https://togithub.com/go-git/go-git/issues/185) by
[@&#8203;nodivbyzero](https://togithub.com/nodivbyzero) in
[go-git/go-git#969
- plumbing: object, fix variable defaultUtf8CommitMessageEncoding name
spell error by [@&#8203;Jerry-yz](https://togithub.com/Jerry-yz) in
[go-git/go-git#987
- utils: merkletrie, calculate filesystem node's hash lazily. by
[@&#8203;candid82](https://togithub.com/candid82) in
[go-git/go-git#825
- utils: update comment in node.go's Hash() by
[@&#8203;codablock](https://togithub.com/codablock) in
[go-git/go-git#992
- \_example: fix 404 link and added ssh-agent clone link by
[@&#8203;grinish21](https://togithub.com/grinish21) in
[go-git/go-git#1022
- \_example: checkout-branch example by
[@&#8203;dlambda](https://togithub.com/dlambda) in
[go-git/go-git#446
- \_example: example for git clone using ssh-agent by
[@&#8203;pjbgf](https://togithub.com/pjbgf) in
[go-git/go-git#998

#### New Contributors

- [@&#8203;candid82](https://togithub.com/candid82) made their first
contribution in
[go-git/go-git#825
- [@&#8203;codablock](https://togithub.com/codablock) made their first
contribution in
[go-git/go-git#992
- [@&#8203;Jerry-yz](https://togithub.com/Jerry-yz) made their first
contribution in
[go-git/go-git#987
- [@&#8203;wlynch](https://togithub.com/wlynch) made their first
contribution in
[go-git/go-git#996
- [@&#8203;moranCohen26](https://togithub.com/moranCohen26) made their
first contribution in
[go-git/go-git#994
- [@&#8203;grinish21](https://togithub.com/grinish21) made their first
contribution in
[go-git/go-git#1022
- [@&#8203;prskr](https://togithub.com/prskr) made their first
contribution in
[go-git/go-git#1018
- [@&#8203;dlambda](https://togithub.com/dlambda) made their first
contribution in
[go-git/go-git#446
- [@&#8203;juliens](https://togithub.com/juliens) made their first
contribution in
[go-git/go-git#366
- [@&#8203;onee-only](https://togithub.com/onee-only) made their first
contribution in
[go-git/go-git#1036
- [@&#8203;tim775](https://togithub.com/tim775) made their first
contribution in
[go-git/go-git#1042
- [@&#8203;niukuo](https://togithub.com/niukuo) made their first
contribution in
[go-git/go-git#967
- [@&#8203;avoidalone](https://togithub.com/avoidalone) made their first
contribution in
[go-git/go-git#1047

**Full Changelog**:
go-git/go-git@v5.11.0...v5.12.0

</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/anoriqq/qpm).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
oguzhand95 pushed a commit to cerbos/cerbos that referenced this pull request Apr 1, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence | Type |
Update |
|---|---|---|---|---|---|---|---|
| [github.com/aws/aws-sdk-go](https://togithub.com/aws/aws-sdk-go) |
`v1.51.6` -> `v1.51.11` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go/v1.51.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2faws%2faws-sdk-go/v1.51.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2faws%2faws-sdk-go/v1.51.6/v1.51.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go/v1.51.6/v1.51.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | patch |
|
[github.com/cenkalti/backoff/v4](https://togithub.com/cenkalti/backoff)
| `v4.2.1` -> `v4.3.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fcenkalti%2fbackoff%2fv4/v4.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fcenkalti%2fbackoff%2fv4/v4.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fcenkalti%2fbackoff%2fv4/v4.2.1/v4.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fcenkalti%2fbackoff%2fv4/v4.2.1/v4.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | minor |
| [github.com/cerbos/cloud-api](https://togithub.com/cerbos/cloud-api) |
`ffe3a67` -> `d106081` | | | | | require | digest |
| [github.com/go-git/go-git/v5](https://togithub.com/go-git/go-git) |
`v5.11.0` -> `v5.12.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgo-git%2fgo-git%2fv5/v5.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fgo-git%2fgo-git%2fv5/v5.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fgo-git%2fgo-git%2fv5/v5.11.0/v5.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgo-git%2fgo-git%2fv5/v5.11.0/v5.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | minor |
|
[github.com/go-sql-driver/mysql](https://togithub.com/go-sql-driver/mysql)
| `v1.8.0` -> `v1.8.1` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgo-sql-driver%2fmysql/v1.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fgo-sql-driver%2fmysql/v1.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fgo-sql-driver%2fmysql/v1.8.0/v1.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgo-sql-driver%2fmysql/v1.8.0/v1.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | patch |
| golang.org/x/exp | `a85f2c6` -> `a685a6e` | | | | | require | digest |
|
[google.golang.org/genproto/googleapis/api](https://togithub.com/googleapis/go-genproto)
| `94a12d6` -> `454cdb8` | | | | | require | digest |

---

### Release Notes

<details>
<summary>aws/aws-sdk-go (github.com/aws/aws-sdk-go)</summary>

###
[`v1.51.11`](https://togithub.com/aws/aws-sdk-go/blob/HEAD/CHANGELOG.md#Release-v15111-2024-03-29)

[Compare
Source](https://togithub.com/aws/aws-sdk-go/compare/v1.51.10...v1.51.11)

\===

##### Service Client Updates

-   `service/b2bi`: Updates service API and documentation
-   `service/codebuild`: Updates service API
    -   Add new fleet status code for Reserved Capacity.
-   `service/codeconnections`: Adds new service
-   `service/internetmonitor`: Updates service API and documentation
-   `service/iotwireless`: Updates service API and documentation
-   `service/marketplace-catalog`: Updates service API and documentation
-   `service/sagemaker`: Updates service API and documentation
- This release adds support for custom images for the CodeEditor App on
SageMaker Studio

###
[`v1.51.10`](https://togithub.com/aws/aws-sdk-go/blob/HEAD/CHANGELOG.md#Release-v15110-2024-03-28)

[Compare
Source](https://togithub.com/aws/aws-sdk-go/compare/v1.51.9...v1.51.10)

\===

##### Service Client Updates

-   `service/compute-optimizer`: Updates service API and documentation
-   `service/ec2`: Updates service API
- Amazon EC2 C7gd, M7gd and R7gd metal instances with up to 3.8 TB of
local NVMe-based SSD block-level storage have up to 45% improved
real-time NVMe storage performance than comparable Graviton2-based
instances.
-   `service/eks`: Updates service API
-   `service/guardduty`: Updates service API and documentation
- Add EC2 support for GuardDuty Runtime Monitoring auto management.
-   `service/oam`: Updates service API
-   `service/quicksight`: Updates service API and documentation
- Amazon QuickSight: Adds support for setting up VPC Endpoint
restrictions for accessing QuickSight Website.

###
[`v1.51.9`](https://togithub.com/aws/aws-sdk-go/blob/HEAD/CHANGELOG.md#Release-v1519-2024-03-27)

[Compare
Source](https://togithub.com/aws/aws-sdk-go/compare/v1.51.8...v1.51.9)

\===

##### Service Client Updates

-   `service/batch`: Updates service API and documentation
- This feature allows AWS Batch to support configuration of
imagePullSecrets and allowPrivilegeEscalation for jobs running on EKS
-   `service/bedrock-agent`: Updates service API and documentation
- `service/bedrock-agent-runtime`: Updates service API and documentation
-   `service/elasticache`: Updates service API and documentation
- Added minimum capacity to Amazon ElastiCache Serverless. This feature
allows customer to ensure minimum capacity even without current load
-   `service/secretsmanager`: Updates service documentation
    -   Documentation updates for Secrets Manager

###
[`v1.51.8`](https://togithub.com/aws/aws-sdk-go/blob/HEAD/CHANGELOG.md#Release-v1518-2024-03-26)

[Compare
Source](https://togithub.com/aws/aws-sdk-go/compare/v1.51.7...v1.51.8)

\===

##### Service Client Updates

- `service/bedrock-agent-runtime`: Updates service API and documentation
-   `service/ce`: Updates service API, documentation, and paginators
-   `service/ec2`: Updates service API and documentation
    -   Documentation updates for Elastic Compute Cloud (EC2).
-   `service/ecs`: Updates service documentation
    -   This is a documentation update for Amazon ECS.
-   `service/finspace`: Updates service API and documentation

###
[`v1.51.7`](https://togithub.com/aws/aws-sdk-go/blob/HEAD/CHANGELOG.md#Release-v1517-2024-03-25)

[Compare
Source](https://togithub.com/aws/aws-sdk-go/compare/v1.51.6...v1.51.7)

\===

##### Service Client Updates

-   `service/codebuild`: Updates service API and documentation
- Supporting GitLab and GitLab Self Managed as source types in AWS
CodeBuild.
-   `service/ec2`: Updates service API and documentation
- Added support for ModifyInstanceMetadataDefaults and
GetInstanceMetadataDefaults to set Instance Metadata Service account
defaults
-   `service/ecs`: Updates service documentation
    -   Documentation only update for Amazon ECS.
-   `service/emr-containers`: Updates service API
-   `service/globalaccelerator`: Updates service API and documentation
-   `service/medialive`: Updates service API and documentation
    -   Exposing TileMedia H265 options
-   `service/sagemaker`: Updates service API
- Introduced support for the following new instance types on SageMaker
Studio for JupyterLab and CodeEditor applications: m6i, m6id, m7i, c6i,
c6id, c7i, r6i, r6id, r7i, and p5

</details>

<details>
<summary>cenkalti/backoff (github.com/cenkalti/backoff/v4)</summary>

###
[`v4.3.0`](https://togithub.com/cenkalti/backoff/compare/v4.2.1...v4.3.0)

[Compare
Source](https://togithub.com/cenkalti/backoff/compare/v4.2.1...v4.3.0)

</details>

<details>
<summary>go-git/go-git (github.com/go-git/go-git/v5)</summary>

### [`v5.12.0`](https://togithub.com/go-git/go-git/releases/tag/v5.12.0)

[Compare
Source](https://togithub.com/go-git/go-git/compare/v5.11.0...v5.12.0)

#### What's Changed

- git: Worktree.AddWithOptions: add skipStatus option when providing a
specific path by
[@&#8203;moranCohen26](https://togithub.com/moranCohen26) in
[go-git/go-git#994
- git: Signer: fix usage of crypto.Signer interface by
[@&#8203;wlynch](https://togithub.com/wlynch) in
[go-git/go-git#1029
- git: Remote, fetch, adds the prune option. by
[@&#8203;juliens](https://togithub.com/juliens) in
[go-git/go-git#366
- git: Add crypto.Signer option to CommitOptions. by
[@&#8203;wlynch](https://togithub.com/wlynch) in
[go-git/go-git#996
- git: Worktree checkout tag hash id
([#&#8203;959](https://togithub.com/go-git/go-git/issues/959)) by
[@&#8203;aymanbagabas](https://togithub.com/aymanbagabas) in
[go-git/go-git#966
- git: Worktree, Don't panic on empty or root path when checking if it
is valid by [@&#8203;tim775](https://togithub.com/tim775) in
[go-git/go-git#1042
- git: Add commit validation for Reset by
[@&#8203;pjbgf](https://togithub.com/pjbgf) in
[go-git/go-git#1048
- git: worktree_commit, Fix amend commit to apply changes. Fixes
[#&#8203;1024](https://togithub.com/go-git/go-git/issues/1024) by
[@&#8203;onee-only](https://togithub.com/onee-only) in
[go-git/go-git#1045
- git: Implement Merge function with initial `FastForwardMerge` support
by [@&#8203;pjbgf](https://togithub.com/pjbgf) in
[go-git/go-git#1044
- plumbing: object, Make first commit visible on logs filtered with
filename. Fixes
[#&#8203;191](https://togithub.com/go-git/go-git/issues/191) by
[@&#8203;onee-only](https://togithub.com/onee-only) in
[go-git/go-git#1036
- plumbing: no panic in printStats function. Fixes
[#&#8203;177](https://togithub.com/go-git/go-git/issues/177) by
[@&#8203;nodivbyzero](https://togithub.com/nodivbyzero) in
[go-git/go-git#971
- plumbing: object, Optimize logging with file. by
[@&#8203;onee-only](https://togithub.com/onee-only) in
[go-git/go-git#1046
- plumbing: object, check legitimacy in (\*Tree).Encode by
[@&#8203;niukuo](https://togithub.com/niukuo) in
[go-git/go-git#967
- plumbing: format/gitattributes, close file in ReadAttributesFile by
[@&#8203;prskr](https://togithub.com/prskr) in
[go-git/go-git#1018
- plumbing: check setAuth error. Fixes
[#&#8203;185](https://togithub.com/go-git/go-git/issues/185) by
[@&#8203;nodivbyzero](https://togithub.com/nodivbyzero) in
[go-git/go-git#969
- plumbing: object, fix variable defaultUtf8CommitMessageEncoding name
spell error by [@&#8203;Jerry-yz](https://togithub.com/Jerry-yz) in
[go-git/go-git#987
- utils: merkletrie, calculate filesystem node's hash lazily. by
[@&#8203;candid82](https://togithub.com/candid82) in
[go-git/go-git#825
- utils: update comment in node.go's Hash() by
[@&#8203;codablock](https://togithub.com/codablock) in
[go-git/go-git#992
- \_example: fix 404 link and added ssh-agent clone link by
[@&#8203;grinish21](https://togithub.com/grinish21) in
[go-git/go-git#1022
- \_example: checkout-branch example by
[@&#8203;dlambda](https://togithub.com/dlambda) in
[go-git/go-git#446
- \_example: example for git clone using ssh-agent by
[@&#8203;pjbgf](https://togithub.com/pjbgf) in
[go-git/go-git#998

#### New Contributors

- [@&#8203;candid82](https://togithub.com/candid82) made their first
contribution in
[go-git/go-git#825
- [@&#8203;codablock](https://togithub.com/codablock) made their first
contribution in
[go-git/go-git#992
- [@&#8203;Jerry-yz](https://togithub.com/Jerry-yz) made their first
contribution in
[go-git/go-git#987
- [@&#8203;wlynch](https://togithub.com/wlynch) made their first
contribution in
[go-git/go-git#996
- [@&#8203;moranCohen26](https://togithub.com/moranCohen26) made their
first contribution in
[go-git/go-git#994
- [@&#8203;grinish21](https://togithub.com/grinish21) made their first
contribution in
[go-git/go-git#1022
- [@&#8203;prskr](https://togithub.com/prskr) made their first
contribution in
[go-git/go-git#1018
- [@&#8203;dlambda](https://togithub.com/dlambda) made their first
contribution in
[go-git/go-git#446
- [@&#8203;juliens](https://togithub.com/juliens) made their first
contribution in
[go-git/go-git#366
- [@&#8203;onee-only](https://togithub.com/onee-only) made their first
contribution in
[go-git/go-git#1036
- [@&#8203;tim775](https://togithub.com/tim775) made their first
contribution in
[go-git/go-git#1042
- [@&#8203;niukuo](https://togithub.com/niukuo) made their first
contribution in
[go-git/go-git#967
- [@&#8203;avoidalone](https://togithub.com/avoidalone) made their first
contribution in
[go-git/go-git#1047

**Full Changelog**:
go-git/go-git@v5.11.0...v5.12.0

</details>

<details>
<summary>go-sql-driver/mysql (github.com/go-sql-driver/mysql)</summary>

###
[`v1.8.1`](https://togithub.com/go-sql-driver/mysql/releases/tag/v1.8.1)

[Compare
Source](https://togithub.com/go-sql-driver/mysql/compare/v1.8.0...v1.8.1)

#### What's Changed

Bugfixes:

- fix race condition when context is canceled in
[#&#8203;1562](https://togithub.com/go-sql-driver/mysql/pull/1562) and
[#&#8203;1570](https://togithub.com/go-sql-driver/mysql/pull/1570)

**Full Changelog**:
go-sql-driver/mysql@v1.8.0...v1.8.1

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on Monday" (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.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- 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/cerbos/cerbos).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: Oğuzhan Durgun <oguzhandurgun95@gmail.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
jaredallard pushed a commit to rgst-io/stencil that referenced this pull request Apr 6, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [github.com/go-git/go-git/v5](https://togithub.com/go-git/go-git) |
`v5.11.0` -> `v5.12.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgo-git%2fgo-git%2fv5/v5.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fgo-git%2fgo-git%2fv5/v5.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fgo-git%2fgo-git%2fv5/v5.11.0/v5.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgo-git%2fgo-git%2fv5/v5.11.0/v5.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>go-git/go-git (github.com/go-git/go-git/v5)</summary>

### [`v5.12.0`](https://togithub.com/go-git/go-git/releases/tag/v5.12.0)

[Compare
Source](https://togithub.com/go-git/go-git/compare/v5.11.0...v5.12.0)

#### What's Changed

- git: Worktree.AddWithOptions: add skipStatus option when providing a
specific path by
[@&#8203;moranCohen26](https://togithub.com/moranCohen26) in
[go-git/go-git#994
- git: Signer: fix usage of crypto.Signer interface by
[@&#8203;wlynch](https://togithub.com/wlynch) in
[go-git/go-git#1029
- git: Remote, fetch, adds the prune option. by
[@&#8203;juliens](https://togithub.com/juliens) in
[go-git/go-git#366
- git: Add crypto.Signer option to CommitOptions. by
[@&#8203;wlynch](https://togithub.com/wlynch) in
[go-git/go-git#996
- git: Worktree checkout tag hash id
([#&#8203;959](https://togithub.com/go-git/go-git/issues/959)) by
[@&#8203;aymanbagabas](https://togithub.com/aymanbagabas) in
[go-git/go-git#966
- git: Worktree, Don't panic on empty or root path when checking if it
is valid by [@&#8203;tim775](https://togithub.com/tim775) in
[go-git/go-git#1042
- git: Add commit validation for Reset by
[@&#8203;pjbgf](https://togithub.com/pjbgf) in
[go-git/go-git#1048
- git: worktree_commit, Fix amend commit to apply changes. Fixes
[#&#8203;1024](https://togithub.com/go-git/go-git/issues/1024) by
[@&#8203;onee-only](https://togithub.com/onee-only) in
[go-git/go-git#1045
- git: Implement Merge function with initial `FastForwardMerge` support
by [@&#8203;pjbgf](https://togithub.com/pjbgf) in
[go-git/go-git#1044
- plumbing: object, Make first commit visible on logs filtered with
filename. Fixes
[#&#8203;191](https://togithub.com/go-git/go-git/issues/191) by
[@&#8203;onee-only](https://togithub.com/onee-only) in
[go-git/go-git#1036
- plumbing: no panic in printStats function. Fixes
[#&#8203;177](https://togithub.com/go-git/go-git/issues/177) by
[@&#8203;nodivbyzero](https://togithub.com/nodivbyzero) in
[go-git/go-git#971
- plumbing: object, Optimize logging with file. by
[@&#8203;onee-only](https://togithub.com/onee-only) in
[go-git/go-git#1046
- plumbing: object, check legitimacy in (\*Tree).Encode by
[@&#8203;niukuo](https://togithub.com/niukuo) in
[go-git/go-git#967
- plumbing: format/gitattributes, close file in ReadAttributesFile by
[@&#8203;prskr](https://togithub.com/prskr) in
[go-git/go-git#1018
- plumbing: check setAuth error. Fixes
[#&#8203;185](https://togithub.com/go-git/go-git/issues/185) by
[@&#8203;nodivbyzero](https://togithub.com/nodivbyzero) in
[go-git/go-git#969
- plumbing: object, fix variable defaultUtf8CommitMessageEncoding name
spell error by [@&#8203;Jerry-yz](https://togithub.com/Jerry-yz) in
[go-git/go-git#987
- utils: merkletrie, calculate filesystem node's hash lazily. by
[@&#8203;candid82](https://togithub.com/candid82) in
[go-git/go-git#825
- utils: update comment in node.go's Hash() by
[@&#8203;codablock](https://togithub.com/codablock) in
[go-git/go-git#992
- \_example: fix 404 link and added ssh-agent clone link by
[@&#8203;grinish21](https://togithub.com/grinish21) in
[go-git/go-git#1022
- \_example: checkout-branch example by
[@&#8203;dlambda](https://togithub.com/dlambda) in
[go-git/go-git#446
- \_example: example for git clone using ssh-agent by
[@&#8203;pjbgf](https://togithub.com/pjbgf) in
[go-git/go-git#998

#### New Contributors

- [@&#8203;candid82](https://togithub.com/candid82) made their first
contribution in
[go-git/go-git#825
- [@&#8203;codablock](https://togithub.com/codablock) made their first
contribution in
[go-git/go-git#992
- [@&#8203;Jerry-yz](https://togithub.com/Jerry-yz) made their first
contribution in
[go-git/go-git#987
- [@&#8203;wlynch](https://togithub.com/wlynch) made their first
contribution in
[go-git/go-git#996
- [@&#8203;moranCohen26](https://togithub.com/moranCohen26) made their
first contribution in
[go-git/go-git#994
- [@&#8203;grinish21](https://togithub.com/grinish21) made their first
contribution in
[go-git/go-git#1022
- [@&#8203;prskr](https://togithub.com/prskr) made their first
contribution in
[go-git/go-git#1018
- [@&#8203;dlambda](https://togithub.com/dlambda) made their first
contribution in
[go-git/go-git#446
- [@&#8203;juliens](https://togithub.com/juliens) made their first
contribution in
[go-git/go-git#366
- [@&#8203;onee-only](https://togithub.com/onee-only) made their first
contribution in
[go-git/go-git#1036
- [@&#8203;tim775](https://togithub.com/tim775) made their first
contribution in
[go-git/go-git#1042
- [@&#8203;niukuo](https://togithub.com/niukuo) made their first
contribution in
[go-git/go-git#967
- [@&#8203;avoidalone](https://togithub.com/avoidalone) made their first
contribution in
[go-git/go-git#1047

**Full Changelog**:
go-git/go-git@v5.11.0...v5.12.0

</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 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/rgst-io/stencil).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
another-rex pushed a commit to google/osv-scanner that referenced this pull request Apr 9, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change | Age | Adoption | Passing |
Confidence |
|---|---|---|---|---|---|---|---|
| [deps.dev/api/v3](https://togithub.com/google/deps.dev) | require |
digest | `ff53416` -> `d32937c` | | | | |
| [deps.dev/util/maven](https://togithub.com/google/deps.dev) | require
| digest | `ff53416` -> `d32937c` | | | | |
| [deps.dev/util/resolve](https://togithub.com/google/deps.dev) |
require | digest | `ff53416` -> `d32937c` | | | | |
| [deps.dev/util/semver](https://togithub.com/google/deps.dev) | require
| digest | `ff53416` -> `d32937c` | | | | |
|
[github.com/gkampitakis/go-snaps](https://togithub.com/gkampitakis/go-snaps)
| require | patch | `v0.5.2` -> `v0.5.3` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgkampitakis%2fgo-snaps/v0.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fgkampitakis%2fgo-snaps/v0.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fgkampitakis%2fgo-snaps/v0.5.2/v0.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgkampitakis%2fgo-snaps/v0.5.2/v0.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [github.com/go-git/go-git/v5](https://togithub.com/go-git/go-git) |
require | minor | `v5.11.0` -> `v5.12.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgo-git%2fgo-git%2fv5/v5.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fgo-git%2fgo-git%2fv5/v5.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fgo-git%2fgo-git%2fv5/v5.11.0/v5.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgo-git%2fgo-git%2fv5/v5.11.0/v5.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[github.com/jedib0t/go-pretty/v6](https://togithub.com/jedib0t/go-pretty)
| require | patch | `v6.5.6` -> `v6.5.8` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fjedib0t%2fgo-pretty%2fv6/v6.5.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fjedib0t%2fgo-pretty%2fv6/v6.5.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fjedib0t%2fgo-pretty%2fv6/v6.5.6/v6.5.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fjedib0t%2fgo-pretty%2fv6/v6.5.6/v6.5.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| golang.org/x/exp | require | digest | `a685a6e` -> `93d18d7` | | | | |
| golang.org/x/mod | require | minor | `v0.16.0` -> `v0.17.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2fmod/v0.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/golang.org%2fx%2fmod/v0.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/golang.org%2fx%2fmod/v0.16.0/v0.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2fmod/v0.16.0/v0.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| golang.org/x/sync | require | minor | `v0.6.0` -> `v0.7.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2fsync/v0.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/golang.org%2fx%2fsync/v0.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/golang.org%2fx%2fsync/v0.6.0/v0.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2fsync/v0.6.0/v0.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| golang.org/x/term | require | minor | `v0.18.0` -> `v0.19.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2fterm/v0.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/golang.org%2fx%2fterm/v0.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/golang.org%2fx%2fterm/v0.18.0/v0.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2fterm/v0.18.0/v0.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [google.golang.org/grpc](https://togithub.com/grpc/grpc-go) | require
| minor | `v1.62.1` -> `v1.63.2` |
[![age](https://developer.mend.io/api/mc/badges/age/go/google.golang.org%2fgrpc/v1.63.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/google.golang.org%2fgrpc/v1.63.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/google.golang.org%2fgrpc/v1.62.1/v1.63.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/google.golang.org%2fgrpc/v1.62.1/v1.63.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>gkampitakis/go-snaps
(github.com/gkampitakis/go-snaps)</summary>

###
[`v0.5.3`](https://togithub.com/gkampitakis/go-snaps/releases/tag/v0.5.3)

[Compare
Source](https://togithub.com/gkampitakis/go-snaps/compare/v0.5.2...v0.5.3)

#### What's Changed

- fix: race condition when updating snapshots in parallel by
[@&#8203;gkampitakis](https://togithub.com/gkampitakis) in
[gkampitakis/go-snaps#97

**Full Changelog**:
gkampitakis/go-snaps@v0.5.2...v0.5.3

</details>

<details>
<summary>go-git/go-git (github.com/go-git/go-git/v5)</summary>

### [`v5.12.0`](https://togithub.com/go-git/go-git/releases/tag/v5.12.0)

[Compare
Source](https://togithub.com/go-git/go-git/compare/v5.11.0...v5.12.0)

#### What's Changed

- git: Worktree.AddWithOptions: add skipStatus option when providing a
specific path by
[@&#8203;moranCohen26](https://togithub.com/moranCohen26) in
[go-git/go-git#994
- git: Signer: fix usage of crypto.Signer interface by
[@&#8203;wlynch](https://togithub.com/wlynch) in
[go-git/go-git#1029
- git: Remote, fetch, adds the prune option. by
[@&#8203;juliens](https://togithub.com/juliens) in
[go-git/go-git#366
- git: Add crypto.Signer option to CommitOptions. by
[@&#8203;wlynch](https://togithub.com/wlynch) in
[go-git/go-git#996
- git: Worktree checkout tag hash id
([#&#8203;959](https://togithub.com/go-git/go-git/issues/959)) by
[@&#8203;aymanbagabas](https://togithub.com/aymanbagabas) in
[go-git/go-git#966
- git: Worktree, Don't panic on empty or root path when checking if it
is valid by [@&#8203;tim775](https://togithub.com/tim775) in
[go-git/go-git#1042
- git: Add commit validation for Reset by
[@&#8203;pjbgf](https://togithub.com/pjbgf) in
[go-git/go-git#1048
- git: worktree_commit, Fix amend commit to apply changes. Fixes
[#&#8203;1024](https://togithub.com/go-git/go-git/issues/1024) by
[@&#8203;onee-only](https://togithub.com/onee-only) in
[go-git/go-git#1045
- git: Implement Merge function with initial `FastForwardMerge` support
by [@&#8203;pjbgf](https://togithub.com/pjbgf) in
[go-git/go-git#1044
- plumbing: object, Make first commit visible on logs filtered with
filename. Fixes
[#&#8203;191](https://togithub.com/go-git/go-git/issues/191) by
[@&#8203;onee-only](https://togithub.com/onee-only) in
[go-git/go-git#1036
- plumbing: no panic in printStats function. Fixes
[#&#8203;177](https://togithub.com/go-git/go-git/issues/177) by
[@&#8203;nodivbyzero](https://togithub.com/nodivbyzero) in
[go-git/go-git#971
- plumbing: object, Optimize logging with file. by
[@&#8203;onee-only](https://togithub.com/onee-only) in
[go-git/go-git#1046
- plumbing: object, check legitimacy in (\*Tree).Encode by
[@&#8203;niukuo](https://togithub.com/niukuo) in
[go-git/go-git#967
- plumbing: format/gitattributes, close file in ReadAttributesFile by
[@&#8203;prskr](https://togithub.com/prskr) in
[go-git/go-git#1018
- plumbing: check setAuth error. Fixes
[#&#8203;185](https://togithub.com/go-git/go-git/issues/185) by
[@&#8203;nodivbyzero](https://togithub.com/nodivbyzero) in
[go-git/go-git#969
- plumbing: object, fix variable defaultUtf8CommitMessageEncoding name
spell error by [@&#8203;Jerry-yz](https://togithub.com/Jerry-yz) in
[go-git/go-git#987
- utils: merkletrie, calculate filesystem node's hash lazily. by
[@&#8203;candid82](https://togithub.com/candid82) in
[go-git/go-git#825
- utils: update comment in node.go's Hash() by
[@&#8203;codablock](https://togithub.com/codablock) in
[go-git/go-git#992
- \_example: fix 404 link and added ssh-agent clone link by
[@&#8203;grinish21](https://togithub.com/grinish21) in
[go-git/go-git#1022
- \_example: checkout-branch example by
[@&#8203;dlambda](https://togithub.com/dlambda) in
[go-git/go-git#446
- \_example: example for git clone using ssh-agent by
[@&#8203;pjbgf](https://togithub.com/pjbgf) in
[go-git/go-git#998

#### New Contributors

- [@&#8203;candid82](https://togithub.com/candid82) made their first
contribution in
[go-git/go-git#825
- [@&#8203;codablock](https://togithub.com/codablock) made their first
contribution in
[go-git/go-git#992
- [@&#8203;Jerry-yz](https://togithub.com/Jerry-yz) made their first
contribution in
[go-git/go-git#987
- [@&#8203;wlynch](https://togithub.com/wlynch) made their first
contribution in
[go-git/go-git#996
- [@&#8203;moranCohen26](https://togithub.com/moranCohen26) made their
first contribution in
[go-git/go-git#994
- [@&#8203;grinish21](https://togithub.com/grinish21) made their first
contribution in
[go-git/go-git#1022
- [@&#8203;prskr](https://togithub.com/prskr) made their first
contribution in
[go-git/go-git#1018
- [@&#8203;dlambda](https://togithub.com/dlambda) made their first
contribution in
[go-git/go-git#446
- [@&#8203;juliens](https://togithub.com/juliens) made their first
contribution in
[go-git/go-git#366
- [@&#8203;onee-only](https://togithub.com/onee-only) made their first
contribution in
[go-git/go-git#1036
- [@&#8203;tim775](https://togithub.com/tim775) made their first
contribution in
[go-git/go-git#1042
- [@&#8203;niukuo](https://togithub.com/niukuo) made their first
contribution in
[go-git/go-git#967
- [@&#8203;avoidalone](https://togithub.com/avoidalone) made their first
contribution in
[go-git/go-git#1047

**Full Changelog**:
go-git/go-git@v5.11.0...v5.12.0

</details>

<details>
<summary>jedib0t/go-pretty (github.com/jedib0t/go-pretty/v6)</summary>

###
[`v6.5.8`](https://togithub.com/jedib0t/go-pretty/releases/tag/v6.5.8)

[Compare
Source](https://togithub.com/jedib0t/go-pretty/compare/v6.5.7...v6.5.8)

#### What's Changed

- table: paging should work with auto-merge; fixes
[#&#8203;315](https://togithub.com/jedib0t/go-pretty/issues/315) by
[@&#8203;jedib0t](https://togithub.com/jedib0t) in
[jedib0t/go-pretty#317

**Full Changelog**:
jedib0t/go-pretty@v6.5.7...v6.5.8

###
[`v6.5.7`](https://togithub.com/jedib0t/go-pretty/releases/tag/v6.5.7)

[Compare
Source](https://togithub.com/jedib0t/go-pretty/compare/v6.5.6...v6.5.7)

#### What's Changed

- table: fix paging with separators; fixes
[#&#8203;312](https://togithub.com/jedib0t/go-pretty/issues/312) by
[@&#8203;jedib0t](https://togithub.com/jedib0t) in
[jedib0t/go-pretty#313

**Full Changelog**:
jedib0t/go-pretty@v6.5.6...v6.5.7

</details>

<details>
<summary>grpc/grpc-go (google.golang.org/grpc)</summary>

### [`v1.63.2`](https://togithub.com/grpc/grpc-go/releases/tag/v1.63.2):
Release 1.63.2

[Compare
Source](https://togithub.com/grpc/grpc-go/compare/v1.63.1...v1.63.2)

### Bugs

-   Fix the user agent string

### [`v1.63.1`](https://togithub.com/grpc/grpc-go/releases/tag/v1.63.1):
Release 1.63.1

[Compare
Source](https://togithub.com/grpc/grpc-go/compare/v1.63.0...v1.63.1)

-   grpc: un-deprecate Dial and DialContext and cherry-pick

### [`v1.63.0`](https://togithub.com/grpc/grpc-go/releases/tag/v1.63.0):
Release 1.63.0

[Compare
Source](https://togithub.com/grpc/grpc-go/compare/v1.62.2...v1.63.0)

### Behavior Changes

- grpc: Return canonical target string from `resolver.Address.String()`
(experimental)
([#&#8203;6923](https://togithub.com/grpc/grpc-go/issues/6923))
- client & server: when using write buffer pooling, use input value for
buffer size instead of size\*2
([#&#8203;6983](https://togithub.com/grpc/grpc-go/issues/6983))
- Special Thanks:
[@&#8203;raghav-stripe](https://togithub.com/raghav-stripe)

### New Features

- grpc: add `ClientConn.CanonicalTarget()` to return the canonical
target string.
([#&#8203;7006](https://togithub.com/grpc/grpc-go/issues/7006))
- xds: implement LRS named metrics support ([gRFC
A64](https://togithub.com/grpc/proposal/blob/master/A64-lrs-custom-metrics.md))
([#&#8203;7027](https://togithub.com/grpc/grpc-go/issues/7027))
- Special Thanks:
[@&#8203;danielzhaotongliu](https://togithub.com/danielzhaotongliu)
- grpc: introduce `grpc.NewClient` to allow users to create new clients
in idle mode and with "dns" as the default resolver
([#&#8203;7010](https://togithub.com/grpc/grpc-go/issues/7010))
- Special Thanks:
[@&#8203;bruuuuuuuce](https://togithub.com/bruuuuuuuce)

### API Changes

- grpc: stabilize experimental method `ClientConn.Target()`
([#&#8203;7006](https://togithub.com/grpc/grpc-go/issues/7006))

### Bug Fixes

- xds: fix an issue that would cause the client to send an empty list of
resources for LDS/CDS upon reconnecting with the management server
([#&#8203;7026](https://togithub.com/grpc/grpc-go/issues/7026))
- server: Fix some errors returned by a server when using a
`grpc.Server` as an `http.Handler` with the Go stdlib HTTP server
([#&#8203;6989](https://togithub.com/grpc/grpc-go/issues/6989))
- resolver/dns: add `SetResolvingTimeout` to allow configuring the DNS
resolver's global timeout
([#&#8203;6917](https://togithub.com/grpc/grpc-go/issues/6917))
- Special Thanks: [@&#8203;and1truong](https://togithub.com/and1truong)
- Set the security level of Windows named pipes to NoSecurity
([#&#8203;6956](https://togithub.com/grpc/grpc-go/issues/6956))
    -   Special Thanks: [@&#8203;irsl](https://togithub.com/irsl)

### [`v1.62.2`](https://togithub.com/grpc/grpc-go/releases/tag/v1.62.2):
Release 1.62.2

[Compare
Source](https://togithub.com/grpc/grpc-go/compare/v1.62.1...v1.62.2)

### Dependencies

- Update http2 library to address vulnerability
[CVE-2023-45288](https://www.kb.cert.org/vuls/id/421644)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 6am on monday" in timezone
Australia/Sydney, 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.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- 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/google/osv-scanner).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants