diff options
Diffstat (limited to 'models/repo_editor.go')
-rw-r--r-- | models/repo_editor.go | 107 |
1 files changed, 61 insertions, 46 deletions
diff --git a/models/repo_editor.go b/models/repo_editor.go index 720e071625..692fe8c51b 100644 --- a/models/repo_editor.go +++ b/models/repo_editor.go @@ -155,27 +155,29 @@ func (repo *Repository) UpdateRepoFile(doer *User, opts UpdateRepoFileOptions) ( } // Simulate push event. - pushCommits := &PushCommits{ - Len: 1, - Commits: []*PushCommit{CommitToPushCommit(commit)}, - } oldCommitID := opts.LastCommitID if opts.NewBranch != opts.OldBranch { oldCommitID = git.EmptySHA } - if err := CommitRepoAction(CommitRepoActionOptions{ - PusherName: doer.Name, - RepoOwnerID: repo.MustOwner().ID, - RepoName: repo.Name, - RefFullName: git.BranchPrefix + opts.NewBranch, - OldCommitID: oldCommitID, - NewCommitID: commit.ID.String(), - Commits: pushCommits, - }); err != nil { - log.Error(4, "CommitRepoAction: %v", err) - return nil - } + if err = repo.GetOwner(); err != nil { + return fmt.Errorf("GetOwner: %v", err) + } + err = PushUpdate( + opts.NewBranch, + PushUpdateOptions{ + PusherID: doer.ID, + PusherName: doer.Name, + RepoUserName: repo.Owner.Name, + RepoName: repo.Name, + RefFullName: git.BranchPrefix + opts.NewBranch, + OldCommitID: oldCommitID, + NewCommitID: commit.ID.String(), + }, + ) + if err != nil { + return fmt.Errorf("PushUpdate: %v", err) + } return nil } @@ -295,23 +297,29 @@ func (repo *Repository) DeleteRepoFile(doer *User, opts DeleteRepoFileOptions) ( } // Simulate push event. - pushCommits := &PushCommits{ - Len: 1, - Commits: []*PushCommit{CommitToPushCommit(commit)}, - } - if err := CommitRepoAction(CommitRepoActionOptions{ - PusherName: doer.Name, - RepoOwnerID: repo.MustOwner().ID, - RepoName: repo.Name, - RefFullName: git.BranchPrefix + opts.NewBranch, - OldCommitID: opts.LastCommitID, - NewCommitID: commit.ID.String(), - Commits: pushCommits, - }); err != nil { - log.Error(4, "CommitRepoAction: %v", err) - return nil + oldCommitID := opts.LastCommitID + if opts.NewBranch != opts.OldBranch { + oldCommitID = git.EmptySHA } + if err = repo.GetOwner(); err != nil { + return fmt.Errorf("GetOwner: %v", err) + } + err = PushUpdate( + opts.NewBranch, + PushUpdateOptions{ + PusherID: doer.ID, + PusherName: doer.Name, + RepoUserName: repo.Owner.Name, + RepoName: repo.Name, + RefFullName: git.BranchPrefix + opts.NewBranch, + OldCommitID: oldCommitID, + NewCommitID: commit.ID.String(), + }, + ) + if err != nil { + return fmt.Errorf("PushUpdate: %v", err) + } return nil } @@ -534,21 +542,28 @@ func (repo *Repository) UploadRepoFiles(doer *User, opts UploadRepoFileOptions) } // Simulate push event. - pushCommits := &PushCommits{ - Len: 1, - Commits: []*PushCommit{CommitToPushCommit(commit)}, - } - if err := CommitRepoAction(CommitRepoActionOptions{ - PusherName: doer.Name, - RepoOwnerID: repo.MustOwner().ID, - RepoName: repo.Name, - RefFullName: git.BranchPrefix + opts.NewBranch, - OldCommitID: opts.LastCommitID, - NewCommitID: commit.ID.String(), - Commits: pushCommits, - }); err != nil { - log.Error(4, "CommitRepoAction: %v", err) - return nil + oldCommitID := opts.LastCommitID + if opts.NewBranch != opts.OldBranch { + oldCommitID = git.EmptySHA + } + + if err = repo.GetOwner(); err != nil { + return fmt.Errorf("GetOwner: %v", err) + } + err = PushUpdate( + opts.NewBranch, + PushUpdateOptions{ + PusherID: doer.ID, + PusherName: doer.Name, + RepoUserName: repo.Owner.Name, + RepoName: repo.Name, + RefFullName: git.BranchPrefix + opts.NewBranch, + OldCommitID: oldCommitID, + NewCommitID: commit.ID.String(), + }, + ) + if err != nil { + return fmt.Errorf("PushUpdate: %v", err) } return DeleteUploads(uploads...) |