mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2025-06-17 11:59:30 +00:00
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>
This commit is contained in:
parent
f36104e410
commit
141d52cc0f
9 changed files with 276 additions and 1 deletions
|
@ -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",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue