mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 16:40:24 +08: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
					
				
			
			
				
	
			
			
			
						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