Skip to content

feature request: support sparse checkout #90

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

Closed
missedone opened this issue Jun 10, 2020 · 14 comments · Fixed by #1101
Closed

feature request: support sparse checkout #90

missedone opened this issue Jun 10, 2020 · 14 comments · Fixed by #1101
Labels
enhancement New feature or request help wanted Extra attention is needed no-autoclose Issues/PRs to be ignored by stale bot

Comments

@missedone
Copy link

missedone commented Jun 10, 2020

https://github.blog/2020-01-13-highlights-from-git-2-25/
git supports sparse checkout.
in my case, i'd like to clone (checkout) a subfolder out of a large git repo
for now it seems can not be done with go-git.

thanks

@c4milo
Copy link

c4milo commented Jun 24, 2020

this will be a great addition 🙌

@GridexX
Copy link

GridexX commented Sep 22, 2022

We really need this feature, is there a roadmap or something we can do for helping you ?
We could pay in ETHW 😄

mgoltzsche added a commit to mgoltzsche/khelm that referenced this issue Oct 12, 2022
This is meant to be compatible with the [helm-git](https://github.com/aslafy-z/helm-git) plugin.
The plugin has been reimplemented here since khelm does not work well with it since the it relies on other helm commands (that khelm does not support) and since it doesn't build git charts as effectively as khelm.
It uses go-git to keep the image small and self-contained: the git binary would increase the container image size by 15m while go-git is already among the transitive dependencies.
However currently [go-git does not support sparse checkouts](go-git/go-git#90).
mgoltzsche added a commit to mgoltzsche/khelm that referenced this issue Oct 12, 2022
This is meant to be compatible with the [helm-git](https://github.com/aslafy-z/helm-git) plugin.
The plugin has been reimplemented here since it relies on unsupported helm commands and since it doesn't build git charts as effective as khelm.
It uses go-git to keep the image small and self-contained: the git binary would increase the container image size by 15m while go-git is already among the transitive dependencies.
However currently [go-git does not support sparse checkouts](go-git/go-git#90).
mgoltzsche added a commit to mgoltzsche/khelm that referenced this issue Oct 12, 2022
This is meant to be compatible with the [helm-git](https://github.com/aslafy-z/helm-git) plugin.
The plugin has been reimplemented here since it relies on unsupported helm commands and since it doesn't build git charts as effective as khelm.
khelm uses go-git to keep the image small and self-contained: the git binary would increase the container image size by 15m while go-git is already among the transitive dependencies.
However currently [go-git does not support sparse checkouts](go-git/go-git#90).
mgoltzsche added a commit to mgoltzsche/khelm that referenced this issue Oct 12, 2022
This is meant to be compatible with the [helm-git](https://github.com/aslafy-z/helm-git) plugin.
The plugin has been reimplemented here since it relies on unsupported helm commands and since it doesn't build git charts as effective as khelm.
khelm uses go-git to keep the image small and self-contained: the git binary would increase the container image size by 15m while using go-git increases the size by 3m only.
However currently [go-git does not support sparse checkouts](go-git/go-git#90).
mgoltzsche added a commit to mgoltzsche/khelm that referenced this issue Oct 12, 2022
This is meant to be compatible with the [helm-git](https://github.com/aslafy-z/helm-git) plugin.
The plugin has been reimplemented here since it relies on unsupported helm commands and since it doesn't build git charts as effective as khelm.
khelm uses go-git to keep the image small and self-contained: the git binary would increase the container image size by 15m while using go-git increases the size by 3m only.
However currently [go-git does not support sparse checkouts](go-git/go-git#90).
mgoltzsche added a commit to mgoltzsche/khelm that referenced this issue Oct 12, 2022
This is meant to be compatible with the [helm-git](https://github.com/aslafy-z/helm-git) plugin.
The plugin has been reimplemented here since it relies on unsupported helm commands and since it doesn't build git charts as effective as khelm.
khelm uses go-git to keep the image small and self-contained: the git binary would increase the container image size by 15m while using go-git increases the size by 3m only.
However currently [go-git does not support sparse checkouts](go-git/go-git#90).
mgoltzsche added a commit to mgoltzsche/khelm that referenced this issue Oct 12, 2022
This is meant to be compatible with the [helm-git](https://github.com/aslafy-z/helm-git) plugin.
The plugin has been reimplemented here since it relies on unsupported helm commands and since it doesn't build git charts as effective as khelm.
khelm uses go-git to keep the image small and self-contained: the git binary would increase the container image size by 15m while using go-git increases the size by 3m only.
However currently [go-git does not support sparse checkouts](go-git/go-git#90).
mgoltzsche added a commit to mgoltzsche/khelm that referenced this issue Oct 13, 2022
This is meant to be compatible with the [helm-git](https://github.com/aslafy-z/helm-git) plugin.
The plugin has been reimplemented here since it relies on unsupported helm commands and since it doesn't build git charts as effective as khelm.
khelm uses go-git to keep the image small and self-contained: the git binary would increase the container image size by 15m while using go-git increases the size by 3m only.
However currently [go-git does not support sparse checkouts](go-git/go-git#90).
mgoltzsche added a commit to mgoltzsche/khelm that referenced this issue Oct 13, 2022
This is meant to be compatible with the [helm-git](https://github.com/aslafy-z/helm-git) plugin.
The plugin has been reimplemented here since it relies on unsupported helm commands and since it doesn't build git charts as effective as khelm.
khelm uses go-git to keep the image small and self-contained: the git binary would increase the container image size by 15m while using go-git increases the size by 3m only.
However currently [go-git does not support sparse checkouts](go-git/go-git#90).
mgoltzsche added a commit to mgoltzsche/khelm that referenced this issue Oct 17, 2022
This is meant to be compatible with the [helm-git](https://github.com/aslafy-z/helm-git) plugin.
The plugin has been reimplemented here since it relies on unsupported helm commands and since it doesn't build git charts as effective as khelm.
khelm uses go-git to keep the image small and self-contained: the git binary would increase the container image size by 15m while using go-git increases the size by 3m only.
However currently [go-git does not support sparse checkouts](go-git/go-git#90).
mgoltzsche added a commit to mgoltzsche/khelm that referenced this issue Oct 17, 2022
This is meant to be compatible with the [helm-git](https://github.com/aslafy-z/helm-git) plugin.
The plugin has been reimplemented here since it relies on unsupported helm commands and since it doesn't build git charts as effective as khelm.
khelm uses go-git to keep the image small and self-contained: the git binary would increase the container image size by 15m while using go-git increases the size by 3m only.
However currently [go-git does not support sparse checkouts](go-git/go-git#90).
mgoltzsche added a commit to mgoltzsche/khelm that referenced this issue Oct 30, 2022
This is meant to be compatible with the [helm-git](https://github.com/aslafy-z/helm-git) plugin.
The plugin has been reimplemented here since it relies on unsupported helm commands and since it doesn't build git charts as effective as khelm.
khelm uses go-git to keep the image small and self-contained: the git binary would increase the container image size by 15m while using go-git increases the size by 3m only.
However currently [go-git does not support sparse checkouts](go-git/go-git#90).
@yordis
Copy link

yordis commented Aug 25, 2023

Hey folks, I am trying to contribute to ArgoCD (and potentially FluxCD) by adding sparse checkout: argoproj/argo-cd#14272

But it seems it is not supported. Any opportunity to make the issue a priority?

@antonosmond
Copy link

@yordis AFAICT, sparse checkout is supported. You can see it in this test:

go-git/repository_test.go

Lines 291 to 320 in 809f9df

func (s *RepositorySuite) TestCloneSparse(c *C) {
fs := memfs.New()
r, err := Clone(memory.NewStorage(), fs, &CloneOptions{
URL: s.GetBasicLocalRepositoryURL(),
})
c.Assert(err, IsNil)
w, err := r.Worktree()
c.Assert(err, IsNil)
sparseCheckoutDirectories := []string{"go", "json", "php"}
c.Assert(w.Checkout(&CheckoutOptions{
Branch: "refs/heads/master",
SparseCheckoutDirectories: sparseCheckoutDirectories,
}), IsNil)
fis, err := fs.ReadDir(".")
c.Assert(err, IsNil)
for _, fi := range fis {
c.Assert(fi.IsDir(), Equals, true)
var oneOfSparseCheckoutDirs bool
for _, sparseCheckoutDirectory := range sparseCheckoutDirectories {
if strings.HasPrefix(fi.Name(), sparseCheckoutDirectory) {
oneOfSparseCheckoutDirs = true
}
}
c.Assert(oneOfSparseCheckoutDirs, Equals, true)
}
}

That being said, I'm trying to use this and it doesn't appear to working. After the checkout, I seem to have all dirs in the worktree, not just the sparse dirs. If you get it working, let me know! Thanks!

@yordis
Copy link

yordis commented Sep 18, 2023

I removed the usage of the package btw!

@emirot
Copy link

emirot commented Oct 14, 2023

@yordis @antonosmond

What did not work?

It looks to be working in my simple test: https://github.com/emirot/test-go-git/tree/main

Copy link

To help us keep things tidy and focus on the active tasks, we've introduced a stale bot to spot issues/PRs that haven't had any activity in a while.

This particular issue hasn't had any updates or activity in the past 90 days, so it's been labeled as 'stale'. If it remains inactive for the next 30 days, it'll be automatically closed.

We understand everyone's busy, but if this issue is still important to you, please feel free to add a comment or make an update to keep it active.

Thanks for your understanding and cooperation!

@github-actions github-actions bot added the stale Issues/PRs that are marked for closure due to inactivity label Jan 18, 2024
@jberger-dynatrace
Copy link

We would appreciate this feature as well!

@github-actions github-actions bot removed the stale Issues/PRs that are marked for closure due to inactivity label Feb 9, 2024
@object88
Copy link

I also am having trouble using SparseCheckoutDirectories (with go-git v5.11.0). My case may be slightly strange, though. I want to get a sparse checkout from a particular commit. My code, in brief:

        # sha -> 40 character SHA
        # path -> subfolder in my repo, ala "src/app/config"
        # repo -> git form of my repo, ala "git@github.com:myorg/myrepo.git"

	tempDir, _ := os.MkdirTemp("", "source-*")
	fs := osfs.New(tempDir)
	dot, _ := fs.Chroot(".git")
	s := filesystem.NewStorage(dot, cache.NewObjectLRUDefault())

	refspec := config.RefSpec(fmt.Sprintf("+%s:refs/remotes/origin/%s", sha, sha))
	r, _ := gogit.Init(s, fs)
	r.CreateRemote(&config.RemoteConfig{
		Fetch: []config.RefSpec{refspec},
		Name:  "origin",
		URLs:  []string{repo},
	})
	w, _ := r.Worktree()

	r.Fetch(&gogit.FetchOptions{
		Depth:           1,
		InsecureSkipTLS: false,
		Tags:            gogit.NoTags,
	})

	w.Checkout(&gogit.CheckoutOptions{
		Hash:                      plumbing.NewHash(sha),
		SparseCheckoutDirectories: []string{path},
	})

While the sample code above does not show error checking, it is present in my actual code, and no errors are coming back.

I have also tried setting path as just "src" (instead of "src/app/cfg") to match the test mentioned above, but same behavior. Also same if I add a Force: true to the CheckoutOptions.

@wilstdu
Copy link

wilstdu commented May 8, 2024

@yordis @antonosmond

What did not work?

It looks to be working in my simple test: https://github.com/emirot/test-go-git/tree/main

@emirot for you this works, because your example doesn't have NoCheckout: true, in git.CloneOptions of git.PlainClone

@pjbgf pjbgf added the no-autoclose Issues/PRs to be ignored by stale bot label May 20, 2024
@wandergeek
Copy link

Would also love this feature!

@kushagra-saxena-exa
Copy link

I can see the PR opened. is it planned in next release?

@JJHWAN
Copy link

JJHWAN commented Sep 5, 2024

is PR being reviewed?

morero added a commit to ertia-io/go-git that referenced this issue Sep 5, 2024
git: worktree, Fix sparse reset. Fixes go-git#90
@pjbgf pjbgf closed this as completed in 7e9b3e0 Oct 18, 2024
pjbgf added a commit that referenced this issue Oct 18, 2024
git: worktree, Fix sparse reset. Fixes #90
onee-only added a commit to onee-only/go-git that referenced this issue Oct 19, 2024
traidare pushed a commit to traidare/go-git that referenced this issue Oct 26, 2024
traidare pushed a commit to traidare/go-git that referenced this issue Oct 26, 2024
@exu
Copy link

exu commented Dec 5, 2024

Anyu chance for it to be released? Looks like last release was in March

pjbgf pushed a commit to pjbgf/go-git that referenced this issue Dec 17, 2024
DennisRasey pushed a commit to DennisRasey/forgejo that referenced this issue Jan 8, 2025
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [github.com/go-git/go-git/v5](https://github.com/go-git/go-git) | require | minor | `v5.11.0` -> `v5.13.1` |

---

### Release Notes

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

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

[Compare Source](go-git/go-git@v5.13.0...v5.13.1)

#### What's Changed

-   build: bump github.com/go-git/go-billy/v5 from 5.6.0 to 5.6.1 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1327
-   build: bump github.com/elazarl/goproxy from 1.2.1 to 1.2.2 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1329
-   build: bump github.com/elazarl/goproxy from 1.2.2 to 1.2.3 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1340
-   Revert "plumbing: transport/ssh, Add support for SSH [@&#8203;cert-authority](https://github.com/cert-authority)." by [@&#8203;pjbgf](https://github.com/pjbgf) in [#&#8203;1346](go-git/go-git#1346)

**Full Changelog**: go-git/go-git@v5.13.0...v5.13.1

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

[Compare Source](go-git/go-git@v5.12.0...v5.13.0)

#### What's Changed

-   build: bump github.com/go-git/go-git/v5 from 5.11.0 to 5.12.0 in /cli/go-git by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1065
-   build: bump golang.org/x/net from 0.22.0 to 0.23.0 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1068
-   build: bump golang.org/x/net from 0.23.0 to 0.24.0 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1071
-   Properly support skipping of non-mandatory extensions  by [@&#8203;codablock](https://github.com/codablock) in go-git/go-git#1066
-   git: Refine some codes in test and non-test. by [@&#8203;onee-only](https://github.com/onee-only) in go-git/go-git#1077
-   plumbing: protocol/packp, client-side filter capability support by [@&#8203;edigaryev](https://github.com/edigaryev) in go-git/go-git#1000
-   build: bump golang.org/x/net from 0.22.0 to 0.23.0 in /cli/go-git by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1078
-   plumbing: fix sideband demux on flush by [@&#8203;aymanbagabas](https://github.com/aymanbagabas) in go-git/go-git#1084
-   storage: dotgit, head reference usually comes first by [@&#8203;aymanbagabas](https://github.com/aymanbagabas) in go-git/go-git#1085
-   build: bump golang.org/x/text from 0.14.0 to 0.15.0 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1091
-   build: bump golang.org/x/crypto from 0.22.0 to 0.23.0 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1094
-   build: bump golang.org/x/net from 0.24.0 to 0.25.0 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1093
-   git: Added an example for Repository.Branches by [@&#8203;johnmatthiggins](https://github.com/johnmatthiggins) in go-git/go-git#1088
-   git: worktree_commit, Modify checking empty commit. Fixes [#&#8203;723](go-git/go-git#723) by [@&#8203;onee-only](https://github.com/onee-only) in go-git/go-git#1050
-   plumbing: transport/http, Wrap http errors to return reason. Fixes [#&#8203;1097](go-git/go-git#1097) by [@&#8203;ggambetti](https://github.com/ggambetti) in go-git/go-git#1100
-   build: bump golang.org/x/sys from 0.20.0 to 0.21.0 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1106
-   build: bump golang.org/x/text from 0.15.0 to 0.16.0 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1107
-   Bumps Go versions and go-billy by [@&#8203;pjbgf](https://github.com/pjbgf) in go-git/go-git#1056
-   \_examples: Fixed a dead link COMPATIBILITY.md by [@&#8203;gecko655](https://github.com/gecko655) in go-git/go-git#1109
-   build: bump github.com/jessevdk/go-flags from 1.5.0 to 1.6.1 in /cli/go-git by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1115
-   build: bump github.com/elazarl/goproxy from v0.0.0-20230808193330-2592e75ae04a to v0.0.0-20240618083138-03be62527ccb by [@&#8203;hbelmiro](https://github.com/hbelmiro) in go-git/go-git#1124
-   build: bump golang.org/x/net from 0.25.0 to 0.26.0 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1104
-   Add option approximating `git clean -x` flag. by [@&#8203;msuozzo](https://github.com/msuozzo) in go-git/go-git#995
-   Revert "Add option approximating `git clean -x` flag." by [@&#8203;pjbgf](https://github.com/pjbgf) in go-git/go-git#1129
-   Fix reference updated concurrently error for the filesystem storer by [@&#8203;Javier-varez](https://github.com/Javier-varez) in go-git/go-git#1116
-   build: bump golang.org/x/net from 0.26.0 to 0.27.0 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1134
-   utils: merkletrie, Align error message with upstream by [@&#8203;pjbgf](https://github.com/pjbgf) in go-git/go-git#1142
-   plumbing: transport/file, Change paths to absolute by [@&#8203;pjbgf](https://github.com/pjbgf) in go-git/go-git#1141
-   plumbing: gitignore, Fix loading of ignored .gitignore files. by [@&#8203;Achilleshiel](https://github.com/Achilleshiel) in go-git/go-git#1114
-   build: bump github.com/skeema/knownhosts from 1.2.2 to 1.3.0 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1147
-   plumbing: transport/ssh, Add support for SSH [@&#8203;cert-authority](https://github.com/cert-authority). by [@&#8203;Javier-varez](https://github.com/Javier-varez) in go-git/go-git#1157
-   build: run example tests during CI workflow by [@&#8203;crazybolillo](https://github.com/crazybolillo) in go-git/go-git#1030
-   storage: filesystem, Fix object cache not working due to uninitialised objects being put into cache by [@&#8203;SatelliteMind](https://github.com/SatelliteMind) in go-git/go-git#1138
-   git: Fix fetching missing commits by [@&#8203;AriehSchneier](https://github.com/AriehSchneier) in go-git/go-git#1032
-   plumbing: format/packfile, remove duplicate checks in findMatch() by [@&#8203;edigaryev](https://github.com/edigaryev) in go-git/go-git#1152
-   git: worktree, Fix file reported as `Untracked` while it is committed by [@&#8203;rodrigocam](https://github.com/rodrigocam) in go-git/go-git#1023
-   build: bump golang.org/x/sys from 0.22.0 to 0.23.0 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1160
-   plumbing: filemode, Remove check for setting size of .git/index file  by [@&#8203;nicholasSUSE](https://github.com/nicholasSUSE) in go-git/go-git#1159
-   build: bump golang.org/x/net from 0.27.0 to 0.28.0 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1163
-   Fix some lint warning and increase stalebot to 180 days by [@&#8203;pjbgf](https://github.com/pjbgf) in go-git/go-git#1128
-   adjust path extracted from file: url on Windows by [@&#8203;tomqwpl](https://github.com/tomqwpl) in go-git/go-git#416
-   build: bump golang.org/x/sys from 0.23.0 to 0.24.0 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1164
-   Add RestoreStaged to Worktree that mimics the behaviour of git restore --staged <file>... by [@&#8203;ben-tbotlabs](https://github.com/ben-tbotlabs) in go-git/go-git#493
-   plumbing: signature, support the same x509 signature formats as git by [@&#8203;yoavamit](https://github.com/yoavamit) in go-git/go-git#1169
-   fix: allow discovery of non bare repos in fsLoader by [@&#8203;jakobmoellerdev](https://github.com/jakobmoellerdev) in go-git/go-git#1170
-   build: bump golang.org/x/sys from 0.24.0 to 0.25.0 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1178
-   build: bump golang.org/x/text from 0.17.0 to 0.18.0 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1179
-   build: bump golang.org/x/net from 0.28.0 to 0.29.0 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1184
-   Consume push URLs when they are provided by [@&#8203;mcepl](https://github.com/mcepl) in go-git/go-git#1191
-   \*: use gocheck's MkDir instead of TempDir for tests. Fixes [#&#8203;807](go-git/go-git#807) by [@&#8203;uragirii](https://github.com/uragirii) in go-git/go-git#1194
-   build: bump golang.org/x/net from 0.29.0 to 0.30.0 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1200
-   worktree: .git/index not correctly generated when running on Windows by [@&#8203;BeChris](https://github.com/BeChris) in go-git/go-git#1198
-   git: worktree, Fix sparse reset. Fixes [#&#8203;90](go-git/go-git#90) by [@&#8203;onee-only](https://github.com/onee-only) in go-git/go-git#1101
-   git: worktree, Pass context on updateSubmodules. Fixes [#&#8203;1098](go-git/go-git#1098) by [@&#8203;onee-only](https://github.com/onee-only) in go-git/go-git#1154
-   build: bump github.com/go-git/go-billy/v5 from 5.5.1-0.20240427054813-8453aa90c6ec to 5.6.0 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1211
-   Update contributing guidelines by [@&#8203;pjbgf](https://github.com/pjbgf) in go-git/go-git#1217
-   build: bump github.com/ProtonMail/go-crypto from 1.0.0 to 1.1.1 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1222
-   build: bump golang.org/x/sys from 0.26.0 to 0.27.0 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1223
-   build: bump golang.org/x/crypto from 0.28.0 to 0.29.0 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1221
-   build: bump github.com/ProtonMail/go-crypto from 1.1.1 to 1.1.2 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1226
-   build: bump github.com/stretchr/testify from 1.9.0 to 1.10.0 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1232
-   build: bump github.com/ProtonMail/go-crypto from 1.1.2 to 1.1.3 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1231
-   build: General improvements around fuzzing by [@&#8203;pjbgf](https://github.com/pjbgf) in go-git/go-git#1229
-   build: bump golang.org/x/net from 0.30.0 to 0.32.0 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1241
-   build: group dependabot updates for golang.org by [@&#8203;AriehSchneier](https://github.com/AriehSchneier) in go-git/go-git#1243
-   build: bump github/codeql-action from 2.22.11 to 3.27.6 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1244
-   build: bump golang.org/x/crypto from 0.21.0 to 0.31.0 in /cli/go-git by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1246
-   build: bump golang.org/x/crypto from 0.30.0 to 0.31.0 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1247
-   build: bump github.com/gliderlabs/ssh from 0.3.7 to 0.3.8 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1248
-   add comment preventing people from creating invalid trees by [@&#8203;petar](https://github.com/petar) in go-git/go-git#732
-   build: bump github/codeql-action from 3.27.6 to 3.27.9 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1250
-   plumbing: Properly encode index version 4 by [@&#8203;BeChris](https://github.com/BeChris) in go-git/go-git#1251
-   Fix typos by [@&#8203;deining](https://github.com/deining) in go-git/go-git#1148
-   Fix reset files in subfolders by [@&#8203;linglo](https://github.com/linglo) in go-git/go-git#1177
-   git: update switch cases by [@&#8203;hezhizhen](https://github.com/hezhizhen) in go-git/go-git#1182
-   build: bump golang.org/x/net from 0.32.0 to 0.33.0 in the golang-org group by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1256
-   fix(1212): Fix invalid reference name error while cloning branches containing /- by [@&#8203;varmakarthik12](https://github.com/varmakarthik12) in go-git/go-git#1257
-   pktline : accept upercase hexadecimal value as pktline length information by [@&#8203;BeChris](https://github.com/BeChris) in go-git/go-git#1220
-   build: bump github/codeql-action from 3.27.9 to 3.28.0 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1260
-   build: bump github.com/elazarl/goproxy from 0.0.0-20240618083138-03be62527ccb to 1.2.1 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1262
-   git: worktree_commit, sanitize author and commiter name and email before creating the commit object. Fixes [#&#8203;680](go-git/go-git#680) by [@&#8203;BeChris](https://github.com/BeChris) in go-git/go-git#1261

#### New Contributors

-   [@&#8203;johnmatthiggins](https://github.com/johnmatthiggins) made their first contribution in go-git/go-git#1088
-   [@&#8203;ggambetti](https://github.com/ggambetti) made their first contribution in go-git/go-git#1100
-   [@&#8203;gecko655](https://github.com/gecko655) made their first contribution in go-git/go-git#1109
-   [@&#8203;hbelmiro](https://github.com/hbelmiro) made their first contribution in go-git/go-git#1124
-   [@&#8203;msuozzo](https://github.com/msuozzo) made their first contribution in go-git/go-git#995
-   [@&#8203;Javier-varez](https://github.com/Javier-varez) made their first contribution in go-git/go-git#1116
-   [@&#8203;Achilleshiel](https://github.com/Achilleshiel) made their first contribution in go-git/go-git#1114
-   [@&#8203;crazybolillo](https://github.com/crazybolillo) made their first contribution in go-git/go-git#1030
-   [@&#8203;SatelliteMind](https://github.com/SatelliteMind) made their first contribution in go-git/go-git#1138
-   [@&#8203;rodrigocam](https://github.com/rodrigocam) made their first contribution in go-git/go-git#1023
-   [@&#8203;nicholasSUSE](https://github.com/nicholasSUSE) made their first contribution in go-git/go-git#1159
-   [@&#8203;tomqwpl](https://github.com/tomqwpl) made their first contribution in go-git/go-git#416
-   [@&#8203;ben-tbotlabs](https://github.com/ben-tbotlabs) made their first contribution in go-git/go-git#493
-   [@&#8203;yoavamit](https://github.com/yoavamit) made their first contribution in go-git/go-git#1169
-   [@&#8203;uragirii](https://github.com/uragirii) made their first contribution in go-git/go-git#1194
-   [@&#8203;petar](https://github.com/petar) made their first contribution in go-git/go-git#732
-   [@&#8203;deining](https://github.com/deining) made their first contribution in go-git/go-git#1148
-   [@&#8203;linglo](https://github.com/linglo) made their first contribution in go-git/go-git#1177
-   [@&#8203;varmakarthik12](https://github.com/varmakarthik12) made their first contribution in go-git/go-git#1257

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

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

[Compare Source](go-git/go-git@v5.11.0...v5.12.0)

#### What's Changed

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

#### New Contributors

-   [@&#8203;candid82](https://github.com/candid82) made their first contribution in go-git/go-git#825
-   [@&#8203;codablock](https://github.com/codablock) made their first contribution in go-git/go-git#992
-   [@&#8203;Jerry-yz](https://github.com/Jerry-yz) made their first contribution in go-git/go-git#987
-   [@&#8203;wlynch](https://github.com/wlynch) made their first contribution in go-git/go-git#996
-   [@&#8203;moranCohen26](https://github.com/moranCohen26) made their first contribution in go-git/go-git#994
-   [@&#8203;grinish21](https://github.com/grinish21) made their first contribution in go-git/go-git#1022
-   [@&#8203;prskr](https://github.com/prskr) made their first contribution in go-git/go-git#1018
-   [@&#8203;dlambda](https://github.com/dlambda) made their first contribution in go-git/go-git#446
-   [@&#8203;juliens](https://github.com/juliens) made their first contribution in go-git/go-git#366
-   [@&#8203;onee-only](https://github.com/onee-only) made their first contribution in go-git/go-git#1036
-   [@&#8203;tim775](https://github.com/tim775) made their first contribution in go-git/go-git#1042
-   [@&#8203;niukuo](https://github.com/niukuo) made their first contribution in go-git/go-git#967
-   [@&#8203;avoidalone](https://github.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 - "* 0-3 * * *" (UTC), Automerge - "* 0-3 * * *" (UTC).

🚦 **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 [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS45Mi4wIiwidXBkYXRlZEluVmVyIjoiMzkuOTIuMCIsInRhcmdldEJyYW5jaCI6ImZvcmdlam8iLCJsYWJlbHMiOlsiZGVwZW5kZW5jeS11cGdyYWRlIiwidGVzdC9ub3QtbmVlZGVkIl19-->

Co-authored-by: Earl Warren <contact@earl-warren.org>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/6495
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: Renovate Bot <forgejo-renovate-action@forgejo.org>
Co-committed-by: Renovate Bot <forgejo-renovate-action@forgejo.org>
DennisRasey pushed a commit to DennisRasey/forgejo that referenced this issue Jan 8, 2025
…(#6496)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [github.com/go-git/go-git/v5](https://github.com/go-git/go-git) | require | minor | `v5.11.0` -> `v5.13.1` |

---

### Release Notes

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

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

[Compare Source](go-git/go-git@v5.13.0...v5.13.1)

#### What's Changed

-   build: bump github.com/go-git/go-billy/v5 from 5.6.0 to 5.6.1 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1327
-   build: bump github.com/elazarl/goproxy from 1.2.1 to 1.2.2 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1329
-   build: bump github.com/elazarl/goproxy from 1.2.2 to 1.2.3 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1340
-   Revert "plumbing: transport/ssh, Add support for SSH [@&#8203;cert-authority](https://github.com/cert-authority)." by [@&#8203;pjbgf](https://github.com/pjbgf) in [#&#8203;1346](go-git/go-git#1346)

**Full Changelog**: go-git/go-git@v5.13.0...v5.13.1

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

[Compare Source](go-git/go-git@v5.12.0...v5.13.0)

#### What's Changed

-   build: bump github.com/go-git/go-git/v5 from 5.11.0 to 5.12.0 in /cli/go-git by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1065
-   build: bump golang.org/x/net from 0.22.0 to 0.23.0 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1068
-   build: bump golang.org/x/net from 0.23.0 to 0.24.0 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1071
-   Properly support skipping of non-mandatory extensions  by [@&#8203;codablock](https://github.com/codablock) in go-git/go-git#1066
-   git: Refine some codes in test and non-test. by [@&#8203;onee-only](https://github.com/onee-only) in go-git/go-git#1077
-   plumbing: protocol/packp, client-side filter capability support by [@&#8203;edigaryev](https://github.com/edigaryev) in go-git/go-git#1000
-   build: bump golang.org/x/net from 0.22.0 to 0.23.0 in /cli/go-git by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1078
-   plumbing: fix sideband demux on flush by [@&#8203;aymanbagabas](https://github.com/aymanbagabas) in go-git/go-git#1084
-   storage: dotgit, head reference usually comes first by [@&#8203;aymanbagabas](https://github.com/aymanbagabas) in go-git/go-git#1085
-   build: bump golang.org/x/text from 0.14.0 to 0.15.0 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1091
-   build: bump golang.org/x/crypto from 0.22.0 to 0.23.0 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1094
-   build: bump golang.org/x/net from 0.24.0 to 0.25.0 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1093
-   git: Added an example for Repository.Branches by [@&#8203;johnmatthiggins](https://github.com/johnmatthiggins) in go-git/go-git#1088
-   git: worktree_commit, Modify checking empty commit. Fixes [#&#8203;723](go-git/go-git#723) by [@&#8203;onee-only](https://github.com/onee-only) in go-git/go-git#1050
-   plumbing: transport/http, Wrap http errors to return reason. Fixes [#&#8203;1097](go-git/go-git#1097) by [@&#8203;ggambetti](https://github.com/ggambetti) in go-git/go-git#1100
-   build: bump golang.org/x/sys from 0.20.0 to 0.21.0 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1106
-   build: bump golang.org/x/text from 0.15.0 to 0.16.0 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1107
-   Bumps Go versions and go-billy by [@&#8203;pjbgf](https://github.com/pjbgf) in go-git/go-git#1056
-   \_examples: Fixed a dead link COMPATIBILITY.md by [@&#8203;gecko655](https://github.com/gecko655) in go-git/go-git#1109
-   build: bump github.com/jessevdk/go-flags from 1.5.0 to 1.6.1 in /cli/go-git by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1115
-   build: bump github.com/elazarl/goproxy from v0.0.0-20230808193330-2592e75ae04a to v0.0.0-20240618083138-03be62527ccb by [@&#8203;hbelmiro](https://github.com/hbelmiro) in go-git/go-git#1124
-   build: bump golang.org/x/net from 0.25.0 to 0.26.0 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1104
-   Add option approximating `git clean -x` flag. by [@&#8203;msuozzo](https://github.com/msuozzo) in go-git/go-git#995
-   Revert "Add option approximating `git clean -x` flag." by [@&#8203;pjbgf](https://github.com/pjbgf) in go-git/go-git#1129
-   Fix reference updated concurrently error for the filesystem storer by [@&#8203;Javier-varez](https://github.com/Javier-varez) in go-git/go-git#1116
-   build: bump golang.org/x/net from 0.26.0 to 0.27.0 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1134
-   utils: merkletrie, Align error message with upstream by [@&#8203;pjbgf](https://github.com/pjbgf) in go-git/go-git#1142
-   plumbing: transport/file, Change paths to absolute by [@&#8203;pjbgf](https://github.com/pjbgf) in go-git/go-git#1141
-   plumbing: gitignore, Fix loading of ignored .gitignore files. by [@&#8203;Achilleshiel](https://github.com/Achilleshiel) in go-git/go-git#1114
-   build: bump github.com/skeema/knownhosts from 1.2.2 to 1.3.0 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1147
-   plumbing: transport/ssh, Add support for SSH [@&#8203;cert-authority](https://github.com/cert-authority). by [@&#8203;Javier-varez](https://github.com/Javier-varez) in go-git/go-git#1157
-   build: run example tests during CI workflow by [@&#8203;crazybolillo](https://github.com/crazybolillo) in go-git/go-git#1030
-   storage: filesystem, Fix object cache not working due to uninitialised objects being put into cache by [@&#8203;SatelliteMind](https://github.com/SatelliteMind) in go-git/go-git#1138
-   git: Fix fetching missing commits by [@&#8203;AriehSchneier](https://github.com/AriehSchneier) in go-git/go-git#1032
-   plumbing: format/packfile, remove duplicate checks in findMatch() by [@&#8203;edigaryev](https://github.com/edigaryev) in go-git/go-git#1152
-   git: worktree, Fix file reported as `Untracked` while it is committed by [@&#8203;rodrigocam](https://github.com/rodrigocam) in go-git/go-git#1023
-   build: bump golang.org/x/sys from 0.22.0 to 0.23.0 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1160
-   plumbing: filemode, Remove check for setting size of .git/index file  by [@&#8203;nicholasSUSE](https://github.com/nicholasSUSE) in go-git/go-git#1159
-   build: bump golang.org/x/net from 0.27.0 to 0.28.0 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1163
-   Fix some lint warning and increase stalebot to 180 days by [@&#8203;pjbgf](https://github.com/pjbgf) in go-git/go-git#1128
-   adjust path extracted from file: url on Windows by [@&#8203;tomqwpl](https://github.com/tomqwpl) in go-git/go-git#416
-   build: bump golang.org/x/sys from 0.23.0 to 0.24.0 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1164
-   Add RestoreStaged to Worktree that mimics the behaviour of git restore --staged <file>... by [@&#8203;ben-tbotlabs](https://github.com/ben-tbotlabs) in go-git/go-git#493
-   plumbing: signature, support the same x509 signature formats as git by [@&#8203;yoavamit](https://github.com/yoavamit) in go-git/go-git#1169
-   fix: allow discovery of non bare repos in fsLoader by [@&#8203;jakobmoellerdev](https://github.com/jakobmoellerdev) in go-git/go-git#1170
-   build: bump golang.org/x/sys from 0.24.0 to 0.25.0 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1178
-   build: bump golang.org/x/text from 0.17.0 to 0.18.0 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1179
-   build: bump golang.org/x/net from 0.28.0 to 0.29.0 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1184
-   Consume push URLs when they are provided by [@&#8203;mcepl](https://github.com/mcepl) in go-git/go-git#1191
-   \*: use gocheck's MkDir instead of TempDir for tests. Fixes [#&#8203;807](go-git/go-git#807) by [@&#8203;uragirii](https://github.com/uragirii) in go-git/go-git#1194
-   build: bump golang.org/x/net from 0.29.0 to 0.30.0 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1200
-   worktree: .git/index not correctly generated when running on Windows by [@&#8203;BeChris](https://github.com/BeChris) in go-git/go-git#1198
-   git: worktree, Fix sparse reset. Fixes [#&#8203;90](go-git/go-git#90) by [@&#8203;onee-only](https://github.com/onee-only) in go-git/go-git#1101
-   git: worktree, Pass context on updateSubmodules. Fixes [#&#8203;1098](go-git/go-git#1098) by [@&#8203;onee-only](https://github.com/onee-only) in go-git/go-git#1154
-   build: bump github.com/go-git/go-billy/v5 from 5.5.1-0.20240427054813-8453aa90c6ec to 5.6.0 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1211
-   Update contributing guidelines by [@&#8203;pjbgf](https://github.com/pjbgf) in go-git/go-git#1217
-   build: bump github.com/ProtonMail/go-crypto from 1.0.0 to 1.1.1 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1222
-   build: bump golang.org/x/sys from 0.26.0 to 0.27.0 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1223
-   build: bump golang.org/x/crypto from 0.28.0 to 0.29.0 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1221
-   build: bump github.com/ProtonMail/go-crypto from 1.1.1 to 1.1.2 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1226
-   build: bump github.com/stretchr/testify from 1.9.0 to 1.10.0 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1232
-   build: bump github.com/ProtonMail/go-crypto from 1.1.2 to 1.1.3 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1231
-   build: General improvements around fuzzing by [@&#8203;pjbgf](https://github.com/pjbgf) in go-git/go-git#1229
-   build: bump golang.org/x/net from 0.30.0 to 0.32.0 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1241
-   build: group dependabot updates for golang.org by [@&#8203;AriehSchneier](https://github.com/AriehSchneier) in go-git/go-git#1243
-   build: bump github/codeql-action from 2.22.11 to 3.27.6 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1244
-   build: bump golang.org/x/crypto from 0.21.0 to 0.31.0 in /cli/go-git by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1246
-   build: bump golang.org/x/crypto from 0.30.0 to 0.31.0 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1247
-   build: bump github.com/gliderlabs/ssh from 0.3.7 to 0.3.8 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1248
-   add comment preventing people from creating invalid trees by [@&#8203;petar](https://github.com/petar) in go-git/go-git#732
-   build: bump github/codeql-action from 3.27.6 to 3.27.9 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1250
-   plumbing: Properly encode index version 4 by [@&#8203;BeChris](https://github.com/BeChris) in go-git/go-git#1251
-   Fix typos by [@&#8203;deining](https://github.com/deining) in go-git/go-git#1148
-   Fix reset files in subfolders by [@&#8203;linglo](https://github.com/linglo) in go-git/go-git#1177
-   git: update switch cases by [@&#8203;hezhizhen](https://github.com/hezhizhen) in go-git/go-git#1182
-   build: bump golang.org/x/net from 0.32.0 to 0.33.0 in the golang-org group by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1256
-   fix(1212): Fix invalid reference name error while cloning branches containing /- by [@&#8203;varmakarthik12](https://github.com/varmakarthik12) in go-git/go-git#1257
-   pktline : accept upercase hexadecimal value as pktline length information by [@&#8203;BeChris](https://github.com/BeChris) in go-git/go-git#1220
-   build: bump github/codeql-action from 3.27.9 to 3.28.0 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1260
-   build: bump github.com/elazarl/goproxy from 0.0.0-20240618083138-03be62527ccb to 1.2.1 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#1262
-   git: worktree_commit, sanitize author and commiter name and email before creating the commit object. Fixes [#&#8203;680](go-git/go-git#680) by [@&#8203;BeChris](https://github.com/BeChris) in go-git/go-git#1261

#### New Contributors

-   [@&#8203;johnmatthiggins](https://github.com/johnmatthiggins) made their first contribution in go-git/go-git#1088
-   [@&#8203;ggambetti](https://github.com/ggambetti) made their first contribution in go-git/go-git#1100
-   [@&#8203;gecko655](https://github.com/gecko655) made their first contribution in go-git/go-git#1109
-   [@&#8203;hbelmiro](https://github.com/hbelmiro) made their first contribution in go-git/go-git#1124
-   [@&#8203;msuozzo](https://github.com/msuozzo) made their first contribution in go-git/go-git#995
-   [@&#8203;Javier-varez](https://github.com/Javier-varez) made their first contribution in go-git/go-git#1116
-   [@&#8203;Achilleshiel](https://github.com/Achilleshiel) made their first contribution in go-git/go-git#1114
-   [@&#8203;crazybolillo](https://github.com/crazybolillo) made their first contribution in go-git/go-git#1030
-   [@&#8203;SatelliteMind](https://github.com/SatelliteMind) made their first contribution in go-git/go-git#1138
-   [@&#8203;rodrigocam](https://github.com/rodrigocam) made their first contribution in go-git/go-git#1023
-   [@&#8203;nicholasSUSE](https://github.com/nicholasSUSE) made their first contribution in go-git/go-git#1159
-   [@&#8203;tomqwpl](https://github.com/tomqwpl) made their first contribution in go-git/go-git#416
-   [@&#8203;ben-tbotlabs](https://github.com/ben-tbotlabs) made their first contribution in go-git/go-git#493
-   [@&#8203;yoavamit](https://github.com/yoavamit) made their first contribution in go-git/go-git#1169
-   [@&#8203;uragirii](https://github.com/uragirii) made their first contribution in go-git/go-git#1194
-   [@&#8203;petar](https://github.com/petar) made their first contribution in go-git/go-git#732
-   [@&#8203;deining](https://github.com/deining) made their first contribution in go-git/go-git#1148
-   [@&#8203;linglo](https://github.com/linglo) made their first contribution in go-git/go-git#1177
-   [@&#8203;varmakarthik12](https://github.com/varmakarthik12) made their first contribution in go-git/go-git#1257

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

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

[Compare Source](go-git/go-git@v5.11.0...v5.12.0)

#### What's Changed

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

#### New Contributors

-   [@&#8203;candid82](https://github.com/candid82) made their first contribution in go-git/go-git#825
-   [@&#8203;codablock](https://github.com/codablock) made their first contribution in go-git/go-git#992
-   [@&#8203;Jerry-yz](https://github.com/Jerry-yz) made their first contribution in go-git/go-git#987
-   [@&#8203;wlynch](https://github.com/wlynch) made their first contribution in go-git/go-git#996
-   [@&#8203;moranCohen26](https://github.com/moranCohen26) made their first contribution in go-git/go-git#994
-   [@&#8203;grinish21](https://github.com/grinish21) made their first contribution in go-git/go-git#1022
-   [@&#8203;prskr](https://github.com/prskr) made their first contribution in go-git/go-git#1018
-   [@&#8203;dlambda](https://github.com/dlambda) made their first contribution in go-git/go-git#446
-   [@&#8203;juliens](https://github.com/juliens) made their first contribution in go-git/go-git#366
-   [@&#8203;onee-only](https://github.com/onee-only) made their first contribution in go-git/go-git#1036
-   [@&#8203;tim775](https://github.com/tim775) made their first contribution in go-git/go-git#1042
-   [@&#8203;niukuo](https://github.com/niukuo) made their first contribution in go-git/go-git#967
-   [@&#8203;avoidalone](https://github.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 - "* 0-3 * * *" (UTC).

🚦 **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 [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS45Mi4wIiwidXBkYXRlZEluVmVyIjoiMzkuOTIuMCIsInRhcmdldEJyYW5jaCI6InYxMC4wL2Zvcmdlam8iLCJsYWJlbHMiOlsiZGVwZW5kZW5jeS11cGdyYWRlIiwidGVzdC9ub3QtbmVlZGVkIl19-->

Co-authored-by: Earl Warren <contact@earl-warren.org>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/6496
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: Renovate Bot <forgejo-renovate-action@forgejo.org>
Co-committed-by: Renovate Bot <forgejo-renovate-action@forgejo.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed no-autoclose Issues/PRs to be ignored by stale bot
Projects
None yet
Development

Successfully merging a pull request may close this issue.