Update only the repository columns that need updating (#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> Co-authored-by: techknowlogick <techknowlogick@gitea.io>
This commit is contained in:
parent
7e5499575b
commit
037d5a33a0
|
@ -9,6 +9,7 @@ import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"fmt"
|
"fmt"
|
||||||
"strings"
|
"strings"
|
||||||
|
"time"
|
||||||
|
|
||||||
"code.gitea.io/gitea/models"
|
"code.gitea.io/gitea/models"
|
||||||
"code.gitea.io/gitea/modules/cache"
|
"code.gitea.io/gitea/modules/cache"
|
||||||
|
@ -291,6 +292,10 @@ func commitRepoAction(repo *models.Repository, gitRepo *git.Repository, optsList
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// 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
|
opType := models.ActionCommitRepo
|
||||||
|
@ -359,9 +364,9 @@ func commitRepoAction(repo *models.Repository, gitRepo *git.Repository, optsList
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Change repository empty status and update last updated time.
|
// Change repository 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)
|
return fmt.Errorf("UpdateRepositoryUpdatedTime: %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := models.NotifyWatchers(actions...); err != nil {
|
if err := models.NotifyWatchers(actions...); err != nil {
|
||||||
|
|
Loading…
Reference in New Issue