Skip to content

Add RestoreStaged to Worktree that mimics the behaviour of git restore --staged <file>... #493

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

Merged
merged 1 commit into from
Aug 21, 2024

Conversation

ben-tbotlabs
Copy link

@ben-tbotlabs ben-tbotlabs commented Mar 18, 2022

Reapplied commits from #343 into a new pull request against master

Changes are exactly the same except the change from

func (w *Worktree) Reset(opts *ResetOptions) error 

had to be moved into

func (w *Worktree) ResetSparsely(opts *ResetOptions, dirs []string) error 

Fixes #342

@Penthious
Copy link

Any updates on this?

@rdalbuquerque
Copy link

This feature would be great, any updates?

Copy link
Member

@pjbgf pjbgf left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ben-tbotlabs would you mind going through the comments below and rebasing this PR please?

worktree.go Outdated
Comment on lines 314 to 324
// Restore specified files in the working tree or stage with contents from
// a restore source. If a path is tracked but does not exist in the restore,
// source, it will be removed to match the source.
//
// If Staged and Worktree are true, then the restore source will be the index.
// If only Staged is true, then the restore source will be HEAD.
// If only Worktree is true or neither Staged nor Worktree are true, will
// result in ErrRestoreWorktreeeOnlyNotSupported because restoring the working
// tree while leaving the stage untouched is not currently supported
//
// Restore with no files specified will return ErrNoRestorePaths
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nits:

Suggested change
// Restore specified files in the working tree or stage with contents from
// a restore source. If a path is tracked but does not exist in the restore,
// source, it will be removed to match the source.
//
// If Staged and Worktree are true, then the restore source will be the index.
// If only Staged is true, then the restore source will be HEAD.
// If only Worktree is true or neither Staged nor Worktree are true, will
// result in ErrRestoreWorktreeeOnlyNotSupported because restoring the working
// tree while leaving the stage untouched is not currently supported
//
// Restore with no files specified will return ErrNoRestorePaths
// Restore restores specified files in the working tree or stage with contents from
// a restore source. If a path is tracked but does not exist in the restore,
// source, it will be removed to match the source.
//
// If Staged and Worktree are true, then the restore source will be the index.
// If only Staged is true, then the restore source will be HEAD.
// If only Worktree is true or neither Staged nor Worktree are true, will
// result in ErrRestoreWorktreeeOnlyNotSupported because restoring the working
// tree while leaving the stage untouched is not currently supported.
//
// Restore with no files specified will return ErrNoRestorePaths.

worktree.go Outdated
Comment on lines 344 to 355
} else {
return ErrRestoreWorktreeeOnlyNotSupported
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This else is redundant:

Suggested change
} else {
return ErrRestoreWorktreeeOnlyNotSupported
}
}
return ErrRestoreWorktreeeOnlyNotSupported

worktree.go Outdated
Comment on lines 330 to 344
if o.Worktree && o.Staged {
// If we are doing both Worktree and Staging then it is a hard reset
opts := &ResetOptions{
Mode: HardReset,
Files: o.Files,
}
return w.Reset(opts)
} else if o.Staged {
// If we are doing just staging then it is a mixed reset
opts := &ResetOptions{
Mode: MixedReset,
Files: o.Files,
}
return w.Reset(opts)
} else {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For simplicity:

Suggested change
if o.Worktree && o.Staged {
// If we are doing both Worktree and Staging then it is a hard reset
opts := &ResetOptions{
Mode: HardReset,
Files: o.Files,
}
return w.Reset(opts)
} else if o.Staged {
// If we are doing just staging then it is a mixed reset
opts := &ResetOptions{
Mode: MixedReset,
Files: o.Files,
}
return w.Reset(opts)
} else {
if o.Staged {
opts := &ResetOptions{
Files: o.Files,
}
if o.Worktree {
// If we are doing both Worktree and Staging then it is a hard reset
opts.Mode = HardReset
} else {
// If we are doing just staging then it is a mixed reset
opts.Mode = MixedReset
}
return w.Reset(opts)
}

worktree.go Outdated
Comment on lines 441 to 459
} else {
file = ch.To.Name()
}

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am not sure we correctly validate for either ch.From and ch.To to be present. To avoid a panic in that case, we may want to check here and continue if file is empty.

Suggested change
} else {
file = ch.To.Name()
}
} else if ch.To != nil {
file = ch.To.Name()
}
if file == "" {
continue
}

@ben-tbotlabs
Copy link
Author

@ben-tbotlabs would you mind going through the comments below and rebasing this PR please?

I will rebase this PR and make the various fixes. I won't be able to get it for a few days as I am swamped with other things at work

@GraphR00t
Copy link

@ben-tbotlabs Sorry for the ping, just a reminder in case you have forgotten about the PR. Thank you for your work by the way :)

@ben-tbotlabs
Copy link
Author

Thanks for the reminder. It had slipped my mind. I have made the above fixes and will look at rebasing the change tomorrow

@ben-tbotlabs ben-tbotlabs force-pushed the git-restore-for-pr-2022 branch from b2757ef to c7e993a Compare March 27, 2024 19:40
@ben-tbotlabs
Copy link
Author

PR is updated and passed all the tests locally

@ben-tbotlabs
Copy link
Author

Would @GraphR00t or @pjbgf be able to approve the workflows so I that I can validate the tests pass on something other than my local environment

@GraphR00t
Copy link

@ben-tbotlabs Sorry I am not a maintainer of the project.
@pjbgf

@ben-tbotlabs ben-tbotlabs force-pushed the git-restore-for-pr-2022 branch from c7e993a to f27e50d Compare April 19, 2024 00:38
@ben-tbotlabs
Copy link
Author

ben-tbotlabs commented Apr 19, 2024

@pjbgf The workflow was failing on the commit message formatting. I squashed them all into a single commit that flows the convention

…staged <file>..." command

Small formatting and style fixes before rebasing against master

Setup args for restore in TestExamples

Fix typo in error message and remove dependency on fmt in worktree_test
@ben-tbotlabs ben-tbotlabs force-pushed the git-restore-for-pr-2022 branch from f27e50d to 0f36397 Compare April 20, 2024 05:17
@ben-tbotlabs
Copy link
Author

@pjbgf Thanks for catching that typo. I also changed the starting contents of the test files because the workflow didn't like the use of fmt (although that was not being flagged for me locally)

@GraphR00t
Copy link

@pjbgf Can you approve the workflows ? Thanks !

@GraphR00t
Copy link

@pjbgf I guess the PR can be merged now.

@ben-tbotlabs
Copy link
Author

@pjbgf Sorry for the ping, just a reminder in case you have forgotten about the PR

@GraphR00t
Copy link

@pjbgf Can you merge the PR, thanks !

@ben-tbotlabs
Copy link
Author

@pjbgf Any update on merging this PR?

Copy link
Member

@pjbgf pjbgf left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ben-tbotlabs thanks for working on this. 🥇

@pjbgf pjbgf merged commit 6d58352 into go-git:master Aug 21, 2024
16 checks passed
traidare pushed a commit to traidare/go-git that referenced this pull request Oct 26, 2024
Add RestoreStaged to Worktree that mimics the behaviour of git restore --staged <file>...
DennisRasey pushed a commit to DennisRasey/forgejo that referenced this pull request 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 pull request 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
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Feature request: Ability to unstage an individual file
5 participants