mirror of
				https://github.com/go-gitea/gitea
				synced 2025-10-31 03:18:24 +00:00 
			
		
		
		
	Change target branch for pull request (#6488)
* Adds functionality to change target branch of created pull requests Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Use const instead of var in JavaScript additions Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Check if branches are equal and if PR already exists before changing target branch Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Make sure to check all commits Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Print error messages for user as error flash message Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Disallow changing target branch of closed or merged pull requests Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Resolve conflicts after merge of upstream/master Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Change order of branch select fields Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Removes duplicate check Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Use ctx.Tr for translations Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Recompile JS Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Use correct translation namespace Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Remove redundant if condition Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Moves most change branch logic into pull service Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Completes comment Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Add Ref to ChangesPayload for logging changed target branches instead of creating a new struct Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Revert changes to go.mod Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Directly use createComment method Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Return 404 if pull request is not found. Move written check up Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Remove variable declaration Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Return client errors on change pull request target errors Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Return error in commit.HasPreviousCommit Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Adds blank line Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Test patch before persisting new target branch Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Update patch before testing (not working) Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Removes patch calls when changeing pull request target Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Removes unneeded check for base name Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Moves ChangeTargetBranch completely to pull service. Update patch status. Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Set webhook mode after errors were validated Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Update PR in one transaction Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Move logic for check if head is equal with branch to pull model Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Adds missing comment and simplify return Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Adjust CreateComment method call Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com>
This commit is contained in:
		
				
					committed by
					
						 Lunny Xiao
						Lunny Xiao
					
				
			
			
				
	
			
			
			
						parent
						
							59d6401486
						
					
				
				
					commit
					61db834904
				
			| @@ -731,27 +731,66 @@ function initRepository() { | ||||
|       $issueTitle.toggle(); | ||||
|       $('.not-in-edit').toggle(); | ||||
|       $('#edit-title-input').toggle(); | ||||
|       $('#pull-desc').toggle(); | ||||
|       $('#pull-desc-edit').toggle(); | ||||
|       $('.in-edit').toggle(); | ||||
|       $editInput.focus(); | ||||
|       return false; | ||||
|     }; | ||||
|  | ||||
|     const changeBranchSelect = function () { | ||||
|       const selectionTextField = $('#pull-target-branch'); | ||||
|  | ||||
|       const baseName = selectionTextField.data('basename'); | ||||
|       const branchNameNew = $(this).data('branch'); | ||||
|       const branchNameOld = selectionTextField.data('branch'); | ||||
|  | ||||
|       // Replace branch name to keep translation from HTML template | ||||
|       selectionTextField.html(selectionTextField.html().replace( | ||||
|         `${baseName}:${branchNameOld}`, | ||||
|         `${baseName}:${branchNameNew}` | ||||
|       )); | ||||
|       selectionTextField.data('branch', branchNameNew); // update branch name in setting | ||||
|     }; | ||||
|     $('#branch-select > .item').click(changeBranchSelect); | ||||
|  | ||||
|     $('#edit-title').click(editTitleToggle); | ||||
|     $('#cancel-edit-title').click(editTitleToggle); | ||||
|     $('#save-edit-title').click(editTitleToggle).click(function () { | ||||
|       const pullrequest_targetbranch_change = function (update_url) { | ||||
|         const targetBranch = $('#pull-target-branch').data('branch'); | ||||
|         const $branchTarget = $('#branch_target'); | ||||
|         if (targetBranch === $branchTarget.text()) { | ||||
|           return false; | ||||
|         } | ||||
|         $.post(update_url, { | ||||
|           _csrf: csrf, | ||||
|           target_branch: targetBranch | ||||
|         }) | ||||
|           .success((data) => { | ||||
|             $branchTarget.text(data.base_branch); | ||||
|           }) | ||||
|           .always(() => { | ||||
|             reload(); | ||||
|           }); | ||||
|       }; | ||||
|  | ||||
|       const pullrequest_target_update_url = $(this).data('target-update-url'); | ||||
|       if ($editInput.val().length === 0 || $editInput.val() === $issueTitle.text()) { | ||||
|         $editInput.val($issueTitle.text()); | ||||
|         return false; | ||||
|         pullrequest_targetbranch_change(pullrequest_target_update_url); | ||||
|       } else { | ||||
|         $.post($(this).data('update-url'), { | ||||
|           _csrf: csrf, | ||||
|           title: $editInput.val() | ||||
|         }, | ||||
|         (data) => { | ||||
|           $editInput.val(data.title); | ||||
|           $issueTitle.text(data.title); | ||||
|           pullrequest_targetbranch_change(pullrequest_target_update_url); | ||||
|           reload(); | ||||
|         }); | ||||
|       } | ||||
|  | ||||
|       $.post($(this).data('update-url'), { | ||||
|         _csrf: csrf, | ||||
|         title: $editInput.val() | ||||
|       }, | ||||
|       (data) => { | ||||
|         $editInput.val(data.title); | ||||
|         $issueTitle.text(data.title); | ||||
|         reload(); | ||||
|       }); | ||||
|       return false; | ||||
|     }); | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user