|
@@ -5,6 +5,7 @@
|
|
|
package v1
|
|
|
|
|
|
import (
|
|
|
+ "github.com/gogits/gogs/models"
|
|
|
"github.com/gogits/gogs/modules/base"
|
|
|
"github.com/gogits/gogs/modules/git"
|
|
|
"github.com/gogits/gogs/modules/middleware"
|
|
@@ -30,3 +31,15 @@ func GetRepoRawFile(ctx *middleware.Context) {
|
|
|
ctx.JSON(500, &base.ApiJsonErr{"ServeBlob: " + err.Error(), base.DOC_URL})
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+func GetRepoArchive(ctx *middleware.Context) {
|
|
|
+ repoPath := models.RepoPath(ctx.Params(":username"), ctx.Params(":reponame"))
|
|
|
+ gitRepo, err := git.OpenRepository(repoPath)
|
|
|
+ if err != nil {
|
|
|
+ ctx.Handle(500, "RepoAssignment Invalid repo: "+repoPath, err)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ ctx.Repo.GitRepo = gitRepo
|
|
|
+
|
|
|
+ repo.Download(ctx)
|
|
|
+}
|