aboutsummaryrefslogtreecommitdiff
path: root/internal/route/repo/repo.go
diff options
context:
space:
mode:
authorᴜɴᴋɴᴡᴏɴ <u@gogs.io>2020-03-08 19:09:31 +0800
committerGitHub <noreply@github.com>2020-03-08 19:09:31 +0800
commit6437d0180b97a26319b50c2e22927dac7c94fcdd (patch)
tree3d0d097e7f498e4b970065096e7500876d365a8b /internal/route/repo/repo.go
parentc65b5b9f84dee21dc362311b299694e8e00f6ac6 (diff)
git: migrate to github.com/gogs/git-module@v1.0.0 (#5958)
* WIP * Finish `internal/db/git_diff.go` * FInish internal/db/mirror.go * Finish internal/db/pull.go * Finish internal/db/release.go * Finish internal/db/repo.go * Finish internal/db/repo_branch.go * Finish internal/db/repo_editor.go * Finish internal/db/update.go * Save my work * Add license header * Compile! * Merge master * Finish internal/cmd/hook.go * Finish internal/conf/static.go * Finish internal/context/repo.go * Finish internal/db/action.go * Finish internal/db/git_diff.go * Fix submodule URL inferring * Finish internal/db/mirror.go * Updat to beta.4 * css: update fonts * Finish internal/db/pull.go * Finish internal/db/release.go * Finish internal/db/repo_branch.go * Finish internal/db/wiki.go * gitutil: enhance infer submodule UR * Finish internal/route/api/v1/repo/commits.go * mirror: only collect branch commits after sync * mirror: fix tag support * Finish internal/db/repo.go * Finish internal/db/repo_editor.go * Finish internal/db/update.go * Finish internal/gitutil/pull_request.go * Make it compile * Finish internal/route/repo/setting.go * Finish internal/route/repo/branch.go * Finish internal/route/api/v1/repo/file.go * Finish internal/route/repo/download.go * Finish internal/route/repo/editor.go * Use helper * Finish internal/route/repo/issue.go * Finish internal/route/repo/pull.go * Finish internal/route/repo/release.go * Finish internal/route/repo/repo.go * Finish internal/route/repo/wiki.go * Finish internal/route/repo/commit.go * Finish internal/route/repo/view.go * Finish internal/gitutil/tag.go * go.sum
Diffstat (limited to 'internal/route/repo/repo.go')
-rw-r--r--internal/route/repo/repo.go37
1 files changed, 19 insertions, 18 deletions
diff --git a/internal/route/repo/repo.go b/internal/route/repo/repo.go
index 7f7c2bce..a0bd25fe 100644
--- a/internal/route/repo/repo.go
+++ b/internal/route/repo/repo.go
@@ -8,6 +8,7 @@ import (
"fmt"
"os"
"path"
+ "path/filepath"
"strings"
"github.com/unknwon/com"
@@ -271,22 +272,22 @@ func Action(c *context.Context) {
func Download(c *context.Context) {
var (
- uri = c.Params("*")
- refName string
- ext string
- archivePath string
- archiveType git.ArchiveType
+ uri = c.Params("*")
+ refName string
+ ext string
+ archivePath string
+ archiveFormat git.ArchiveFormat
)
switch {
case strings.HasSuffix(uri, ".zip"):
ext = ".zip"
- archivePath = path.Join(c.Repo.GitRepo.Path, "archives/zip")
- archiveType = git.ZIP
+ archivePath = filepath.Join(c.Repo.GitRepo.Path(), "archives", "zip")
+ archiveFormat = git.ArchiveZip
case strings.HasSuffix(uri, ".tar.gz"):
ext = ".tar.gz"
- archivePath = path.Join(c.Repo.GitRepo.Path, "archives/targz")
- archiveType = git.TARGZ
+ archivePath = filepath.Join(c.Repo.GitRepo.Path(), "archives", "targz")
+ archiveFormat = git.ArchiveTarGz
default:
log.Trace("Unknown format: %s", uri)
c.Error(404)
@@ -307,20 +308,20 @@ func Download(c *context.Context) {
err error
)
gitRepo := c.Repo.GitRepo
- if gitRepo.IsBranchExist(refName) {
- commit, err = gitRepo.GetBranchCommit(refName)
+ if gitRepo.HasBranch(refName) {
+ commit, err = gitRepo.BranchCommit(refName)
if err != nil {
- c.Handle(500, "GetBranchCommit", err)
+ c.ServerError("get branch commit", err)
return
}
- } else if gitRepo.IsTagExist(refName) {
- commit, err = gitRepo.GetTagCommit(refName)
+ } else if gitRepo.HasTag(refName) {
+ commit, err = gitRepo.TagCommit(refName)
if err != nil {
- c.Handle(500, "GetTagCommit", err)
+ c.ServerError("get tag commit", err)
return
}
} else if len(refName) >= 7 && len(refName) <= 40 {
- commit, err = gitRepo.GetCommit(refName)
+ commit, err = gitRepo.CatFileCommit(refName)
if err != nil {
c.NotFound()
return
@@ -332,8 +333,8 @@ func Download(c *context.Context) {
archivePath = path.Join(archivePath, tool.ShortSHA1(commit.ID.String())+ext)
if !com.IsFile(archivePath) {
- if err := commit.CreateArchive(archivePath, archiveType); err != nil {
- c.Handle(500, "Download -> CreateArchive "+archivePath, err)
+ if err := commit.CreateArchive(archiveFormat, archivePath); err != nil {
+ c.ServerError("creates archive", err)
return
}
}