fix private repo cannot trigger hook by SSH

This commit is contained in:
Unknwon 2015-08-08 01:04:12 +08:00
parent 45adb9b7a3
commit 3d0583df0f
4 changed files with 26 additions and 5 deletions

View file

@ -461,7 +461,6 @@ func runWeb(ctx *cli.Context) {
m.Get("/branches", repo.Branches) m.Get("/branches", repo.Branches)
m.Get("/archive/*", repo.Download) m.Get("/archive/*", repo.Download)
m.Get("/pulls2/", repo.PullRequest2) m.Get("/pulls2/", repo.PullRequest2)
m.Head("/hooks/trigger", repo.TriggerHook)
m.Group("", func() { m.Group("", func() {
m.Get("/src/*", repo.Home) m.Get("/src/*", repo.Home)
@ -479,7 +478,10 @@ func runWeb(ctx *cli.Context) {
m.Get(".git", repo.Home) m.Get(".git", repo.Home)
}, ignSignIn, middleware.RepoAssignment(true, true), middleware.RepoRef()) }, ignSignIn, middleware.RepoAssignment(true, true), middleware.RepoRef())
m.Any("/:reponame/*", ignSignInAndCsrf, repo.Http) m.Group("/:reponame", func() {
m.Any("/*", ignSignInAndCsrf, repo.Http)
m.Head("/hooks/trigger", repo.TriggerHook)
})
}) })
// robots.txt // robots.txt

View file

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

View file

@ -586,7 +586,26 @@ func getOrgRepoCtx(ctx *middleware.Context) (*OrgRepoCtx, error) {
} }
func TriggerHook(ctx *middleware.Context) { func TriggerHook(ctx *middleware.Context) {
models.HookQueue.AddRepoID(ctx.Repo.Repository.Id) u, err := models.GetUserByName(ctx.Params(":username"))
if err != nil {
if models.IsErrUserNotExist(err) {
ctx.Handle(404, "GetUserByName", err)
} else {
ctx.Handle(500, "GetUserByName", err)
}
return
}
repo, err := models.GetRepositoryByName(u.Id, ctx.Params(":reponame"))
if err != nil {
if models.IsErrRepoNotExist(err) {
ctx.Handle(404, "GetRepositoryByName", err)
} else {
ctx.Handle(500, "GetRepositoryByName", err)
}
return
}
models.HookQueue.AddRepoID(repo.Id)
} }
func GitHooks(ctx *middleware.Context) { func GitHooks(ctx *middleware.Context) {

View file

@ -1 +1 @@
0.6.4.0806 Beta 0.6.4.0808 Beta