| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- // Copyright 2021 The Gitea Authors. All rights reserved.
- // SPDX-License-Identifier: MIT
-
- package repo
-
- import (
- "net/http"
-
- api "code.gitea.io/gitea/modules/structs"
- "code.gitea.io/gitea/modules/util"
- "code.gitea.io/gitea/services/context"
- "code.gitea.io/gitea/services/repository/files"
- )
-
- // ApplyDiffPatch handles API call for applying a patch
- func ApplyDiffPatch(ctx *context.APIContext) {
- // swagger:operation POST /repos/{owner}/{repo}/diffpatch repository repoApplyDiffPatch
- // ---
- // summary: Apply diff patch to repository
- // consumes:
- // - application/json
- // produces:
- // - application/json
- // parameters:
- // - name: owner
- // in: path
- // description: owner of the repo
- // type: string
- // required: true
- // - name: repo
- // in: path
- // description: name of the repo
- // type: string
- // required: true
- // - name: body
- // in: body
- // required: true
- // schema:
- // "$ref": "#/definitions/UpdateFileOptions"
- // responses:
- // "200":
- // "$ref": "#/responses/FileResponse"
- // "404":
- // "$ref": "#/responses/notFound"
- // "423":
- // "$ref": "#/responses/repoArchivedError"
- apiOpts, changeRepoFileOpts := getAPIChangeRepoFileOptions[*api.ApplyDiffPatchFileOptions](ctx)
- opts := &files.ApplyDiffPatchOptions{
- Content: apiOpts.Content,
- Message: util.IfZero(apiOpts.Message, "apply-patch"),
-
- OldBranch: changeRepoFileOpts.OldBranch,
- NewBranch: changeRepoFileOpts.NewBranch,
- Committer: changeRepoFileOpts.Committer,
- Author: changeRepoFileOpts.Author,
- Dates: changeRepoFileOpts.Dates,
- Signoff: changeRepoFileOpts.Signoff,
- }
-
- fileResponse, err := files.ApplyDiffPatch(ctx, ctx.Repo.Repository, ctx.Doer, opts)
- if err != nil {
- handleChangeRepoFilesError(ctx, err)
- } else {
- ctx.JSON(http.StatusCreated, fileResponse)
- }
- }
|