-
-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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 <[email protected]>
- Loading branch information
Showing
32 changed files
with
489 additions
and
68 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 2 additions & 0 deletions
2
integrations/gitea-repositories-meta/user2/repo1.git/info/refs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,3 @@ | ||
65f1bf27bc3bf70f64657658635e66094edbcb4d refs/heads/master | ||
985f0301dba5e7b34be866819cd15ad3d8f508ee refs/heads/branch2 | ||
62fb502a7172d4453f0322a2cc85bddffa57f07a refs/heads/pr-to-update |
Binary file added
BIN
+833 Bytes
...gitea-repositories-meta/user2/repo1.git/objects/5c/050d3b6d2db231ab1f64e324f1b6b9a0b181c2
Binary file not shown.
Binary file added
BIN
+839 Bytes
...gitea-repositories-meta/user2/repo1.git/objects/62/fb502a7172d4453f0322a2cc85bddffa57f07a
Binary file not shown.
Binary file added
BIN
+86 Bytes
...gitea-repositories-meta/user2/repo1.git/objects/6a/a3a5385611c5eb8986c9961a9c34a93cbaadfb
Binary file not shown.
Binary file added
BIN
+54 Bytes
...gitea-repositories-meta/user2/repo1.git/objects/7c/4df115542e05c700f297519e906fd63c9c9804
Binary file not shown.
Binary file added
BIN
+54 Bytes
...gitea-repositories-meta/user2/repo1.git/objects/94/922e1295c678267de1193b7b84ad8a086c27f9
Binary file not shown.
Binary file added
BIN
+842 Bytes
...gitea-repositories-meta/user2/repo1.git/objects/98/5f0301dba5e7b34be866819cd15ad3d8f508ee
Binary file not shown.
Binary file added
BIN
+76 Bytes
...gitea-repositories-meta/user2/repo1.git/objects/a6/9277c81e90b98a7c0ab25b042a6e296da8eb9a
Binary file not shown.
Binary file added
BIN
+61 Bytes
...gitea-repositories-meta/user2/repo1.git/objects/a7/57c0ea621e63d0fd6fc353a175fdc7199e5d1d
Binary file not shown.
Binary file added
BIN
+20 Bytes
...gitea-repositories-meta/user2/repo1.git/objects/b2/60587271671842af0b036e4fe643c9d45b7ddd
Binary file not shown.
1 change: 1 addition & 0 deletions
1
integrations/gitea-repositories-meta/user2/repo1.git/refs/heads/branch2
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
985f0301dba5e7b34be866819cd15ad3d8f508ee |
1 change: 1 addition & 0 deletions
1
integrations/gitea-repositories-meta/user2/repo1.git/refs/heads/pr-to-update
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
62fb502a7172d4453f0322a2cc85bddffa57f07a |
1 change: 1 addition & 0 deletions
1
integrations/gitea-repositories-meta/user2/repo1.git/refs/pull/2/head
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
4a357436d925b5c974181ff12a994538ddc5a269 |
1 change: 1 addition & 0 deletions
1
integrations/gitea-repositories-meta/user2/repo1.git/refs/pull/5/head
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
62fb502a7172d4453f0322a2cc85bddffa57f07a |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,136 @@ | ||
// Copyright 2020 The Gitea Authors. All rights reserved. | ||
// Use of this source code is governed by a MIT-style | ||
// license that can be found in the LICENSE file. | ||
|
||
package integrations | ||
|
||
import ( | ||
"fmt" | ||
"net/url" | ||
"testing" | ||
"time" | ||
|
||
"code.gitea.io/gitea/models" | ||
"code.gitea.io/gitea/modules/repofiles" | ||
repo_module "code.gitea.io/gitea/modules/repository" | ||
pull_service "code.gitea.io/gitea/services/pull" | ||
repo_service "code.gitea.io/gitea/services/repository" | ||
|
||
"github.com/stretchr/testify/assert" | ||
) | ||
|
||
func TestPullUpdate(t *testing.T) { | ||
onGiteaRun(t, func(t *testing.T, giteaURL *url.URL) { | ||
//Create PR to test | ||
user := models.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User) | ||
org26 := models.AssertExistsAndLoadBean(t, &models.User{ID: 26}).(*models.User) | ||
pr := createOutdatedPR(t, user, org26) | ||
|
||
//Test GetDiverging | ||
diffCount, err := pull_service.GetDiverging(pr) | ||
assert.NoError(t, err) | ||
assert.EqualValues(t, 1, diffCount.Behind) | ||
assert.EqualValues(t, 1, diffCount.Ahead) | ||
|
||
message := fmt.Sprintf("Merge branch '%s' into %s", pr.BaseBranch, pr.HeadBranch) | ||
err = pull_service.Update(pr, user, message) | ||
assert.NoError(t, err) | ||
|
||
//Test GetDiverging after update | ||
diffCount, err = pull_service.GetDiverging(pr) | ||
assert.NoError(t, err) | ||
assert.EqualValues(t, 0, diffCount.Behind) | ||
assert.EqualValues(t, 2, diffCount.Ahead) | ||
|
||
}) | ||
} | ||
|
||
func createOutdatedPR(t *testing.T, actor, forkOrg *models.User) *models.PullRequest { | ||
baseRepo, err := repo_service.CreateRepository(actor, actor, models.CreateRepoOptions{ | ||
Name: "repo-pr-update", | ||
Description: "repo-tmp-pr-update description", | ||
AutoInit: true, | ||
Gitignores: "C,C++", | ||
License: "MIT", | ||
Readme: "Default", | ||
IsPrivate: false, | ||
}) | ||
assert.NoError(t, err) | ||
assert.NotEmpty(t, baseRepo) | ||
|
||
headRepo, err := repo_module.ForkRepository(actor, forkOrg, baseRepo, "repo-pr-update", "desc") | ||
assert.NoError(t, err) | ||
assert.NotEmpty(t, headRepo) | ||
|
||
//create a commit on base Repo | ||
_, err = repofiles.CreateOrUpdateRepoFile(baseRepo, actor, &repofiles.UpdateRepoFileOptions{ | ||
TreePath: "File_A", | ||
Message: "Add File A", | ||
Content: "File A", | ||
IsNewFile: true, | ||
OldBranch: "master", | ||
NewBranch: "master", | ||
Author: &repofiles.IdentityOptions{ | ||
Name: actor.Name, | ||
Email: actor.Email, | ||
}, | ||
Committer: &repofiles.IdentityOptions{ | ||
Name: actor.Name, | ||
Email: actor.Email, | ||
}, | ||
Dates: &repofiles.CommitDateOptions{ | ||
Author: time.Now(), | ||
Committer: time.Now(), | ||
}, | ||
}) | ||
assert.NoError(t, err) | ||
|
||
//create a commit on head Repo | ||
_, err = repofiles.CreateOrUpdateRepoFile(headRepo, actor, &repofiles.UpdateRepoFileOptions{ | ||
TreePath: "File_B", | ||
Message: "Add File on PR branch", | ||
Content: "File B", | ||
IsNewFile: true, | ||
OldBranch: "master", | ||
NewBranch: "newBranch", | ||
Author: &repofiles.IdentityOptions{ | ||
Name: actor.Name, | ||
Email: actor.Email, | ||
}, | ||
Committer: &repofiles.IdentityOptions{ | ||
Name: actor.Name, | ||
Email: actor.Email, | ||
}, | ||
Dates: &repofiles.CommitDateOptions{ | ||
Author: time.Now(), | ||
Committer: time.Now(), | ||
}, | ||
}) | ||
assert.NoError(t, err) | ||
|
||
//create Pull | ||
pullIssue := &models.Issue{ | ||
RepoID: baseRepo.ID, | ||
Title: "Test Pull -to-update-", | ||
PosterID: actor.ID, | ||
Poster: actor, | ||
IsPull: true, | ||
} | ||
pullRequest := &models.PullRequest{ | ||
HeadRepoID: headRepo.ID, | ||
BaseRepoID: baseRepo.ID, | ||
HeadBranch: "newBranch", | ||
BaseBranch: "master", | ||
HeadRepo: headRepo, | ||
BaseRepo: baseRepo, | ||
Type: models.PullRequestGitea, | ||
} | ||
err = pull_service.NewPullRequest(baseRepo, pullIssue, nil, nil, pullRequest, nil) | ||
assert.NoError(t, err) | ||
|
||
issue := models.AssertExistsAndLoadBean(t, &models.Issue{Title: "Test Pull -to-update-"}).(*models.Issue) | ||
pr, err := models.GetPullRequestByIssueID(issue.ID) | ||
assert.NoError(t, err) | ||
|
||
return pr | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.