Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

worktree: .git/index not correctly generated when running on Windows #1198

Merged
merged 2 commits into from
Oct 11, 2024

Conversation

BeChris
Copy link
Contributor

@BeChris BeChris commented Oct 5, 2024

Hello,
I found an annoying bug cloning a repository using Go-Git v5.12.0 on a Windows 10 machine.
Indeed, if in a cloned repository, some files have the execute bit set (eg 0755 permissions), the .git/index file contains 0644 permissions instead of 0755.
As a consequence, a git status in the newly cloned worktree reports modifications on the file permissions.

I had a look in the Go-Git source and found the possible origin of the problem:
In Worktree.addIndexFromFile(), file permissions are fetched by filemode.NewFromOSFileMode() call.
It seems this function call returns the file permissions as given by the filesystem.
As, under Windows, the execute bit is not honored, it returns 0644 instead of 0755.

Therefore, I made a modification to write in the .git/index the file permissions as found in Git Tree object instead of asking the filesystem (is it the same effect as with official git using core.fileMode=false ?).
I tested under Windows and Linux : I didn't notice any regressions and it worked perfectly !

@pjbgf
Copy link
Member

pjbgf commented Oct 7, 2024

@BeChris thanks for proposing this PR. Please add some test to confirm the expected Windows behaviour, so that we avoid regressions in the future.

BeChris added a commit to BeChris/go-git that referenced this pull request Oct 7, 2024
BeChris added a commit to BeChris/go-git that referenced this pull request Oct 7, 2024
… the index after having used the host OS filesystem. Fixes go-git#1198
@BeChris BeChris force-pushed the execute_bit_not_honored_on_windows branch from b513a56 to f75496b Compare October 7, 2024 20:29
@BeChris
Copy link
Contributor Author

BeChris commented Oct 7, 2024

Hello @pjbgf,
I just tried to add a test case, using a fake remote repository using memoryfs and adding a file with execute bit.
Then, the idea is to clone this repository into a local directory and check in the index that this file still has execute bit.

but for the moment I'm stuck : following call returns an error:

err = localRepo.Fetch(&FetchOptions{})

Someone could help me find the problem ?

The complete test code:

func TestFilePermissions(t *testing.T) {

	// Initialize an in memory repository
	remoteUrl := t.TempDir()
	remoteFs := memfs.New()
	remoteStorage := memory.NewStorage()

	remoteRepository, err := Init(remoteStorage, remoteFs)
	if err != nil {
		t.Fatal(err)
	}

	err = util.WriteFile(remoteFs, "fileWithExecuteBit", []byte("Initial data"), 0755)
	if err != nil {
		t.Fatal(err)
	}

	err = util.WriteFile(remoteFs, "regularFile", []byte("Initial data"), 0644)
	if err != nil {
		t.Fatal(err)
	}

	remoteWorktree, err := remoteRepository.Worktree()
	if err != nil {
		t.Fatal(err)
	}

	err = remoteWorktree.AddGlob("*")
	if err != nil {
		t.Fatal(err)
	}

	_, err = remoteWorktree.Commit("my commit", &CommitOptions{})
	if err != nil {
		t.Fatal(err)
	}

	worktreeURL := t.TempDir()
	worktreeFs := osfs.New(worktreeURL)
	worktreeStorage := memory.NewStorage()

	localRepo := newRepository(worktreeStorage, worktreeFs)
	_, err = localRepo.CreateRemote(&config.RemoteConfig{
		Name: DefaultRemoteName,
		URLs: []string{remoteUrl},
	})
	if err != nil {
		t.Fatal(err)
	}

	err = localRepo.Fetch(&FetchOptions{})
	if err != nil {
		t.Fatal(err)
	}

	localWorktree, err := localRepo.Worktree()
	if err != nil {
		t.Fatal(err)
	}

	idx, err := localWorktree.r.Storer.Index()
	if err != nil {
		t.Fatal(err)
	}

	if len(idx.Entries) != 2 {
		t.Fatal(err)
	}
	// c.Assert(idx.Entries, HasLen, 2)
	// c.Assert(idx.Entries[0].Name, Equals, "fileWithExecuteBit")
	// c.Assert(idx.Entries[0].Mode, Equals, filemode.Executable)
	// c.Assert(idx.Entries[1].Name, Equals, "regularFile")
	// c.Assert(idx.Entries[1].Mode, Equals, filemode.Regular)
}

@onee-only
Copy link
Contributor

@BeChris It might be because you are creating remote repository based on memory.

Since you are making a temp directory as remote repository's directory, but you haven't initialize a repository there(instead, you made a repo on memory), fetching to that remote won't work.

I haven't tested it, so I can't say for sure, but I'm pretty sure that is the problem.

@BeChris
Copy link
Contributor Author

BeChris commented Oct 8, 2024

Many thanks @onee-only for the clue.

Based on your informations, I succeed in writing a working test.
The test passes both on Linux and on Windows.

BeChris added a commit to BeChris/go-git that referenced this pull request Oct 8, 2024
@BeChris BeChris force-pushed the execute_bit_not_honored_on_windows branch from 6b2cf78 to 5d32357 Compare October 8, 2024 17:01
@pjbgf pjbgf changed the title .git/index not correctly generated when running on Windows worktree: .git/index not correctly generated when running on Windows Oct 10, 2024
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.

@BeChris the recommended changes below are to align with the long term switch to stretchr/testify. Once changed, please squash your commits.

@@ -3207,3 +3207,90 @@ func (s *WorktreeSuite) TestRestoreBoth(c *C) {
{Worktree: Untracked, Staging: Untracked},
})
}

func TestFilePermissions(t *testing.T) {

Copy link
Member

Choose a reason for hiding this comment

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

Suggested change

worktree_test.go Outdated Show resolved Hide resolved
worktree_test.go Outdated Show resolved Hide resolved
worktree_test.go Outdated Show resolved Hide resolved
worktree_test.go Outdated Show resolved Hide resolved
worktree_test.go Outdated Show resolved Hide resolved
worktree_test.go Outdated Show resolved Hide resolved
worktree_test.go Outdated Show resolved Hide resolved
worktree_test.go Outdated Show resolved Hide resolved
t.Errorf("Expected idx.Entries[%d].Mode = %d, got : %d", i, expectedEntry.Mode, idx.Entries[i].Mode)
}
}

Copy link
Member

Choose a reason for hiding this comment

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

Suggested change

BeChris added a commit to BeChris/go-git that referenced this pull request Oct 10, 2024
BeChris and others added 2 commits October 10, 2024 20:33
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.29.0 to 0.30.0.
- [Commits](golang/net@v0.29.0...v0.30.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@BeChris BeChris force-pushed the execute_bit_not_honored_on_windows branch from 3c42e11 to d37f2d6 Compare October 10, 2024 18:33
@BeChris
Copy link
Contributor Author

BeChris commented Oct 10, 2024

Hello @pjbgf,
Cool, I love using testify !

Done and pushed.

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.

@BeChris thanks for working on this! 🙇

@pjbgf pjbgf merged commit 95afe7e into go-git:master Oct 11, 2024
15 of 16 checks passed
@BeChris BeChris deleted the execute_bit_not_honored_on_windows branch October 11, 2024 11:43
traidare pushed a commit to traidare/go-git that referenced this pull request Oct 26, 2024
…o-git#1198)

worktree: When adding files to the index, use perms from the Tree object instead of asking the filesystem. Fixes go-git#1198
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.

3 participants