summaryrefslogtreecommitdiffstats
path: root/routers/api/v1/api.go
diff options
context:
space:
mode:
Diffstat (limited to 'routers/api/v1/api.go')
-rw-r--r--routers/api/v1/api.go9
1 files changed, 8 insertions, 1 deletions
diff --git a/routers/api/v1/api.go b/routers/api/v1/api.go
index afdb2c0045..f89d6e3445 100644
--- a/routers/api/v1/api.go
+++ b/routers/api/v1/api.go
@@ -52,7 +52,14 @@ func repoAssignment() macaron.Handler {
repo, err := models.GetRepositoryByName(owner.ID, repoName)
if err != nil {
if models.IsErrRepoNotExist(err) {
- ctx.Status(404)
+ redirectRepoID, err := models.LookupRepoRedirect(owner.ID, repoName)
+ if err == nil {
+ context.RedirectToRepo(ctx.Context, redirectRepoID)
+ } else if models.IsErrRepoRedirectNotExist(err) {
+ ctx.Status(404)
+ } else {
+ ctx.Error(500, "LookupRepoRedirect", err)
+ }
} else {
ctx.Error(500, "GetRepositoryByName", err)
}