aboutsummaryrefslogtreecommitdiffstats
path: root/models
diff options
context:
space:
mode:
authorLunny Xiao <xiaolunwen@gmail.com>2023-12-17 19:56:08 +0800
committerGitHub <noreply@github.com>2023-12-17 11:56:08 +0000
commit408a4842240e7dd906e682196bd4254d6c76fcb9 (patch)
treeec3962d5769a5891a24b4d79f725673fc1e46e35 /models
parent7fb6b5147038649bfaa26147a6173cf99b322a30 (diff)
downloadgitea-408a4842240e7dd906e682196bd4254d6c76fcb9.tar.gz
gitea-408a4842240e7dd906e682196bd4254d6c76fcb9.zip
Adjust object format interface (#28469)
- Remove `ObjectFormatID` - Remove function `ObjectFormatFromID`. - Use `Sha1ObjectFormat` directly but not a pointer because it's an empty struct. - Store `ObjectFormatName` in `repository` struct
Diffstat (limited to 'models')
-rw-r--r--models/git/branch_test.go4
-rw-r--r--models/repo/repo.go6
2 files changed, 7 insertions, 3 deletions
diff --git a/models/git/branch_test.go b/models/git/branch_test.go
index adcf9fd305..8febc80f14 100644
--- a/models/git/branch_test.go
+++ b/models/git/branch_test.go
@@ -20,6 +20,7 @@ import (
func TestAddDeletedBranch(t *testing.T) {
assert.NoError(t, unittest.PrepareTestDatabase())
repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 1})
+ assert.EqualValues(t, git.Sha1ObjectFormat.Name(), repo.ObjectFormatName)
firstBranch := unittest.AssertExistsAndLoadBean(t, &git_model.Branch{ID: 1})
assert.True(t, firstBranch.IsDeleted)
@@ -29,8 +30,9 @@ func TestAddDeletedBranch(t *testing.T) {
secondBranch := unittest.AssertExistsAndLoadBean(t, &git_model.Branch{RepoID: repo.ID, Name: "branch2"})
assert.True(t, secondBranch.IsDeleted)
+ objectFormat := git.ObjectFormatFromName(repo.ObjectFormatName)
commit := &git.Commit{
- ID: repo.ObjectFormat.MustIDFromString(secondBranch.CommitID),
+ ID: objectFormat.MustIDFromString(secondBranch.CommitID),
CommitMessage: secondBranch.CommitMessage,
Committer: &git.Signature{
When: secondBranch.CommitTime.AsLocalTime(),
diff --git a/models/repo/repo.go b/models/repo/repo.go
index f739ada307..fb1849a4bb 100644
--- a/models/repo/repo.go
+++ b/models/repo/repo.go
@@ -180,7 +180,7 @@ type Repository struct {
IsFsckEnabled bool `xorm:"NOT NULL DEFAULT true"`
CloseIssuesViaCommitInAnyBranch bool `xorm:"NOT NULL DEFAULT false"`
Topics []string `xorm:"TEXT JSON"`
- ObjectFormat git.ObjectFormat `xorm:"-"`
+ ObjectFormatName string `xorm:"-"`
TrustModel TrustModelType
@@ -277,7 +277,9 @@ func (repo *Repository) AfterLoad() {
repo.NumOpenProjects = repo.NumProjects - repo.NumClosedProjects
repo.NumOpenActionRuns = repo.NumActionRuns - repo.NumClosedActionRuns
- repo.ObjectFormat = git.ObjectFormatFromID(git.Sha1)
+ // this is a temporary behaviour to support old repos, next step is to store the object format in the database
+ // and read from database so this line could be removed. To not depend on git module, we use a constant variable here
+ repo.ObjectFormatName = "sha1"
}
// LoadAttributes loads attributes of the repository.