Changes
4 changed files (+23/-31)
-
-
@@ -28,8 +28,8 @@ const () // GetRawDiff dumps diff results of repository in given commit ID to io.Writer. func GetRawDiff(ctx context.Context, repoPath, commitID string, diffType RawDiffType, writer io.Writer) error { return GetRawDiffForFile(ctx, repoPath, "", commitID, diffType, "", writer) func GetRawDiff(repo *Repository, commitID string, diffType RawDiffType, writer io.Writer) error { return GetRepoRawDiffForFile(repo, "", commitID, diffType, "", writer) } // GetReverseRawDiff dumps the reverse diff results of repository in given commit ID to io.Writer.
-
@@ -46,17 +46,6 @@ func GetReverseRawDiff(ctx context.Context, repoPath, commitID string, writer ioreturn nil } // GetRawDiffForFile dumps diff results of file in given commit ID to io.Writer. func GetRawDiffForFile(ctx context.Context, repoPath, startCommit, endCommit string, diffType RawDiffType, file string, writer io.Writer) error { repo, closer, err := RepositoryFromContextOrOpen(ctx, repoPath) if err != nil { return fmt.Errorf("RepositoryFromContextOrOpen: %v", err) } defer closer.Close() return GetRepoRawDiffForFile(repo, startCommit, endCommit, diffType, file, writer) } // GetRepoRawDiffForFile dumps diff results of file in given commit ID to io.Writer according given repository func GetRepoRawDiffForFile(repo *Repository, startCommit, endCommit string, diffType RawDiffType, file string, writer io.Writer) error { commit, err := repo.GetCommit(endCommit)
-
-
-
@@ -11,7 +11,6 @@ import ("net/http" "strconv" repo_model "code.gitea.io/gitea/models/repo" user_model "code.gitea.io/gitea/models/user" "code.gitea.io/gitea/modules/context" "code.gitea.io/gitea/modules/convert"
-
@@ -268,17 +267,12 @@ func DownloadCommitDiffOrPatch(ctx *context.APIContext) {// "$ref": "#/responses/string" // "404": // "$ref": "#/responses/notFound" repoPath := repo_model.RepoPath(ctx.Repo.Owner.Name, ctx.Repo.Repository.Name) // TODO: use gitRepo from context if err := git.GetRawDiff( ctx, repoPath, ctx.Params(":sha"), git.RawDiffType(ctx.Params(":diffType")), ctx.Resp, ); err != nil { sha := ctx.Params(":sha") diffType := git.RawDiffType(ctx.Params(":diffType")) if err := git.GetRawDiff(ctx.Repo.GitRepo, sha, diffType, ctx.Resp); err != nil { if git.IsErrNotExist(err) { ctx.NotFound(ctx.Params(":sha")) ctx.NotFound(sha) return } ctx.Error(http.StatusInternalServerError, "DownloadCommitDiffOrPatch", err)
-
-
-
@@ -151,7 +151,7 @@ func CherryPickPost(ctx *context.Context) {return } } else { if err := git.GetRawDiff(ctx, ctx.Repo.Repository.RepoPath(), sha, git.RawDiffType("patch"), buf); err != nil { if err := git.GetRawDiff(ctx.Repo.GitRepo, sha, git.RawDiffType("patch"), buf); err != nil { if git.IsErrNotExist(err) { ctx.NotFound("GetRawDiff", errors.New("commit "+ctx.Params(":sha")+" does not exist.")) return
-
-
-
@@ -7,13 +7,13 @@ package repoimport ( "errors" "fmt" "net/http" "strings" "code.gitea.io/gitea/models" asymkey_model "code.gitea.io/gitea/models/asymkey" "code.gitea.io/gitea/models/db" repo_model "code.gitea.io/gitea/models/repo" user_model "code.gitea.io/gitea/models/user" "code.gitea.io/gitea/modules/base" "code.gitea.io/gitea/modules/charset"
-
@@ -381,15 +381,24 @@ func Diff(ctx *context.Context) {// RawDiff dumps diff results of repository in given commit ID to io.Writer func RawDiff(ctx *context.Context) { var repoPath string var gitRepo *git.Repository if ctx.Data["PageIsWiki"] != nil { repoPath = ctx.Repo.Repository.WikiPath() wikiRepo, err := git.OpenRepository(ctx, ctx.Repo.Repository.WikiPath()) if err != nil { ctx.ServerError("OpenRepository", err) return } defer wikiRepo.Close() gitRepo = wikiRepo } else { repoPath = repo_model.RepoPath(ctx.Repo.Owner.Name, ctx.Repo.Repository.Name) gitRepo = ctx.Repo.GitRepo if gitRepo == nil { ctx.ServerError("GitRepo not open", fmt.Errorf("no open git repo for '%s'", ctx.Repo.Repository.FullName())) return } } if err := git.GetRawDiff( ctx, repoPath, gitRepo, ctx.Params(":sha"), git.RawDiffType(ctx.Params(":ext")), ctx.Resp,
-