Browse Source

#1602 Wrong commit order on issue page when pushing multiple commits

Unknwon 9 years ago
parent
commit
6dfee30bf0
9 changed files with 27 additions and 25 deletions
  1. 1 1
      README.md
  2. 2 0
      conf/app.ini
  3. 1 1
      gogs.go
  4. 9 1
      models/action.go
  5. 4 8
      models/repo.go
  6. 2 8
      models/update.go
  7. 0 0
      modules/bindata/bindata.go
  8. 7 5
      modules/setting/setting.go
  9. 1 1
      templates/.VERSION

+ 1 - 1
README.md

@@ -5,7 +5,7 @@ Gogs - Go Git Service [![Build Status](https://travis-ci.org/gogits/gogs.svg?bra
 
 ![](public/img/gogs-large-resize.png)
 
-##### Current version: 0.6.14 Beta
+##### Current version: 0.6.15 Beta
 
 <table>
     <tr>

+ 2 - 0
conf/app.ini

@@ -17,6 +17,8 @@ SCRIPT_TYPE = bash
 EXPLORE_PAGING_NUM = 20
 ; Number of issues that are showed in one page
 ISSUE_PAGING_NUM = 10
+; Number of maximum commits showed in one activity feed
+FEED_MAX_COMMIT_NUM = 5
 
 [ui.admin]
 ; Number of users that are showed in one page

+ 1 - 1
gogs.go

@@ -17,7 +17,7 @@ import (
 	"github.com/gogits/gogs/modules/setting"
 )
 
-const APP_VER = "0.6.14.0925 Beta"
+const APP_VER = "0.6.15.0925 Beta"
 
 func init() {
 	runtime.GOMAXPROCS(runtime.NumCPU())

+ 9 - 1
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)

+ 4 - 8
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, ""}
 		}
 	}
 

+ 2 - 8
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,

File diff suppressed because it is too large
+ 0 - 0
modules/bindata/bindata.go


+ 7 - 5
modules/setting/setting.go

@@ -91,12 +91,13 @@ var (
 	AnsiCharset  string
 
 	// UI settings.
-	ExplorePagingNum   int
-	IssuePagingNum     int
-	AdminUserPagingNum int
-	AdminRepoPagingNum int
+	ExplorePagingNum     int
+	IssuePagingNum       int
+	FeedMaxCommitNum     int
+	AdminUserPagingNum   int
+	AdminRepoPagingNum   int
 	AdminNoticePagingNum int
-	AdminOrgPagingNum int
+	AdminOrgPagingNum    int
 
 	// Markdown sttings.
 	Markdown struct {
@@ -370,6 +371,7 @@ func NewContext() {
 	sec = Cfg.Section("ui")
 	ExplorePagingNum = sec.Key("EXPLORE_PAGING_NUM").MustInt(20)
 	IssuePagingNum = sec.Key("ISSUE_PAGING_NUM").MustInt(10)
+	FeedMaxCommitNum = sec.Key("FEED_MAX_COMMIT_NUM").MustInt(5)
 
 	sec = Cfg.Section("ui.admin")
 	AdminUserPagingNum = sec.Key("USER_PAGING_NUM").MustInt(50)

+ 1 - 1
templates/.VERSION

@@ -1 +1 @@
-0.6.14.0925 Beta
+0.6.15.0925 Beta

Some files were not shown because too many files changed in this diff