"code.gitea.io/gitea/models/db"
repo_model "code.gitea.io/gitea/models/repo"
user_model "code.gitea.io/gitea/models/user"
+ "code.gitea.io/gitea/modules/git"
"code.gitea.io/gitea/modules/log"
"code.gitea.io/gitea/modules/timeutil"
"code.gitea.io/gitea/modules/util"
// UpdateBranch updates the branch information in the database. If the branch exist, it will update latest commit of this branch information
// If it doest not exist, insert a new record into database
-func UpdateBranch(ctx context.Context, repoID int64, branchName, commitID, commitMessage string, pusherID int64, commitTime time.Time) error {
+func UpdateBranch(ctx context.Context, repoID, pusherID int64, branchName string, commit *git.Commit) error {
cnt, err := db.GetEngine(ctx).Where("repo_id=? AND name=?", repoID, branchName).
Cols("commit_id, commit_message, pusher_id, commit_time, is_deleted, updated_unix").
Update(&Branch{
- CommitID: commitID,
- CommitMessage: commitMessage,
+ CommitID: commit.ID.String(),
+ CommitMessage: commit.Summary(),
PusherID: pusherID,
- CommitTime: timeutil.TimeStamp(commitTime.Unix()),
+ CommitTime: timeutil.TimeStamp(commit.Committer.When.Unix()),
IsDeleted: false,
})
if err != nil {
return db.Insert(ctx, &Branch{
RepoID: repoID,
Name: branchName,
- CommitID: commitID,
- CommitMessage: commitMessage,
+ CommitID: commit.ID.String(),
+ CommitMessage: commit.Summary(),
PusherID: pusherID,
- CommitTime: timeutil.TimeStamp(commitTime.Unix()),
+ CommitTime: timeutil.TimeStamp(commit.Committer.When.Unix()),
})
}
issues_model "code.gitea.io/gitea/models/issues"
repo_model "code.gitea.io/gitea/models/repo"
"code.gitea.io/gitea/models/unittest"
+ "code.gitea.io/gitea/modules/git"
"code.gitea.io/gitea/modules/util"
"github.com/stretchr/testify/assert"
secondBranch := unittest.AssertExistsAndLoadBean(t, &git_model.Branch{RepoID: repo.ID, Name: "branch2"})
assert.True(t, secondBranch.IsDeleted)
- err := git_model.UpdateBranch(db.DefaultContext, repo.ID, secondBranch.Name, secondBranch.CommitID, secondBranch.CommitMessage, secondBranch.PusherID, secondBranch.CommitTime.AsLocalTime())
+ commit := &git.Commit{
+ ID: git.MustIDFromString(secondBranch.CommitID),
+ CommitMessage: secondBranch.CommitMessage,
+ Committer: &git.Signature{
+ When: secondBranch.CommitTime.AsLocalTime(),
+ },
+ }
+
+ err := git_model.UpdateBranch(db.DefaultContext, repo.ID, secondBranch.PusherID, secondBranch.Name, commit)
assert.NoError(t, err)
}
RepoID: repo.ID,
Name: branch,
CommitID: commit.ID.String(),
- CommitMessage: commit.CommitMessage,
+ CommitMessage: commit.Summary(),
PusherID: doerID,
- CommitTime: timeutil.TimeStamp(commit.Author.When.Unix()),
+ CommitTime: timeutil.TimeStamp(commit.Committer.When.Unix()),
})
} else if commit.ID.String() != dbb.CommitID {
toUpdate = append(toUpdate, &git_model.Branch{
RepoID: repo.ID,
Name: branch,
CommitID: commit.ID.String(),
- CommitMessage: commit.CommitMessage,
+ CommitMessage: commit.Summary(),
PusherID: doerID,
- CommitTime: timeutil.TimeStamp(commit.Author.When.Unix()),
+ CommitTime: timeutil.TimeStamp(commit.Committer.When.Unix()),
})
}
}
notification.NotifyPushCommits(ctx, pusher, repo, opts, commits)
- if err = git_model.UpdateBranch(ctx, repo.ID, branch, newCommit.ID.String(), newCommit.CommitMessage, opts.PusherID, newCommit.Committer.When); err != nil {
+ if err = git_model.UpdateBranch(ctx, repo.ID, opts.PusherID, branch, newCommit); err != nil {
return fmt.Errorf("git_model.UpdateBranch %s:%s failed: %v", repo.FullName(), branch, err)
}