summaryrefslogtreecommitdiffstats
path: root/modules/git
diff options
context:
space:
mode:
authorMatthias Pioch <likeit.mp@googlemail.com>2015-10-24 22:03:08 +0200
committerMatthias Pioch <likeit.mp@googlemail.com>2015-10-24 22:03:08 +0200
commit78a4e7124507ad32ce43cd10b723224194b8e94d (patch)
treedc5cd0b5b262d0e4502f5b8eb91800627b0570a1 /modules/git
parent71d8ff247d35eb366c6ea417555bed15e8675a31 (diff)
downloadgitea-78a4e7124507ad32ce43cd10b723224194b8e94d.tar.gz
gitea-78a4e7124507ad32ce43cd10b723224194b8e94d.zip
workaround for reverse proxy, ssh, submodule
Diffstat (limited to 'modules/git')
-rw-r--r--modules/git/submodule.go10
1 files changed, 8 insertions, 2 deletions
diff --git a/modules/git/submodule.go b/modules/git/submodule.go
index 0c7c2696c3..1291e112b9 100644
--- a/modules/git/submodule.go
+++ b/modules/git/submodule.go
@@ -30,7 +30,7 @@ func NewSubModuleFile(c *Commit, refUrl, refId string) *SubModuleFile {
}
// RefUrl guesses and returns reference URL.
-func (sf *SubModuleFile) RefUrl() string {
+func (sf *SubModuleFile) RefUrl(appUrl string) string {
if sf.refUrl == "" {
return ""
}
@@ -51,8 +51,14 @@ func (sf *SubModuleFile) RefUrl() string {
i := strings.Index(url, "@")
j := strings.LastIndex(url, ":")
if i > -1 && j > -1 {
- return "http://" + url[i+1:j] + "/" + url[j+1:]
+ // fix problem with reverse proxy works only with local server
+ if strings.Contains(appUrl,url[i+1:j]) {
+ return appUrl + url[j+1:]
+ } else {
+ return "http://" + url[i+1:j] + "/" + url[j+1:]
+ }
}
+
return url
}