summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLunny Xiao <xiaolunwen@gmail.com>2014-03-23 19:24:18 +0800
committerLunny Xiao <xiaolunwen@gmail.com>2014-03-23 19:24:18 +0800
commit2dd5259f8e499b0749ecb21faa5e6ad1acb39ff7 (patch)
treee607b7a37be6e18f49561e77720dcf9fcd29ea2c
parente9a3432d984d19b675ee4a1ff82b2a148f970645 (diff)
parentc386bb4bd314843a532012877e148ae70ee44672 (diff)
downloadgitea-2dd5259f8e499b0749ecb21faa5e6ad1acb39ff7.tar.gz
gitea-2dd5259f8e499b0749ecb21faa5e6ad1acb39ff7.zip
Merge branch 'master' of github.com:gogits/gogs
-rw-r--r--README.md6
-rw-r--r--README_ZH.md2
-rw-r--r--models/action.go12
-rw-r--r--models/issue.go26
-rw-r--r--modules/base/tool.go18
-rw-r--r--routers/repo/repo.go59
-rw-r--r--serve.go2
-rw-r--r--templates/repo/nav.tmpl4
-rw-r--r--templates/repo/setting.tmpl16
-rw-r--r--web.go2
10 files changed, 81 insertions, 66 deletions
diff --git a/README.md b/README.md
index 504c21975b..e947d7739a 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-Gogs - Go Git Service [![wercker status](https://app.wercker.com/status/ad0bdb0bc450ac6f09bc56b9640a50aa/s/ "wercker status")](https://app.wercker.com/project/bykey/ad0bdb0bc450ac6f09bc56b9640a50aa) [![Build Status](https://drone.io/github.com/gogits/gogs/status.png)](https://drone.io/github.com/gogits/gogs/latest)
+Gogs - Go Git Service [![wercker status](https://app.wercker.com/status/ad0bdb0bc450ac6f09bc56b9640a50aa/s/ "wercker status")](https://app.wercker.com/project/bykey/ad0bdb0bc450ac6f09bc56b9640a50aa) [![Build Status](https://drone.io/github.com/gogits/gogs/status.png)](https://drone.io/github.com/gogits/gogs/latest) [![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/gogits/gogs/trend.png)](https://bitdeli.com/free "Bitdeli Badge")
=====================
Gogs(Go Git Service) is a Self Hosted Git Service in the Go Programming Language.
@@ -7,7 +7,9 @@ Gogs(Go Git Service) is a Self Hosted Git Service in the Go Programming Language
##### Current version: 0.1.6 Alpha
-[简体中文](README_ZH.md)
+#### Other language version
+
+- [简体中文](README_ZH.md)
## Purpose
diff --git a/README_ZH.md b/README_ZH.md
index 0ab8dfdd07..78e26fada4 100644
--- a/README_ZH.md
+++ b/README_ZH.md
@@ -1,4 +1,4 @@
-Gogs - Go Git Service [![wercker status](https://app.wercker.com/status/ad0bdb0bc450ac6f09bc56b9640a50aa/s/ "wercker status")](https://app.wercker.com/project/bykey/ad0bdb0bc450ac6f09bc56b9640a50aa) [![Build Status](https://drone.io/github.com/gogits/gogs/status.png)](https://drone.io/github.com/gogits/gogs/latest)
+Gogs - Go Git Service [![wercker status](https://app.wercker.com/status/ad0bdb0bc450ac6f09bc56b9640a50aa/s/ "wercker status")](https://app.wercker.com/project/bykey/ad0bdb0bc450ac6f09bc56b9640a50aa) [![Build Status](https://drone.io/github.com/gogits/gogs/status.png)](https://drone.io/github.com/gogits/gogs/latest) [![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/gogits/gogs/trend.png)](https://bitdeli.com/free "Bitdeli Badge")
=====================
Gogs(Go Git Service) 是一个由 Go 语言编写的自助 Git 托管服务。
diff --git a/models/action.go b/models/action.go
index ca2ff3cbf1..1174929354 100644
--- a/models/action.go
+++ b/models/action.go
@@ -8,6 +8,7 @@ import (
"encoding/json"
"time"
+ "github.com/gogits/gogs/modules/base"
"github.com/gogits/gogs/modules/log"
)
@@ -47,18 +48,17 @@ func (a Action) GetRepoName() string {
return a.RepoName
}
-func (a Action) GetContent() string {
- return a.Content
+func (a Action) GetBranch() string {
+ return a.RefName
}
-type PushCommits struct {
- Len int
- Commits [][]string
+func (a Action) GetContent() string {
+ return a.Content
}
// CommitRepoAction records action for commit repository.
func CommitRepoAction(userId int64, userName string,
- repoId int64, repoName string, refName string, commits *PushCommits) error {
+ repoId int64, repoName string, refName string, commits *base.PushCommits) error {
bs, err := json.Marshal(commits)
if err != nil {
return err
diff --git a/models/issue.go b/models/issue.go
index f78c240cbc..929567b1b7 100644
--- a/models/issue.go
+++ b/models/issue.go
@@ -83,42 +83,42 @@ func GetIssues(userId, repoId, posterId, milestoneId int64, page int, isClosed,
sess := orm.Limit(20, (page-1)*20)
if repoId > 0 {
- sess = sess.Where("repo_id=?", repoId).And("is_closed=?", isClosed)
+ sess.Where("repo_id=?", repoId).And("is_closed=?", isClosed)
} else {
- sess = sess.Where("is_closed=?", isClosed)
+ sess.Where("is_closed=?", isClosed)
}
if userId > 0 {
- sess = sess.And("assignee_id=?", userId)
+ sess.And("assignee_id=?", userId)
} else if posterId > 0 {
- sess = sess.And("poster_id=?", posterId)
+ sess.And("poster_id=?", posterId)
} else if isMention {
- sess = sess.And("mentions like '%$" + base.ToStr(userId) + "|%'")
+ sess.And("mentions like '%$" + base.ToStr(userId) + "|%'")
}
if milestoneId > 0 {
- sess = sess.And("milestone_id=?", milestoneId)
+ sess.And("milestone_id=?", milestoneId)
}
if len(labels) > 0 {
for _, label := range strings.Split(labels, ",") {
- sess = sess.And("mentions like '%$" + label + "|%'")
+ sess.And("mentions like '%$" + label + "|%'")
}
}
switch sortType {
case "oldest":
- sess = sess.Asc("created")
+ sess.Asc("created")
case "recentupdate":
- sess = sess.Desc("updated")
+ sess.Desc("updated")
case "leastupdate":
- sess = sess.Asc("updated")
+ sess.Asc("updated")
case "mostcomment":
- sess = sess.Desc("num_comments")
+ sess.Desc("num_comments")
case "leastcomment":
- sess = sess.Asc("num_comments")
+ sess.Asc("num_comments")
default:
- sess = sess.Desc("created")
+ sess.Desc("created")
}
var issues []Issue
diff --git a/modules/base/tool.go b/modules/base/tool.go
index c7ee2ee857..b48566f542 100644
--- a/modules/base/tool.go
+++ b/modules/base/tool.go
@@ -471,6 +471,7 @@ type Actioner interface {
GetOpType() int
GetActUserName() string
GetRepoName() string
+ GetBranch() string
GetContent() string
}
@@ -493,25 +494,34 @@ const (
TPL_COMMIT_REPO_LI = `<div><img id="gogs-user-avatar-commit" src="%s?s=16" alt="user-avatar" title="username"/> <a href="/%s/%s/commit/%s">%s</a> %s</div>`
)
+type PushCommits struct {
+ Len int
+ Commits [][]string
+}
+
// ActionDesc accepts int that represents action operation type
// and returns the description.
func ActionDesc(act Actioner, avatarLink string) string {
actUserName := act.GetActUserName()
repoName := act.GetRepoName()
+ branch := act.GetBranch()
content := act.GetContent()
switch act.GetOpType() {
case 1: // Create repository.
return fmt.Sprintf(TPL_CREATE_REPO, actUserName, actUserName, actUserName, repoName, repoName)
case 5: // Commit repository.
- var commits [][]string
- if err := json.Unmarshal([]byte(content), &commits); err != nil {
+ var push *PushCommits
+ if err := json.Unmarshal([]byte(content), &push); err != nil {
return err.Error()
}
buf := bytes.NewBuffer([]byte("\n"))
- for _, commit := range commits {
+ for _, commit := range push.Commits {
buf.WriteString(fmt.Sprintf(TPL_COMMIT_REPO_LI, avatarLink, actUserName, repoName, commit[0], commit[0][:7], commit[1]) + "\n")
}
- return fmt.Sprintf(TPL_COMMIT_REPO, actUserName, actUserName, actUserName, repoName, "master", "master", actUserName, repoName, actUserName, repoName,
+ if push.Len > 3 {
+ buf.WriteString(fmt.Sprintf(`<div><a href="/%s/%s/commits">%d other commits >></a></div>`, actUserName, repoName, push.Len))
+ }
+ return fmt.Sprintf(TPL_COMMIT_REPO, actUserName, actUserName, actUserName, repoName, branch, branch, actUserName, repoName, actUserName, repoName,
buf.String())
default:
return "invalid type"
diff --git a/routers/repo/repo.go b/routers/repo/repo.go
index 0f1ea31235..82956098b7 100644
--- a/routers/repo/repo.go
+++ b/routers/repo/repo.go
@@ -52,30 +52,6 @@ func Create(ctx *middleware.Context, form auth.CreateRepoForm) {
ctx.Handle(200, "repo.Create", err)
}
-func SettingPost(ctx *middleware.Context) {
- if !ctx.Repo.IsOwner {
- ctx.Error(404)
- return
- }
-
- switch ctx.Query("action") {
- case "delete":
- if len(ctx.Repo.Repository.Name) == 0 || ctx.Repo.Repository.Name != ctx.Query("repository") {
- ctx.Data["ErrorMsg"] = "Please make sure you entered repository name is correct."
- ctx.HTML(200, "repo/setting")
- return
- }
-
- if err := models.DeleteRepository(ctx.User.Id, ctx.Repo.Repository.Id, ctx.User.LowerName); err != nil {
- ctx.Handle(200, "repo.Delete", err)
- return
- }
- }
-
- log.Trace("%s Repository deleted: %s/%s", ctx.Req.RequestURI, ctx.User.LowerName, ctx.Repo.Repository.LowerName)
- ctx.Redirect("/")
-}
-
func Branches(ctx *middleware.Context, params martini.Params) {
if !ctx.Repo.IsValid {
return
@@ -203,7 +179,6 @@ func Single(ctx *middleware.Context, params martini.Params) {
if readmeFile.Size > 1024*1024 || readmeFile.Filemode != git.FileModeBlob {
ctx.Data["FileIsLarge"] = true
} else if blob, err := readmeFile.LookupBlob(); err != nil {
- //log.Error("repo.Single(readmeFile.LookupBlob): %v", err)
ctx.Handle(404, "repo.Single(readmeFile.LookupBlob)", err)
return
} else {
@@ -301,6 +276,40 @@ func Setting(ctx *middleware.Context, params martini.Params) {
ctx.HTML(200, "repo/setting")
}
+func SettingPost(ctx *middleware.Context, params martini.Params) {
+ if !ctx.Repo.IsOwner {
+ ctx.Error(404)
+ return
+ }
+
+ switch ctx.Query("action") {
+ case "update":
+ ctx.Repo.Repository.Description = ctx.Query("desc")
+ ctx.Repo.Repository.Website = ctx.Query("site")
+ if err := models.UpdateRepository(ctx.Repo.Repository); err != nil {
+ ctx.Handle(404, "repo.SettingPost(update)", err)
+ return
+ }
+ ctx.Data["IsSuccess"] = true
+ ctx.HTML(200, "repo/setting")
+ log.Trace("%s Repository updated: %s/%s", ctx.Req.RequestURI, ctx.User.LowerName, ctx.Repo.Repository.LowerName)
+ case "delete":
+ if len(ctx.Repo.Repository.Name) == 0 || ctx.Repo.Repository.Name != ctx.Query("repository") {
+ ctx.Data["ErrorMsg"] = "Please make sure you entered repository name is correct."
+ ctx.HTML(200, "repo/setting")
+ return
+ }
+
+ if err := models.DeleteRepository(ctx.User.Id, ctx.Repo.Repository.Id, ctx.User.LowerName); err != nil {
+ ctx.Handle(200, "repo.Delete", err)
+ return
+ }
+
+ log.Trace("%s Repository deleted: %s/%s", ctx.Req.RequestURI, ctx.User.LowerName, ctx.Repo.Repository.LowerName)
+ ctx.Redirect("/")
+ }
+}
+
func Commits(ctx *middleware.Context, params martini.Params) {
brs, err := models.GetBranches(params["username"], params["reponame"])
if err != nil {
diff --git a/serve.go b/serve.go
index 84fd8d7b82..a8dfe70b4c 100644
--- a/serve.go
+++ b/serve.go
@@ -272,7 +272,7 @@ func runServ(k *cli.Context) {
}
if err = models.CommitRepoAction(user.Id, user.Name,
- repo.Id, repoName, refname, &models.PushCommits{l.Len(), commits}); err != nil {
+ repo.Id, repoName, refname, &base.PushCommits{l.Len(), commits}); err != nil {
log.Error("runUpdate.models.CommitRepoAction: %v", err, commits)
} else {
//log.Info("refname", refname)
diff --git a/templates/repo/nav.tmpl b/templates/repo/nav.tmpl
index 4d939e2504..a3358fd890 100644
--- a/templates/repo/nav.tmpl
+++ b/templates/repo/nav.tmpl
@@ -3,7 +3,7 @@
<div class="row">
<div class="col-md-7">
<h3 class="name"><i class="fa fa-book fa-lg"></i><a href="{{.Owner.HomeLink}}">{{.Owner.Name}}</a> / {{.Repository.Name}}</h3>
- <p class="desc">{{.Repository.Description}}{{if .Repository.Website}}<a href="{{.Repository.Website}}">{{.Repository.Website}}</a>{{end}}</p>
+ <p class="desc">{{.Repository.Description}}{{if .Repository.Website}} <a href="{{.Repository.Website}}">{{.Repository.Website}}</a>{{end}}</p>
</div>
<div class="col-md-5 actions text-right clone-group-btn">
{{if not .IsBareRepo}}
@@ -32,7 +32,7 @@
<p class="help-block text-center">Need help cloning? Visit <a href="#">Help</a>!</p>
</div>
</div>
- <div class="btn-group {{if .IsRepositoryWatching}}watching{{else}}no-watching{{end}}" id="gogs-repo-watching" data-watch="/{{.SignedUser.Name}}/{{.Repository.Name}}/action/watch" data-unwatch="/{{.SignedUser.Name}}/{{.Repository.Name}}/action/unwatch">
+ <div class="btn-group {{if .IsRepositoryWatching}}watching{{else}}no-watching{{end}}" id="gogs-repo-watching" data-watch="/{{.Owner.Name}}/{{.Repository.Name}}/action/watch" data-unwatch="/{{.Owner.Name}}/{{.Repository.Name}}/action/unwatch">
{{if .IsRepositoryWatching}}
<button type="button" class="btn btn-default"><i class="fa fa-eye fa-lg fa-m"></i></button>
{{else}}
diff --git a/templates/repo/setting.tmpl b/templates/repo/setting.tmpl
index 719547b1a9..c826e55a77 100644
--- a/templates/repo/setting.tmpl
+++ b/templates/repo/setting.tmpl
@@ -12,7 +12,7 @@
</div>
<div id="gogs-repo-setting-container" class="col-md-9">
- {{if .ErrorMsg}}<p class="alert alert-danger">{{.ErrorMsg}}</p>{{end}}
+ {{if .IsSuccess}}<p class="alert alert-success">Repository option has been successfully updated.</p>{{else if .HasError}}<p class="alert alert-danger form-error">{{.ErrorMsg}}</p>{{end}}
<div class="panel panel-default">
<div class="panel-heading">
Repository Options
@@ -23,31 +23,25 @@
{{.CsrfTokenHtml}}
<input type="hidden" name="action" value="update">
<div class="form-group">
- <label class="col-md-3 text-right">Repository Name <strong class="text-danger">*</strong></label>
- <div class="col-md-9">
- <input type="text" class="form-control" name="repo-name" required="required" value="{{.Repository.Name}}"/>
- </div>
- </div>
- <div class="form-group">
<label class="col-md-3 text-right">Description</label>
<div class="col-md-9">
- <textarea class="form-control" name="desc" id="repo-desc" rows="6"></textarea>
+ <textarea class="form-control" name="desc" id="repo-desc" rows="3">{{.Repository.Description}}</textarea>
</div>
</div>
<div class="form-group">
<label class="col-md-3 text-right">Official Site</label>
<div class="col-md-9">
- <input type="url" class="form-control" name="repo-site"/>
+ <input type="url" class="form-control" name="site" value="{{.Repository.Website}}" />
</div>
</div>
- <div class="form-group">
+ <!-- <div class="form-group">
<label class="col-md-3 text-right">Default Branch</label>
<div class="col-md-9">
<select name="branch" id="repo-default-branch" class="form-control">
<option value="">Branch</option>
</select>
</div>
- </div>
+ </div> -->
<div class="form-group">
<div class="col-md-9 col-md-offset-3">
<button class="btn btn-primary" type="submit">Save Options</button>
diff --git a/web.go b/web.go
index 7b36ccd9db..9d90851c96 100644
--- a/web.go
+++ b/web.go
@@ -163,7 +163,7 @@ func runWeb(*cli.Context) {
m.Get("/template/**", dev.TemplatePreview)
}
- // not found handler
+ // Not found handler.
m.NotFound(routers.NotFound)
listenAddr := fmt.Sprintf("%s:%s",