This repository has been archived on 2024-01-04. You can view files and clone it, but cannot push or open issues or pull requests.
forgejo/modules/structs
Terence Le Huu Phuong 141d52cc0f
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>
2020-05-29 19:16:20 +01:00
..
admin_user.go
attachment.go
commit_status.go
doc.go
fork.go
git_blob.go
git_hook.go
hook.go
issue.go
issue_comment.go
issue_label.go
issue_milestone.go
issue_reaction.go
issue_stopwatch.go
issue_tracked_time.go
lfs_lock.go
miscellaneous.go
notifications.go
org.go
org_member.go
org_team.go
org_type.go
pull.go Fix API deadline removal (#8759) 2019-11-03 22:46:32 +08:00
pull_review.go
release.go
repo.go
repo_branch.go
repo_collaborator.go
repo_commit.go
repo_file.go
repo_key.go
repo_refs.go
repo_tag.go
repo_topic.go
repo_tree.go
repo_watch.go
status.go
task.go
user.go
user_app.go
user_email.go
user_gpgkey.go
user_key.go