You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gitea/models
Lunny Xiao aeb383025f
Also sync DB branches on push if necessary (#28361)
Fix #28056 

This PR will check whether the repo has zero branch when pushing a
branch. If that, it means this repository hasn't been synced.

The reason caused that is after user upgrade from v1.20 -> v1.21, he
just push branches without visit the repository user interface. Because
all repositories routers will check whether a branches sync is necessary
but push has not such check.

For every repository, it has two states, synced or not synced. If there
is zero branch for a repository, then it will be assumed as non-sync
state. Otherwise, it's synced state. So if we think it's synced, we just
need to update branch/insert new branch. Otherwise do a full sync. So
that, for every push, there will be almost no extra load added. It's
high performance than yours.

For the implementation, we in fact will try to update the branch first,
if updated success with affect records > 0, then all are done. Because
that means the branch has been in the database. If no record is
affected, that means the branch does not exist in database. So there are
two possibilities. One is this is a new branch, then we just need to
insert the record. Another is the branches haven't been synced, then we
need to sync all the branches into database.
1 year ago
..
actions Fix incorrect run order of action jobs (#28367) 1 year ago
activities Use db.Find instead of writing methods for every object (#28084) 1 year ago
admin Next round of `db.DefaultContext` refactor (#27089) 1 year ago
asymkey Remove GetByBean method because sometimes it's danger when query condition parameter is zero and also introduce new generic methods (#28220) 1 year ago
auth Remove GetByBean method because sometimes it's danger when query condition parameter is zero and also introduce new generic methods (#28220) 1 year ago
avatars Final round of `db.DefaultContext` refactor (#27587) 1 year ago
db Remove GetByBean method because sometimes it's danger when query condition parameter is zero and also introduce new generic methods (#28220) 1 year ago
dbfs make writing main test easier (#27270) 1 year ago
fixtures Fix comment permissions (#28213) 1 year ago
git Also sync DB branches on push if necessary (#28361) 1 year ago
issues Remove GetByBean method because sometimes it's danger when query condition parameter is zero and also introduce new generic methods (#28220) 1 year ago
migrations handle repository.size column being NULL in migration v263 (#28336) 1 year ago
organization Remove GetByBean method because sometimes it's danger when query condition parameter is zero and also introduce new generic methods (#28220) 1 year ago
packages Revert "packages: Calculate package size quota using package creator ID instead of owner ID (#28007)" (#28049) 1 year ago
perm Remove GetByBean method because sometimes it's danger when query condition parameter is zero and also introduce new generic methods (#28220) 1 year ago
project Fix comment permissions (#28213) 1 year ago
pull Add Index to pull_auto_merge.doer_id (#27811) 1 year ago
repo Fix comment permissions (#28213) 1 year ago
secret Use db.Find instead of writing methods for every object (#28084) 1 year ago
shared/types Display owner of a runner as a tooltip instead of static text (#24377) 2 years ago
system Remove GetByBean method because sometimes it's danger when query condition parameter is zero and also introduce new generic methods (#28220) 1 year ago
unit Make actions default enabled for newly created repository if global configuraion enabled (#27482) 1 year ago
unittest Upgrade xorm (#27673) 1 year ago
user Remove GetByBean method because sometimes it's danger when query condition parameter is zero and also introduce new generic methods (#28220) 1 year ago
webhook Remove GetByBean method because sometimes it's danger when query condition parameter is zero and also introduce new generic methods (#28220) 1 year ago
error.go Sync branches into databases (#22743) 2 years ago
fixture_generation.go Replace more db.DefaultContext (#27628) 1 year ago
fixture_test.go Replace more db.DefaultContext (#27628) 1 year ago
main_test.go make writing main test easier (#27270) 1 year ago
org.go Refactor the function RemoveOrgUser (#27582) 1 year ago
org_team.go Remove GetByBean method because sometimes it's danger when query condition parameter is zero and also introduce new generic methods (#28220) 1 year ago
org_team_test.go Reduce usage of `db.DefaultContext` (#27073) 1 year ago
org_test.go Replace more db.DefaultContext (#27628) 1 year ago
repo.go Penultimate round of `db.DefaultContext` refactor (#27414) 1 year ago
repo_test.go Penultimate round of `db.DefaultContext` refactor (#27414) 1 year ago
repo_transfer.go Next round of `db.DefaultContext` refactor (#27089) 1 year ago
repo_transfer_test.go Next round of `db.DefaultContext` refactor (#27089) 1 year ago