mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 19:45:25 +01:00 
			
		
		
		
	add http protocol clone support
This commit is contained in:
		
							parent
							
								
									5cb2d3d2e2
								
							
						
					
					
						commit
						efdaf6ee15
					
				| @ -257,6 +257,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 { | ||||
|  | ||||
| @ -231,10 +231,8 @@ func UserPath(userName string) string { | ||||
| 
 | ||||
| func GetUserByKeyId(keyId int64) (*User, error) { | ||||
| 	user := new(User) | ||||
| 	rawSql := "SELECT a.* FROM user AS a, public_key AS b WHERE a.id = b.owner_id AND b.id=?" | ||||
| 	if base.Cfg.MustValue("database", "DB_TYPE") == "postgres" { | ||||
| 		rawSql = "SELECT a.* FROM \"user\" AS a, public_key AS b WHERE a.id = b.owner_id AND b.id=?" | ||||
| 	} | ||||
| 	rawSql := "SELECT a.* FROM `user` AS a, public_key AS b WHERE a.id = b.owner_id AND b.id=?" | ||||
| 
 | ||||
| 	has, err := orm.Sql(rawSql, keyId).Get(user) | ||||
| 	if err != nil { | ||||
| 		return nil, err | ||||
|  | ||||
| @ -5,11 +5,13 @@ | ||||
| package repo | ||||
| 
 | ||||
| import ( | ||||
| 	"path" | ||||
| 	"strings" | ||||
| 
 | ||||
| 	"github.com/codegangsta/martini" | ||||
| 
 | ||||
| 	"github.com/gogits/git" | ||||
| 	"github.com/gogits/webdav" | ||||
| 
 | ||||
| 	"github.com/gogits/gogs/models" | ||||
| 	"github.com/gogits/gogs/modules/base" | ||||
| @ -181,6 +183,29 @@ func Single(ctx *middleware.Context, params martini.Params) { | ||||
| 	ctx.HTML(200, "repo/single", ctx.Data) | ||||
| } | ||||
| 
 | ||||
| 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) | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user