diff options
author | Unknwon <u@gogs.io> | 2015-09-25 20:35:56 -0400 |
---|---|---|
committer | Unknwon <u@gogs.io> | 2015-09-25 20:35:56 -0400 |
commit | 6dfee30bf0a6faef3211eb9fd1587c4fd8e87eef (patch) | |
tree | 0200056e4ad2bc5f7de3840429c17265ff0b0ce7 /models | |
parent | 21e13cb51e73471d186b963e26404f89abd81fce (diff) | |
download | gitea-6dfee30bf0a6faef3211eb9fd1587c4fd8e87eef.tar.gz gitea-6dfee30bf0a6faef3211eb9fd1587c4fd8e87eef.zip |
#1602 Wrong commit order on issue page when pushing multiple commits
Diffstat (limited to 'models')
-rw-r--r-- | models/action.go | 10 | ||||
-rw-r--r-- | models/repo.go | 12 | ||||
-rw-r--r-- | models/update.go | 10 |
3 files changed, 15 insertions, 17 deletions
diff --git a/models/action.go b/models/action.go index 2e158cbf16..07e4da8f95 100644 --- a/models/action.go +++ b/models/action.go @@ -189,7 +189,11 @@ func issueIndexTrimRight(c rune) bool { // updateIssuesCommit checks if issues are manipulated by commit message. func updateIssuesCommit(u *User, repo *Repository, repoUserName, repoName string, commits []*base.PushCommit) error { - for _, c := range commits { + // Commits are appended in the reverse order. + for i := len(commits) - 1; i >= 0; i-- { + c := commits[i] + fmt.Println(c) + refMarked := make(map[int64]bool) for _, ref := range IssueReferenceKeywordsPat.FindAllString(c.Message, -1) { ref = ref[strings.IndexByte(ref, byte(' '))+1:] @@ -350,6 +354,10 @@ func CommitRepoAction( } } + if len(commit.Commits) > setting.FeedMaxCommitNum { + commit.Commits = commit.Commits[:setting.FeedMaxCommitNum] + } + bs, err := json.Marshal(commit) if err != nil { return fmt.Errorf("Marshal: %v", err) diff --git a/models/repo.go b/models/repo.go index 34de3d14db..f3a32d6877 100644 --- a/models/repo.go +++ b/models/repo.go @@ -777,19 +777,15 @@ func CountPublicRepositories() int64 { } // RepositoriesWithUsers returns number of repos in given page. -func RepositoriesWithUsers(page, pageSize int) ([]*Repository, error) { +func RepositoriesWithUsers(page, pageSize int) (_ []*Repository, err error) { repos := make([]*Repository, 0, pageSize) - if err := x.Limit(pageSize, (page-1)*pageSize).Asc("id").Find(&repos); err != nil { + if err = x.Limit(pageSize, (page-1)*pageSize).Asc("id").Find(&repos); err != nil { return nil, err } - for _, repo := range repos { - repo.Owner = &User{Id: repo.OwnerID} - has, err := x.Get(repo.Owner) - if err != nil { + for i := range repos { + if err = repos[i].GetOwner(); err != nil { return nil, err - } else if !has { - return nil, ErrUserNotExist{repo.OwnerID, ""} } } diff --git a/models/update.go b/models/update.go index f381d6fd07..2fd00ad7e8 100644 --- a/models/update.go +++ b/models/update.go @@ -23,10 +23,6 @@ type UpdateTask struct { NewCommitId string } -const ( - MAX_COMMITS int = 5 -) - func AddUpdateTask(task *UpdateTask) error { _, err := x.Insert(task) return err @@ -147,10 +143,8 @@ func Update(refName, oldCommitId, newCommitId, userName, repoUserName, repoName &base.PushCommit{commit.Id.String(), commit.Message(), commit.Author.Email, - commit.Author.Name}) - if len(commits) >= MAX_COMMITS { - break - } + commit.Author.Name, + }) } if err = CommitRepoAction(userId, ru.Id, userName, actEmail, |