refactor!: remove go-git backend (#39487)

Removes the go-git backend so every build uses the git CLI backend. Its
Windows performance advantage is gone, it lacks SHA-256 support, and it
breaks repositories on Windows.

The performance changes moved to
https://github.com/go-gitea/gitea/pull/39526.

Fixes https://github.com/go-gitea/gitea/issues/38359
Fixes https://github.com/go-gitea/gitea/issues/34694

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
This commit is contained in:
silverwind
2026-10-03 12:04:24 +02:00
committed by GitHub
parent 3932624947
commit ad38b60983
69 changed files with 995 additions and 2741 deletions
+29
View File
@@ -0,0 +1,29 @@
// Copyright 2026 The Gitea Authors. All rights reserved.
// SPDX-License-Identifier: MIT
package git
import (
"os"
"path/filepath"
"testing"
"github.com/stretchr/testify/require"
)
func TestRepoCatFileBatch(t *testing.T) {
t.Run("MissingRepoAndClose", func(t *testing.T) {
testDir := filepath.Join(t.TempDir(), "testdir")
_ = os.Mkdir(testDir, 0o755)
repo, err := OpenRepositoryLocal(t.Context(), testDir)
require.NoError(t, err)
// when the repo is missing (it usually occurs during testing because the fixtures are synced frequently)
err = os.Remove(testDir)
require.NoError(t, err)
_, _, err = repo.CatFileBatch()
require.Error(t, err)
require.NoError(t, repo.Close()) // shouldn't panic
})
// TODO: test more methods and concurrency queries
}