aboutsummaryrefslogtreecommitdiffstats
path: root/models
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 /models
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 'models')
-rw-r--r--models/error.go15
1 files changed, 15 insertions, 0 deletions
diff --git a/models/error.go b/models/error.go
index 3b05a7152c..e9343cbe7c 100644
--- a/models/error.go
+++ b/models/error.go
@@ -995,6 +995,21 @@ func IsErrWontSign(err error) bool {
// |______ / |__| (____ /___| /\___ >___| /
// \/ \/ \/ \/ \/
+// ErrBranchDoesNotExist represents an error that branch with such name does not exist.
+type ErrBranchDoesNotExist struct {
+ BranchName string
+}
+
+// IsErrBranchDoesNotExist checks if an error is an ErrBranchDoesNotExist.
+func IsErrBranchDoesNotExist(err error) bool {
+ _, ok := err.(ErrBranchDoesNotExist)
+ return ok
+}
+
+func (err ErrBranchDoesNotExist) Error() string {
+ return fmt.Sprintf("branch does not exist [name: %s]", err.BranchName)
+}
+
// ErrBranchAlreadyExists represents an error that branch with such name already exists.
type ErrBranchAlreadyExists struct {
BranchName string