mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 21:28:11 +09:00 
			
		
		
		
	Only check for conflicts/merging if the PR has not been merged in the interim (#10132)
* Only check for merging if the PR has not been merged in the interim * fixup! Only check for merging if the PR has not been merged in the interim * Try to fix test failure * Use PR2 not PR1 in tests as PR1 merges automatically * return already merged error * enforce locking * enforce locking - fix-test * enforce locking - fix-testx2 * enforce locking - fix-testx3 * move pullrequest checking to after merge This might improve the chance that the race does not affect us but does not prevent it. * Remove minor race with getting merge commit id * fixup * move check pr after merge * Remove unnecessary prepareTestEnv - onGiteaRun does this for us * Add information about when merging occuring * fix fmt * More logging * Attempt to fix mysql * Try MySQL fix again * try again * Try again?! * Try again?! * Sigh * remove the count - perhaps that will help * next remove the update id * next remove the update id - make it updated_unix instead * On failure to merge ensure that the pr is rechecked for conflict errors * On failure to merge ensure that the pr is rechecked for conflict errors * Update models/pull.go * Update models/pull.go Co-Authored-By: guillep2k <18600385+guillep2k@users.noreply.github.com> * Apply suggestions from code review Co-Authored-By: guillep2k <18600385+guillep2k@users.noreply.github.com> Co-authored-by: Lauris BH <lauris@nix.lv> Co-authored-by: guillep2k <18600385+guillep2k@users.noreply.github.com>
This commit is contained in:
		| @@ -105,8 +105,6 @@ func TestPullRebase(t *testing.T) { | ||||
|  | ||||
| func TestPullRebaseMerge(t *testing.T) { | ||||
| 	onGiteaRun(t, func(t *testing.T, giteaURL *url.URL) { | ||||
| 		defer prepareTestEnv(t)() | ||||
|  | ||||
| 		hookTasks, err := models.HookTasks(1, 1) //Retrieve previous hook number | ||||
| 		assert.NoError(t, err) | ||||
| 		hookTasksLenBefore := len(hookTasks) | ||||
| @@ -129,8 +127,6 @@ func TestPullRebaseMerge(t *testing.T) { | ||||
|  | ||||
| func TestPullSquash(t *testing.T) { | ||||
| 	onGiteaRun(t, func(t *testing.T, giteaURL *url.URL) { | ||||
| 		defer prepareTestEnv(t)() | ||||
|  | ||||
| 		hookTasks, err := models.HookTasks(1, 1) //Retrieve previous hook number | ||||
| 		assert.NoError(t, err) | ||||
| 		hookTasksLenBefore := len(hookTasks) | ||||
| @@ -154,10 +150,9 @@ func TestPullSquash(t *testing.T) { | ||||
|  | ||||
| func TestPullCleanUpAfterMerge(t *testing.T) { | ||||
| 	onGiteaRun(t, func(t *testing.T, giteaURL *url.URL) { | ||||
| 		defer prepareTestEnv(t)() | ||||
| 		session := loginUser(t, "user1") | ||||
| 		testRepoFork(t, session, "user2", "repo1", "user1", "repo1") | ||||
| 		testEditFileToNewBranch(t, session, "user1", "repo1", "master", "feature/test", "README.md", "Hello, World (Edited)\n") | ||||
| 		testEditFileToNewBranch(t, session, "user1", "repo1", "master", "feature/test", "README.md", "Hello, World (Edited - TestPullCleanUpAfterMerge)\n") | ||||
|  | ||||
| 		resp := testPullCreate(t, session, "user1", "repo1", "feature/test", "This is a pull title") | ||||
|  | ||||
| @@ -190,7 +185,6 @@ func TestPullCleanUpAfterMerge(t *testing.T) { | ||||
|  | ||||
| func TestCantMergeWorkInProgress(t *testing.T) { | ||||
| 	onGiteaRun(t, func(t *testing.T, giteaURL *url.URL) { | ||||
| 		defer prepareTestEnv(t)() | ||||
| 		session := loginUser(t, "user1") | ||||
| 		testRepoFork(t, session, "user2", "repo1", "user1", "repo1") | ||||
| 		testEditFile(t, session, "user1", "repo1", "master", "README.md", "Hello, World (Edited)\n") | ||||
| @@ -212,7 +206,6 @@ func TestCantMergeWorkInProgress(t *testing.T) { | ||||
|  | ||||
| func TestCantMergeConflict(t *testing.T) { | ||||
| 	onGiteaRun(t, func(t *testing.T, giteaURL *url.URL) { | ||||
| 		defer prepareTestEnv(t)() | ||||
| 		session := loginUser(t, "user1") | ||||
| 		testRepoFork(t, session, "user2", "repo1", "user1", "repo1") | ||||
| 		testEditFileToNewBranch(t, session, "user1", "repo1", "master", "conflict", "README.md", "Hello, World (Edited Once)\n") | ||||
| @@ -258,7 +251,6 @@ func TestCantMergeConflict(t *testing.T) { | ||||
|  | ||||
| func TestCantMergeUnrelated(t *testing.T) { | ||||
| 	onGiteaRun(t, func(t *testing.T, giteaURL *url.URL) { | ||||
| 		defer prepareTestEnv(t)() | ||||
| 		session := loginUser(t, "user1") | ||||
| 		testRepoFork(t, session, "user2", "repo1", "user1", "repo1") | ||||
| 		testEditFileToNewBranch(t, session, "user1", "repo1", "master", "base", "README.md", "Hello, World (Edited Twice)\n") | ||||
|   | ||||
		Reference in New Issue
	
	Block a user