diff options
author | ᴜɴᴋɴᴡᴏɴ <u@gogs.io> | 2020-03-08 19:09:31 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-03-08 19:09:31 +0800 |
commit | 6437d0180b97a26319b50c2e22927dac7c94fcdd (patch) | |
tree | 3d0d097e7f498e4b970065096e7500876d365a8b /internal/route/repo/repo.go | |
parent | c65b5b9f84dee21dc362311b299694e8e00f6ac6 (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.go | 37 |
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 } } |