Merge branch 'master' of github.com:gogits/gogs
This commit is contained in:
		
						commit
						19104f156f
					
				
					 3 changed files with 37 additions and 0 deletions
				
			
		|  | @ -262,6 +262,17 @@ func initRepository(f string, user *User, repo *Repository, initReadme bool, rep | |||
| 		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.
 | ||||
| 	fileName := map[string]string{} | ||||
| 	if initReadme { | ||||
|  |  | |||
|  | @ -11,6 +11,7 @@ import ( | |||
| 	"github.com/codegangsta/martini" | ||||
| 
 | ||||
| 	"github.com/gogits/git" | ||||
| 	"github.com/gogits/webdav" | ||||
| 
 | ||||
| 	"github.com/gogits/gogs/models" | ||||
| 	"github.com/gogits/gogs/modules/base" | ||||
|  | @ -192,6 +193,29 @@ func Single(ctx *middleware.Context, params martini.Params) { | |||
| 	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) { | ||||
| 	if !ctx.Repo.IsOwner { | ||||
| 		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.Any("/:username/:reponame/**", ignSignIn, repo.Http) | ||||
| 
 | ||||
| 	if martini.Env == martini.Dev { | ||||
| 		m.Get("/template/**", dev.TemplatePreview) | ||||
| 	} | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue