mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 16:40:24 +08:00 
			
		
		
		
	@@ -11,6 +11,7 @@ import (
 | 
				
			|||||||
	"fmt"
 | 
						"fmt"
 | 
				
			||||||
	"html/template"
 | 
						"html/template"
 | 
				
			||||||
	"io/ioutil"
 | 
						"io/ioutil"
 | 
				
			||||||
 | 
						"net/url"
 | 
				
			||||||
	"os"
 | 
						"os"
 | 
				
			||||||
	"os/exec"
 | 
						"os/exec"
 | 
				
			||||||
	"path"
 | 
						"path"
 | 
				
			||||||
@@ -824,7 +825,7 @@ type CloneLink struct {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// ComposeHTTPSCloneURL returns HTTPS clone URL based on given owner and repository name.
 | 
					// ComposeHTTPSCloneURL returns HTTPS clone URL based on given owner and repository name.
 | 
				
			||||||
func ComposeHTTPSCloneURL(owner, repo string) string {
 | 
					func ComposeHTTPSCloneURL(owner, repo string) string {
 | 
				
			||||||
	return fmt.Sprintf("%s%s/%s.git", setting.AppURL, owner, repo)
 | 
						return fmt.Sprintf("%s%s/%s.git", setting.AppURL, url.QueryEscape(owner), url.QueryEscape(repo))
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (repo *Repository) cloneLink(e Engine, isWiki bool) *CloneLink {
 | 
					func (repo *Repository) cloneLink(e Engine, isWiki bool) *CloneLink {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -209,7 +209,7 @@ func Contexter() macaron.Handler {
 | 
				
			|||||||
			if err == nil && len(repo.DefaultBranch) > 0 {
 | 
								if err == nil && len(repo.DefaultBranch) > 0 {
 | 
				
			||||||
				branchName = repo.DefaultBranch
 | 
									branchName = repo.DefaultBranch
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
			prefix := setting.AppURL + path.Join(ownerName, repoName, "src", "branch", branchName)
 | 
								prefix := setting.AppURL + path.Join(url.QueryEscape(ownerName), url.QueryEscape(repoName), "src", "branch", branchName)
 | 
				
			||||||
			c.Header().Set("Content-Type", "text/html")
 | 
								c.Header().Set("Content-Type", "text/html")
 | 
				
			||||||
			c.WriteHeader(http.StatusOK)
 | 
								c.WriteHeader(http.StatusOK)
 | 
				
			||||||
			c.Write([]byte(com.Expand(`<!doctype html>
 | 
								c.Write([]byte(com.Expand(`<!doctype html>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -8,6 +8,7 @@ package context
 | 
				
			|||||||
import (
 | 
					import (
 | 
				
			||||||
	"fmt"
 | 
						"fmt"
 | 
				
			||||||
	"io/ioutil"
 | 
						"io/ioutil"
 | 
				
			||||||
 | 
						"net/url"
 | 
				
			||||||
	"path"
 | 
						"path"
 | 
				
			||||||
	"strings"
 | 
						"strings"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -162,7 +163,7 @@ func RetrieveBaseRepo(ctx *Context, repo *models.Repository) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// ComposeGoGetImport returns go-get-import meta content.
 | 
					// ComposeGoGetImport returns go-get-import meta content.
 | 
				
			||||||
func ComposeGoGetImport(owner, repo string) string {
 | 
					func ComposeGoGetImport(owner, repo string) string {
 | 
				
			||||||
	return path.Join(setting.Domain, setting.AppSubURL, owner, repo)
 | 
						return path.Join(setting.Domain, setting.AppSubURL, url.QueryEscape(owner), url.QueryEscape(repo))
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// EarlyResponseForGoGetMeta responses appropriate go-get meta with status 200
 | 
					// EarlyResponseForGoGetMeta responses appropriate go-get meta with status 200
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user