diff options
author | Unknwon <joe2010xtmf@163.com> | 2014-09-23 15:30:04 -0400 |
---|---|---|
committer | Unknwon <joe2010xtmf@163.com> | 2014-09-23 15:30:04 -0400 |
commit | 5bbeeb0f1b5cecb67e1527410a45fb65df0096d1 (patch) | |
tree | 7c135abd7c84f4e1743ad621265fbaee25bf5f99 /models | |
parent | 93ee0838eb317ce729391fbfafa0595f561e3f65 (diff) | |
download | gitea-5bbeeb0f1b5cecb67e1527410a45fb65df0096d1.tar.gz gitea-5bbeeb0f1b5cecb67e1527410a45fb65df0096d1.zip |
Page: Commits and fix #249
Diffstat (limited to 'models')
-rw-r--r-- | models/repo.go | 14 | ||||
-rw-r--r-- | models/user.go | 29 |
2 files changed, 43 insertions, 0 deletions
diff --git a/models/repo.go b/models/repo.go index ccfaae2ca2..c0a581b9a2 100644 --- a/models/repo.go +++ b/models/repo.go @@ -1081,6 +1081,13 @@ func SearchRepositoryByName(opt SearchOption) (repos []*Repository, err error) { return repos, err } +// __ __ __ .__ +// / \ / \_____ _/ |_ ____ | |__ +// \ \/\/ /\__ \\ __\/ ___\| | \ +// \ / / __ \| | \ \___| Y \ +// \__/\ / (____ /__| \___ >___| / +// \/ \/ \/ \/ + // Watch is connection request for receiving repository notifycation. type Watch struct { Id int64 @@ -1151,6 +1158,13 @@ func NotifyWatchers(act *Action) error { return nil } +// _________ __ +// / _____// |______ _______ +// \_____ \\ __\__ \\_ __ \ +// / \| | / __ \| | \/ +// /_______ /|__| (____ /__| +// \/ \/ + type Star struct { Id int64 Uid int64 `xorm:"UNIQUE(s)"` diff --git a/models/user.go b/models/user.go index 46e1b1554b..c09a77265f 100644 --- a/models/user.go +++ b/models/user.go @@ -5,6 +5,7 @@ package models import ( + "container/list" "crypto/sha256" "encoding/hex" "errors" @@ -513,6 +514,34 @@ func GetUserIdsByNames(names []string) []int64 { return ids } +// UserCommit represtns a commit with validation of user. +type UserCommit struct { + UserName string + *git.Commit +} + +// ValidCommitsWithEmails checks if authors' e-mails of commits are correcponding to users. +func ValidCommitsWithEmails(oldCommits *list.List) *list.List { + newCommits := list.New() + e := oldCommits.Front() + for e != nil { + c := e.Value.(*git.Commit) + + uname := "" + u, err := GetUserByEmail(c.Author.Email) + if err == nil { + uname = u.Name + } + + newCommits.PushBack(UserCommit{ + UserName: uname, + Commit: c, + }) + e = e.Next() + } + return newCommits +} + // GetUserByEmail returns the user object by given e-mail if exists. func GetUserByEmail(email string) (*User, error) { if len(email) == 0 { |