summaryrefslogtreecommitdiffstats
path: root/templates
diff options
context:
space:
mode:
authorTerence Le Huu Phuong <32878496+tle-huu@users.noreply.github.com>2020-05-29 20:16:20 +0200
committerGitHub <noreply@github.com>2020-05-29 19:16:20 +0100
commit141d52cc0f356776bd6fa538dbda276c3ba44118 (patch)
tree103a5fe90e0bb23134e49bf784d566e6f9968728 /templates
parentf36104e410b3ed6b269d3b8ffb7f5247125171b6 (diff)
downloadgitea-141d52cc0f356776bd6fa538dbda276c3ba44118.tar.gz
gitea-141d52cc0f356776bd6fa538dbda276c3ba44118.zip
Add API Endpoint for Branch Creation (#11607)
* [FEATURE] [API] Add Endpoint for Branch Creation Issue: https://github.com/go-gitea/gitea/issues/11376 This commit introduces an API endpoint for branch creation. The added route is POST /repos/{owner}/{repo}/branches. A JSON with the name of the new branch and the name of the old branch is required as parameters. Signed-off-by: Terence Le Huu Phuong <terence@qwasar.io> * Put all the logic into CreateBranch and removed CreateRepoBranch * - Added the error ErrBranchDoesNotExist in error.go - Made the CreateNewBranch function return an errBranchDoesNotExist error when the OldBranch does not exist - Made the CreateBranch API function checks that the repository is not empty and that branch exists. * - Added a resetFixtures helper function in integration_test.go to fine-tune test env resetting - Added api test for CreateBranch - Used resetFixture instead of the more general prepareTestEnv in the repo_branch_test CreateBranch tests * Moved the resetFixtures call inside the loop for APICreateBranch function * Put the prepareTestEnv back in repo_branch_test * fix import order/sort api branch test Co-authored-by: zeripath <art27@cantab.net>
Diffstat (limited to 'templates')
-rw-r--r--templates/swagger/v1_json.tmpl69
1 files changed, 69 insertions, 0 deletions
diff --git a/templates/swagger/v1_json.tmpl b/templates/swagger/v1_json.tmpl
index 0cbe33bd24..70f12b083f 100644
--- a/templates/swagger/v1_json.tmpl
+++ b/templates/swagger/v1_json.tmpl
@@ -2241,6 +2241,53 @@
"$ref": "#/responses/BranchList"
}
}
+ },
+ "post": {
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "tags": [
+ "repository"
+ ],
+ "summary": "Create a branch",
+ "operationId": "repoCreateBranch",
+ "parameters": [
+ {
+ "type": "string",
+ "description": "owner of the repo",
+ "name": "owner",
+ "in": "path",
+ "required": true
+ },
+ {
+ "type": "string",
+ "description": "name of the repo",
+ "name": "repo",
+ "in": "path",
+ "required": true
+ },
+ {
+ "name": "body",
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/CreateBranchRepoOption"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "$ref": "#/responses/Branch"
+ },
+ "404": {
+ "description": "The old branch does not exist."
+ },
+ "409": {
+ "description": "The branch with the same name already exists."
+ }
+ }
}
},
"/repos/{owner}/{repo}/branches/{branch}": {
@@ -10886,6 +10933,28 @@
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
+ "CreateBranchRepoOption": {
+ "description": "CreateBranchRepoOption options when creating a branch in a repository",
+ "type": "object",
+ "required": [
+ "new_branch_name"
+ ],
+ "properties": {
+ "new_branch_name": {
+ "description": "Name of the branch to create",
+ "type": "string",
+ "uniqueItems": true,
+ "x-go-name": "BranchName"
+ },
+ "old_branch_name": {
+ "description": "Name of the old branch to create from",
+ "type": "string",
+ "uniqueItems": true,
+ "x-go-name": "OldBranchName"
+ }
+ },
+ "x-go-package": "code.gitea.io/gitea/modules/structs"
+ },
"CreateEmailOption": {
"description": "CreateEmailOption options when creating email addresses",
"type": "object",