ef0ce374a5
- `RemoveFilesFromIndex` used an hardcoded empty commit ID for the SHA1
object format, this would result in an error if the repository was
initialized to use the sha256 object format. Get the object format of
the Git repository and use that to get the empty commit id.
- Adds unit test.
- Resolves #3184
(cherry picked from commit eeaef556c2
)
28 lines
799 B
Go
28 lines
799 B
Go
// Copyright 2024 The Forgejo Authors. All rights reserved.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package files
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"code.gitea.io/gitea/models/db"
|
|
repo_model "code.gitea.io/gitea/models/repo"
|
|
"code.gitea.io/gitea/models/unittest"
|
|
"code.gitea.io/gitea/modules/git"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestRemoveFilesFromIndexSha256(t *testing.T) {
|
|
if git.CheckGitVersionAtLeast("2.42") != nil {
|
|
t.Skip("skipping because installed Git version doesn't support SHA256")
|
|
}
|
|
unittest.PrepareTestEnv(t)
|
|
repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 1})
|
|
|
|
temp, err := NewTemporaryUploadRepository(db.DefaultContext, repo)
|
|
assert.NoError(t, err)
|
|
assert.NoError(t, temp.Init("sha256"))
|
|
assert.NoError(t, temp.RemoveFilesFromIndex("README.md"))
|
|
}
|