gitea/services/repository
Lunny Xiao 6e19484f4d
Sync branches into databases ()
Related 
Related  
Related 
Close 
Related  

This PR will change all the branches retrieve method from reading git
data to read database to reduce git read operations.

- [x] Sync git branches information into database when push git data
- [x] Create a new table `Branch`, merge some columns of `DeletedBranch`
into `Branch` table and drop the table `DeletedBranch`.
- [x] Read `Branch` table when visit `code` -> `branch` page
- [x] Read `Branch` table when list branch names in `code` page dropdown
- [x] Read `Branch` table when list git ref compare page
- [x] Provide a button in admin page to manually sync all branches.
- [x] Sync branches if repository is not empty but database branches are
empty when visiting pages with branches list
- [x] Use `commit_time desc` as the default FindBranch order by to keep
consistent as before and deleted branches will be always at the end.

---------

Co-authored-by: Jason Song <i@wolfogre.com>
..
archiver Refactor web package and context package ()
files Sync branches into databases ()
adopt.go Sync branches into databases ()
adopt_test.go Use more specific test methods ()
avatar.go Improve avatar uploading / resizing / compressing, remove Fomantic card module ()
avatar_test.go Use context parameter in services/repository ()
branch.go Sync branches into databases ()
cache.go Use the type RefName for all the needed places and fix pull mirror sync bugs ()
check.go Use RepositoryList instead of []*Repository ()
fork.go Sync branches into databases ()
fork_test.go Add option to prohibit fork if user reached maximum limit of repositories ()
hooks.go Add user webhooks ()
lfs.go Add cron method to gc LFS MetaObjects ()
main_test.go Implement FSFE REUSE for golang files ()
push.go Sync branches into databases ()
repository.go Sync branches into databases ()
repository_test.go refactor some functions to support ctx as first parameter ()
review.go Use context parameter in services/repository ()
review_test.go Use context parameter in services/repository ()
template.go Use context parameter in services/repository ()
transfer.go Use context parameter in services/repository ()
transfer_test.go Rename almost all Ctx functions ()