Merge branch 'master' of github.com:gogits/gogs
This commit is contained in:
		
						commit
						19104f156f
					
				| @ -262,6 +262,17 @@ func initRepository(f string, user *User, repo *Repository, initReadme bool, rep | |||||||
| 		return err | 		return err | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
|  | 	// hook/post-update | ||||||
|  | 	pu2, err := os.OpenFile(filepath.Join(repoPath, "hooks", "post-receive"), os.O_CREATE|os.O_WRONLY, 0777) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return err | ||||||
|  | 	} | ||||||
|  | 	defer pu2.Close() | ||||||
|  | 	// TODO: Windows .bat | ||||||
|  | 	if _, err = pu2.WriteString("#!/usr/bin/env bash\ngit update-server-info\n"); err != nil { | ||||||
|  | 		return err | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
| 	// Initialize repository according to user's choice. | 	// Initialize repository according to user's choice. | ||||||
| 	fileName := map[string]string{} | 	fileName := map[string]string{} | ||||||
| 	if initReadme { | 	if initReadme { | ||||||
|  | |||||||
| @ -11,6 +11,7 @@ import ( | |||||||
| 	"github.com/codegangsta/martini" | 	"github.com/codegangsta/martini" | ||||||
| 
 | 
 | ||||||
| 	"github.com/gogits/git" | 	"github.com/gogits/git" | ||||||
|  | 	"github.com/gogits/webdav" | ||||||
| 
 | 
 | ||||||
| 	"github.com/gogits/gogs/models" | 	"github.com/gogits/gogs/models" | ||||||
| 	"github.com/gogits/gogs/modules/base" | 	"github.com/gogits/gogs/modules/base" | ||||||
| @ -192,6 +193,29 @@ func Single(ctx *middleware.Context, params martini.Params) { | |||||||
| 	ctx.HTML(200, "repo/single") | 	ctx.HTML(200, "repo/single") | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | func Http(ctx *middleware.Context, params martini.Params) { | ||||||
|  | 	/*if !ctx.Repo.IsValid { | ||||||
|  | 		return | ||||||
|  | 	}*/ | ||||||
|  | 
 | ||||||
|  | 	// TODO: access check | ||||||
|  | 
 | ||||||
|  | 	username := params["username"] | ||||||
|  | 	reponame := params["reponame"] | ||||||
|  | 	if strings.HasSuffix(reponame, ".git") { | ||||||
|  | 		reponame = reponame[:len(reponame)-4] | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	prefix := path.Join("/", username, params["reponame"]) | ||||||
|  | 	server := &webdav.Server{ | ||||||
|  | 		Fs:         webdav.Dir(models.RepoPath(username, reponame)), | ||||||
|  | 		TrimPrefix: prefix, | ||||||
|  | 		Listings:   true, | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	server.ServeHTTP(ctx.ResponseWriter, ctx.Req) | ||||||
|  | } | ||||||
|  | 
 | ||||||
| func Setting(ctx *middleware.Context, params martini.Params) { | func Setting(ctx *middleware.Context, params martini.Params) { | ||||||
| 	if !ctx.Repo.IsOwner { | 	if !ctx.Repo.IsOwner { | ||||||
| 		ctx.Error(404) | 		ctx.Error(404) | ||||||
|  | |||||||
							
								
								
									
										2
									
								
								web.go
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								web.go
									
									
									
									
									
								
							| @ -139,6 +139,8 @@ func runWeb(*cli.Context) { | |||||||
| 
 | 
 | ||||||
| 	m.Get("/:username/:reponame", ignSignIn, middleware.RepoAssignment(true), repo.Single) | 	m.Get("/:username/:reponame", ignSignIn, middleware.RepoAssignment(true), repo.Single) | ||||||
| 
 | 
 | ||||||
|  | 	m.Any("/:username/:reponame/**", ignSignIn, repo.Http) | ||||||
|  | 
 | ||||||
| 	if martini.Env == martini.Dev { | 	if martini.Env == martini.Dev { | ||||||
| 		m.Get("/template/**", dev.TemplatePreview) | 		m.Get("/template/**", dev.TemplatePreview) | ||||||
| 	} | 	} | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user