From 237df2f33987073fdaa1d773faa4c9e87221f9ea Mon Sep 17 00:00:00 2001 From: Ethan Koenig Date: Wed, 6 Dec 2017 22:29:14 -0800 Subject: [PATCH] Fix legacy URL redirects (#3100) (#3106) --- integrations/links_test.go | 6 ++++-- modules/context/repo.go | 6 +++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/integrations/links_test.go b/integrations/links_test.go index e1213a2ed..bc87ca707 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 e8d084c34..fba461dd4 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 } }