aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzeripath2020-09-21 02:06:23 +0100
committerGitHub2020-09-21 09:06:23 +0800
commit09178300b0569d18aae5f4f24f4f45ee096e8fe8 (patch)
tree8389fbf13214b29fa28215882c037347417d3974
parent23aae3274a89fbefc8a02761fc5b4544981e6028 (diff)
Update only the repository columns that need updating (#12900) (#12912)
Backport #12900 We should only update is_empty, default_branch and updated time columns during commitRepoAction and not update other columns as we risk overwriting incorrect information. Fix #11823 Fix #10536 Signed-off-by: Andrew Thornton <art27@cantab.net>
-rw-r--r--modules/repofiles/action.go9
1 files changed, 7 insertions, 2 deletions
diff --git a/modules/repofiles/action.go b/modules/repofiles/action.go
index 44ca285ef..dfef5d55b 100644
--- a/modules/repofiles/action.go
+++ b/modules/repofiles/action.go
@@ -8,6 +8,7 @@ import (
"encoding/json"
"fmt"
"html"
+ "time"
"code.gitea.io/gitea/models"
"code.gitea.io/gitea/modules/git"
@@ -176,7 +177,7 @@ func CommitRepoAction(optsList ...*CommitRepoActionOptions) error {
var err error
if repo != nil {
// Change repository empty status and update last updated time.
- if err := models.UpdateRepository(repo, false); err != nil {
+ if err := models.UpdateRepositoryUpdatedTime(repo.ID, time.Now()); err != nil {
return fmt.Errorf("UpdateRepository: %v", err)
}
}
@@ -204,6 +205,10 @@ func CommitRepoAction(optsList ...*CommitRepoActionOptions) error {
}
gitRepo.Close()
}
+ // Update the is empty and default_branch columns
+ if err := models.UpdateRepositoryCols(repo, "default_branch", "is_empty"); err != nil {
+ return fmt.Errorf("UpdateRepositoryCols: %v", err)
+ }
}
opType := models.ActionCommitRepo
@@ -274,7 +279,7 @@ func CommitRepoAction(optsList ...*CommitRepoActionOptions) error {
if repo != nil {
// Change repository empty status and update last updated time.
- if err := models.UpdateRepository(repo, false); err != nil {
+ if err := models.UpdateRepositoryUpdatedTime(repo.ID, time.Now()); err != nil {
return fmt.Errorf("UpdateRepository: %v", err)
}
}