Add "Update Branch" button to Pull Requests (#9784)
* add Divergence * add Update Button * first working version * re-use code * split raw merge commands and db-change functions (notify, cache, ...) * use rawMerge (remove redundant code) * own function to get Diverging of PRs * use FlashError * correct Error Msg * hook is triggerd ... so remove comment * add "branch2" to "user2/repo1" because it unit-test "TestPullView_ReviewerMissed" use it but dont exist jet :/ * move GetPerm to IsUserAllowedToUpdate * add Flash Success MSG * imprufe code - remove useless js chage * fix-lint * TEST: add PullRequest ID:5 Repo: user2/repo1 Base: branch1 Head: pr-to-update * correct comments * make PR5 outdated * fix Tests * WIP: add pull update test * update revs * update locales * working TEST * update UI * misspell * change style * add 1s delay so rev exist * move row up (before merge row) * fix lint nit * UI remove divider * Update style * nits * do it right * introduce IsSameRepo * remove useless check Co-authored-by: Lauris BH <lauris@nix.lv>
This commit is contained in:
parent
9f40bb020e
commit
36943e56d6
32 changed files with 489 additions and 68 deletions
|
@ -122,3 +122,15 @@
|
|||
created_unix: 946684830
|
||||
updated_unix: 999307200
|
||||
deadline_unix: 1019307200
|
||||
|
||||
-
|
||||
id: 11
|
||||
repo_id: 1
|
||||
index: 5
|
||||
poster_id: 1
|
||||
name: pull5
|
||||
content: content for the a pull request
|
||||
is_closed: false
|
||||
is_pull: true
|
||||
created_unix: 1579194806
|
||||
updated_unix: 1579194806
|
||||
|
|
|
@ -49,4 +49,17 @@
|
|||
head_branch: branch1
|
||||
base_branch: master
|
||||
merge_base: abcdef1234567890
|
||||
has_merged: false
|
||||
has_merged: false
|
||||
|
||||
-
|
||||
id: 5 # this PR is outdated (one commit behind branch1 )
|
||||
type: 0 # gitea pull request
|
||||
status: 2 # mergable
|
||||
issue_id: 11
|
||||
index: 5
|
||||
head_repo_id: 1
|
||||
base_repo_id: 1
|
||||
head_branch: pr-to-update
|
||||
base_branch: branch1
|
||||
merge_base: 1234567890abcdef
|
||||
has_merged: false
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
is_private: false
|
||||
num_issues: 2
|
||||
num_closed_issues: 1
|
||||
num_pulls: 2
|
||||
num_pulls: 3
|
||||
num_closed_pulls: 0
|
||||
num_milestones: 3
|
||||
num_closed_milestones: 1
|
||||
|
|
|
@ -276,8 +276,8 @@ func TestIssue_SearchIssueIDsByKeyword(t *testing.T) {
|
|||
|
||||
total, ids, err = SearchIssueIDsByKeyword("for", []int64{1}, 10, 0)
|
||||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, 4, total)
|
||||
assert.EqualValues(t, []int64{1, 2, 3, 5}, ids)
|
||||
assert.EqualValues(t, 5, total)
|
||||
assert.EqualValues(t, []int64{1, 2, 3, 5, 11}, ids)
|
||||
|
||||
// issue1's comment id 2
|
||||
total, ids, err = SearchIssueIDsByKeyword("good", []int64{1}, 10, 0)
|
||||
|
@ -305,8 +305,8 @@ func testInsertIssue(t *testing.T, title, content string) {
|
|||
assert.True(t, has)
|
||||
assert.EqualValues(t, issue.Title, newIssue.Title)
|
||||
assert.EqualValues(t, issue.Content, newIssue.Content)
|
||||
// there are 4 issues and max index is 4 on repository 1, so this one should 5
|
||||
assert.EqualValues(t, 5, newIssue.Index)
|
||||
// there are 5 issues and max index is 5 on repository 1, so this one should 6
|
||||
assert.EqualValues(t, 6, newIssue.Index)
|
||||
|
||||
_, err = x.ID(issue.ID).Delete(new(Issue))
|
||||
assert.NoError(t, err)
|
||||
|
|
|
@ -17,7 +17,7 @@ func Test_newIssueUsers(t *testing.T) {
|
|||
newIssue := &Issue{
|
||||
RepoID: repo.ID,
|
||||
PosterID: 4,
|
||||
Index: 5,
|
||||
Index: 6,
|
||||
Title: "newTestIssueTitle",
|
||||
Content: "newTestIssueContent",
|
||||
}
|
||||
|
|
|
@ -742,3 +742,8 @@ func (pr *PullRequest) IsHeadEqualWithBranch(branchName string) (bool, error) {
|
|||
}
|
||||
return baseCommit.HasPreviousCommit(headCommit.ID)
|
||||
}
|
||||
|
||||
// IsSameRepo returns true if base repo and head repo is the same
|
||||
func (pr *PullRequest) IsSameRepo() bool {
|
||||
return pr.BaseRepoID == pr.HeadRepoID
|
||||
}
|
||||
|
|
|
@ -61,10 +61,11 @@ func TestPullRequestsNewest(t *testing.T) {
|
|||
Labels: []string{},
|
||||
})
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, int64(2), count)
|
||||
if assert.Len(t, prs, 2) {
|
||||
assert.Equal(t, int64(2), prs[0].ID)
|
||||
assert.Equal(t, int64(1), prs[1].ID)
|
||||
assert.EqualValues(t, 3, count)
|
||||
if assert.Len(t, prs, 3) {
|
||||
assert.EqualValues(t, 5, prs[0].ID)
|
||||
assert.EqualValues(t, 2, prs[1].ID)
|
||||
assert.EqualValues(t, 1, prs[2].ID)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -77,10 +78,11 @@ func TestPullRequestsOldest(t *testing.T) {
|
|||
Labels: []string{},
|
||||
})
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, int64(2), count)
|
||||
if assert.Len(t, prs, 2) {
|
||||
assert.Equal(t, int64(1), prs[0].ID)
|
||||
assert.Equal(t, int64(2), prs[1].ID)
|
||||
assert.EqualValues(t, 3, count)
|
||||
if assert.Len(t, prs, 3) {
|
||||
assert.EqualValues(t, 1, prs[0].ID)
|
||||
assert.EqualValues(t, 2, prs[1].ID)
|
||||
assert.EqualValues(t, 5, prs[2].ID)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue