mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-11-04 05:25:15 +01:00 
			
		
		
		
	fix go get sub package and add domain on installation to let go get work defaultly (#1518)
* fix go get sub package and add domain on installation to let go get work defaultly * fix import sequence * fix .git problem
This commit is contained in:
		
							parent
							
								
									42072783c9
								
							
						
					
					
						commit
						f0db3da713
					
				@ -127,7 +127,7 @@ func composeGoGetImport(owner, repo string) string {
 | 
				
			|||||||
func earlyResponseForGoGetMeta(ctx *Context) {
 | 
					func earlyResponseForGoGetMeta(ctx *Context) {
 | 
				
			||||||
	ctx.PlainText(200, []byte(com.Expand(`<meta name="go-import" content="{GoGetImport} git {CloneLink}">`,
 | 
						ctx.PlainText(200, []byte(com.Expand(`<meta name="go-import" content="{GoGetImport} git {CloneLink}">`,
 | 
				
			||||||
		map[string]string{
 | 
							map[string]string{
 | 
				
			||||||
			"GoGetImport": composeGoGetImport(ctx.Params(":username"), ctx.Params(":reponame")),
 | 
								"GoGetImport": composeGoGetImport(ctx.Params(":username"), strings.TrimSuffix(ctx.Params(":reponame"), ".git")),
 | 
				
			||||||
			"CloneLink":   models.ComposeHTTPSCloneURL(ctx.Params(":username"), ctx.Params(":reponame")),
 | 
								"CloneLink":   models.ComposeHTTPSCloneURL(ctx.Params(":username"), ctx.Params(":reponame")),
 | 
				
			||||||
		})))
 | 
							})))
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -257,6 +257,7 @@ func InstallPost(ctx *context.Context, form auth.InstallForm) {
 | 
				
			|||||||
	cfg.Section("repository").Key("ROOT").SetValue(form.RepoRootPath)
 | 
						cfg.Section("repository").Key("ROOT").SetValue(form.RepoRootPath)
 | 
				
			||||||
	cfg.Section("").Key("RUN_USER").SetValue(form.RunUser)
 | 
						cfg.Section("").Key("RUN_USER").SetValue(form.RunUser)
 | 
				
			||||||
	cfg.Section("server").Key("SSH_DOMAIN").SetValue(form.Domain)
 | 
						cfg.Section("server").Key("SSH_DOMAIN").SetValue(form.Domain)
 | 
				
			||||||
 | 
						cfg.Section("server").Key("DOMAIN").SetValue(form.Domain)
 | 
				
			||||||
	cfg.Section("server").Key("HTTP_PORT").SetValue(form.HTTPPort)
 | 
						cfg.Section("server").Key("HTTP_PORT").SetValue(form.HTTPPort)
 | 
				
			||||||
	cfg.Section("server").Key("ROOT_URL").SetValue(form.AppURL)
 | 
						cfg.Section("server").Key("ROOT_URL").SetValue(form.AppURL)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -22,12 +22,37 @@ import (
 | 
				
			|||||||
	"code.gitea.io/gitea/modules/context"
 | 
						"code.gitea.io/gitea/modules/context"
 | 
				
			||||||
	"code.gitea.io/gitea/modules/log"
 | 
						"code.gitea.io/gitea/modules/log"
 | 
				
			||||||
	"code.gitea.io/gitea/modules/setting"
 | 
						"code.gitea.io/gitea/modules/setting"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						"github.com/Unknwon/com"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func composeGoGetImport(owner, repo, sub string) string {
 | 
				
			||||||
 | 
						return path.Join(setting.Domain, setting.AppSubURL, owner, repo, sub)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// earlyResponseForGoGetMeta responses appropriate go-get meta with status 200
 | 
				
			||||||
 | 
					// if user does not have actual access to the requested repository,
 | 
				
			||||||
 | 
					// or the owner or repository does not exist at all.
 | 
				
			||||||
 | 
					// This is particular a workaround for "go get" command which does not respect
 | 
				
			||||||
 | 
					// .netrc file.
 | 
				
			||||||
 | 
					func earlyResponseForGoGetMeta(ctx *context.Context, username, reponame, subpath string) {
 | 
				
			||||||
 | 
						ctx.PlainText(200, []byte(com.Expand(`<meta name="go-import" content="{GoGetImport} git {CloneLink}">`,
 | 
				
			||||||
 | 
							map[string]string{
 | 
				
			||||||
 | 
								"GoGetImport": composeGoGetImport(username, reponame, subpath),
 | 
				
			||||||
 | 
								"CloneLink":   models.ComposeHTTPSCloneURL(username, reponame),
 | 
				
			||||||
 | 
							})))
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// HTTP implmentation git smart HTTP protocol
 | 
					// HTTP implmentation git smart HTTP protocol
 | 
				
			||||||
func HTTP(ctx *context.Context) {
 | 
					func HTTP(ctx *context.Context) {
 | 
				
			||||||
	username := ctx.Params(":username")
 | 
						username := ctx.Params(":username")
 | 
				
			||||||
	reponame := strings.TrimSuffix(ctx.Params(":reponame"), ".git")
 | 
						reponame := strings.TrimSuffix(ctx.Params(":reponame"), ".git")
 | 
				
			||||||
 | 
						subpath := ctx.Params("*")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if ctx.Query("go-get") == "1" {
 | 
				
			||||||
 | 
							earlyResponseForGoGetMeta(ctx, username, reponame, subpath)
 | 
				
			||||||
 | 
							return
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	var isPull bool
 | 
						var isPull bool
 | 
				
			||||||
	service := ctx.Query("service")
 | 
						service := ctx.Query("service")
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user