aboutsummaryrefslogtreecommitdiff
path: root/models/update.go
diff options
context:
space:
mode:
Diffstat (limited to 'models/update.go')
-rw-r--r--models/update.go65
1 files changed, 33 insertions, 32 deletions
diff --git a/models/update.go b/models/update.go
index cbaf0e66..14e56ce8 100644
--- a/models/update.go
+++ b/models/update.go
@@ -10,17 +10,16 @@ import (
"os/exec"
"strings"
- "github.com/gogits/gogs/modules/base"
"github.com/gogits/gogs/modules/git"
"github.com/gogits/gogs/modules/log"
)
type UpdateTask struct {
- Id int64
- Uuid string `xorm:"index"`
+ ID int64 `xorm:"pk autoincr"`
+ UUID string `xorm:"index"`
RefName string
- OldCommitId string
- NewCommitId string
+ OldCommitID string
+ NewCommitID string
}
func AddUpdateTask(task *UpdateTask) error {
@@ -28,27 +27,29 @@ func AddUpdateTask(task *UpdateTask) error {
return err
}
-func GetUpdateTasksByUuid(uuid string) ([]*UpdateTask, error) {
+// GetUpdateTaskByUUID returns update task by given UUID.
+func GetUpdateTaskByUUID(uuid string) (*UpdateTask, error) {
task := &UpdateTask{
- Uuid: uuid,
+ UUID: uuid,
}
- tasks := make([]*UpdateTask, 0)
- err := x.Find(&tasks, task)
+ has, err := x.Get(task)
if err != nil {
return nil, err
+ } else if !has {
+ return nil, ErrUpdateTaskNotExist{uuid}
}
- return tasks, nil
+ return task, nil
}
-func DelUpdateTasksByUuid(uuid string) error {
- _, err := x.Delete(&UpdateTask{Uuid: uuid})
+func DeleteUpdateTaskByUUID(uuid string) error {
+ _, err := x.Delete(&UpdateTask{UUID: uuid})
return err
}
-func Update(refName, oldCommitId, newCommitId, userName, repoUserName, repoName string, userId int64) error {
- isNew := strings.HasPrefix(oldCommitId, "0000000")
+func Update(refName, oldCommitID, newCommitID, userName, repoUserName, repoName string, userID int64) error {
+ isNew := strings.HasPrefix(oldCommitID, "0000000")
if isNew &&
- strings.HasPrefix(newCommitId, "0000000") {
+ strings.HasPrefix(newCommitID, "0000000") {
return fmt.Errorf("old rev and new rev both 000000")
}
@@ -58,23 +59,23 @@ func Update(refName, oldCommitId, newCommitId, userName, repoUserName, repoName
gitUpdate.Dir = f
gitUpdate.Run()
- isDel := strings.HasPrefix(newCommitId, "0000000")
+ isDel := strings.HasPrefix(newCommitID, "0000000")
if isDel {
- log.GitLogger.Info("del rev", refName, "from", userName+"/"+repoName+".git", "by", userId)
+ log.GitLogger.Info("del rev", refName, "from", userName+"/"+repoName+".git", "by", userID)
return nil
}
- repo, err := git.OpenRepository(f)
+ gitRepo, err := git.OpenRepository(f)
if err != nil {
return fmt.Errorf("runUpdate.Open repoId: %v", err)
}
- ru, err := GetUserByName(repoUserName)
+ user, err := GetUserByName(repoUserName)
if err != nil {
return fmt.Errorf("runUpdate.GetUserByName: %v", err)
}
- repos, err := GetRepositoryByName(ru.Id, repoName)
+ repo, err := GetRepositoryByName(user.Id, repoName)
if err != nil {
return fmt.Errorf("runUpdate.GetRepositoryByName userId: %v", err)
}
@@ -82,7 +83,7 @@ func Update(refName, oldCommitId, newCommitId, userName, repoUserName, repoName
// Push tags.
if strings.HasPrefix(refName, "refs/tags/") {
tagName := git.RefEndName(refName)
- tag, err := repo.GetTag(tagName)
+ tag, err := gitRepo.GetTag(tagName)
if err != nil {
log.GitLogger.Fatal(4, "runUpdate.GetTag: %v", err)
}
@@ -98,16 +99,16 @@ func Update(refName, oldCommitId, newCommitId, userName, repoUserName, repoName
actEmail = cmt.Committer.Email
}
- commit := &base.PushCommits{}
+ commit := &PushCommits{}
- if err = CommitRepoAction(userId, ru.Id, userName, actEmail,
- repos.ID, repoUserName, repoName, refName, commit, oldCommitId, newCommitId); err != nil {
+ if err = CommitRepoAction(userID, user.Id, userName, actEmail,
+ repo.ID, repoUserName, repoName, refName, commit, oldCommitID, newCommitID); err != nil {
log.GitLogger.Fatal(4, "CommitRepoAction: %s/%s:%v", repoUserName, repoName, err)
}
return err
}
- newCommit, err := repo.GetCommit(newCommitId)
+ newCommit, err := gitRepo.GetCommit(newCommitID)
if err != nil {
return fmt.Errorf("runUpdate GetCommit of newCommitId: %v", err)
}
@@ -117,12 +118,12 @@ func Update(refName, oldCommitId, newCommitId, userName, repoUserName, repoName
if isNew {
l, err = newCommit.CommitsBefore()
if err != nil {
- return fmt.Errorf("Find CommitsBefore erro: %v", err)
+ return fmt.Errorf("CommitsBefore: %v", err)
}
} else {
- l, err = newCommit.CommitsBeforeUntil(oldCommitId)
+ l, err = newCommit.CommitsBeforeUntil(oldCommitID)
if err != nil {
- return fmt.Errorf("Find CommitsBeforeUntil erro: %v", err)
+ return fmt.Errorf("CommitsBeforeUntil: %v", err)
}
}
@@ -131,7 +132,7 @@ func Update(refName, oldCommitId, newCommitId, userName, repoUserName, repoName
}
// Push commits.
- commits := make([]*base.PushCommit, 0)
+ commits := make([]*PushCommit, 0)
var actEmail string
for e := l.Front(); e != nil; e = e.Next() {
commit := e.Value.(*git.Commit)
@@ -139,15 +140,15 @@ func Update(refName, oldCommitId, newCommitId, userName, repoUserName, repoName
actEmail = commit.Committer.Email
}
commits = append(commits,
- &base.PushCommit{commit.Id.String(),
+ &PushCommit{commit.ID.String(),
commit.Message(),
commit.Author.Email,
commit.Author.Name,
})
}
- if err = CommitRepoAction(userId, ru.Id, userName, actEmail,
- repos.ID, repoUserName, repoName, refName, &base.PushCommits{l.Len(), commits, ""}, oldCommitId, newCommitId); err != nil {
+ if err = CommitRepoAction(userID, user.Id, userName, actEmail,
+ repo.ID, repoUserName, repoName, refName, &PushCommits{l.Len(), commits, "", nil}, oldCommitID, newCommitID); err != nil {
return fmt.Errorf("runUpdate.models.CommitRepoAction: %s/%s:%v", repoUserName, repoName, err)
}
return nil