mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 16:01:32 +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