aboutsummaryrefslogtreecommitdiffstats
path: root/modules/repofiles/update.go
diff options
context:
space:
mode:
Diffstat (limited to 'modules/repofiles/update.go')
-rw-r--r--modules/repofiles/update.go18
1 files changed, 16 insertions, 2 deletions
diff --git a/modules/repofiles/update.go b/modules/repofiles/update.go
index 66e3f2babc..569c89ac51 100644
--- a/modules/repofiles/update.go
+++ b/modules/repofiles/update.go
@@ -394,7 +394,8 @@ func CreateOrUpdateRepoFile(repo *models.Repository, doer *models.User, opts *Up
if err = repo.GetOwner(); err != nil {
return nil, fmt.Errorf("GetOwner: %v", err)
}
- err = models.PushUpdate(
+ err = PushUpdate(
+ repo,
opts.NewBranch,
models.PushUpdateOptions{
PusherID: doer.ID,
@@ -409,7 +410,6 @@ func CreateOrUpdateRepoFile(repo *models.Repository, doer *models.User, opts *Up
if err != nil {
return nil, fmt.Errorf("PushUpdate: %v", err)
}
- models.UpdateRepoIndexer(repo)
commit, err = t.GetCommit(commitHash)
if err != nil {
@@ -422,3 +422,17 @@ func CreateOrUpdateRepoFile(repo *models.Repository, doer *models.User, opts *Up
}
return file, nil
}
+
+// PushUpdate must be called for any push actions in order to
+// generates necessary push action history feeds and other operations
+func PushUpdate(repo *models.Repository, branch string, opts models.PushUpdateOptions) error {
+ err := models.PushUpdate(branch, opts)
+ if err != nil {
+ return fmt.Errorf("PushUpdate: %v", err)
+ }
+
+ if opts.RefFullName == git.BranchPrefix+repo.DefaultBranch {
+ models.UpdateRepoIndexer(repo)
+ }
+ return nil
+}