diff options
Diffstat (limited to 'modules/repofiles/update.go')
-rw-r--r-- | modules/repofiles/update.go | 18 |
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 +} |