diff options
Diffstat (limited to 'routers/api/v1/api.go')
-rw-r--r-- | routers/api/v1/api.go | 9 |
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) } |