summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--integrations/links_test.go6
-rw-r--r--modules/context/repo.go6
2 files changed, 9 insertions, 3 deletions
diff --git a/integrations/links_test.go b/integrations/links_test.go
index e1213a2edc..bc87ca707a 100644
--- a/integrations/links_test.go
+++ b/integrations/links_test.go
@@ -46,8 +46,10 @@ func TestRedirectsNoLogin(t *testing.T) {
prepareTestEnv(t)
var redirects = map[string]string{
- "/user2/repo1/commits/master": "/user2/repo1/commits/branch/master",
- "/user2/repo1/src/master": "/user2/repo1/src/branch/master",
+ "/user2/repo1/commits/master": "/user2/repo1/commits/branch/master",
+ "/user2/repo1/src/master": "/user2/repo1/src/branch/master",
+ "/user2/repo1/src/master/file.txt": "/user2/repo1/src/branch/master/file.txt",
+ "/user2/repo1/src/master/directory/file.txt": "/user2/repo1/src/branch/master/directory/file.txt",
}
for link, redirectLink := range redirects {
req := NewRequest(t, "GET", link)
diff --git a/modules/context/repo.go b/modules/context/repo.go
index 66250a0f3e..7651d43fad 100644
--- a/modules/context/repo.go
+++ b/modules/context/repo.go
@@ -618,7 +618,11 @@ func RepoRefByType(refType RepoRefType) macaron.Handler {
if refType == RepoRefLegacy {
// redirect from old URL scheme to new URL scheme
- ctx.Redirect(path.Join(setting.AppSubURL, strings.TrimSuffix(ctx.Req.URL.String(), ctx.Params("*")), ctx.Repo.BranchNameSubURL()))
+ ctx.Redirect(path.Join(
+ setting.AppSubURL,
+ strings.TrimSuffix(ctx.Req.URL.String(), ctx.Params("*")),
+ ctx.Repo.BranchNameSubURL(),
+ ctx.Repo.TreePath))
return
}
}