From f1df8baf96948caee20afb67b2d3d51fb7a054ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=95=E7=AB=A5=E5=B4=87?= <792998983@qq.com> Date: Tue, 8 Nov 2022 17:29:03 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9PR=E5=8F=91=E9=80=81=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/forge/Main/CoderDepot.jsx | 18 +++++++++++++----- src/forge/Main/tree/Index.jsx | 7 ++++++- src/forge/Merge/CreateMerge.js | 22 ++++++++++++++++------ src/forge/Merge/merge.js | 8 ++++++-- 4 files changed, 41 insertions(+), 14 deletions(-) diff --git a/src/forge/Main/CoderDepot.jsx b/src/forge/Main/CoderDepot.jsx index 830681199..6ae5fa02f 100644 --- a/src/forge/Main/CoderDepot.jsx +++ b/src/forge/Main/CoderDepot.jsx @@ -102,7 +102,6 @@ function CoderDepot(props){ } },[treeValue]) - useEffect(()=>{ if (projectsId && owner && defaultBranch){ let b = turnbar(branchName) ; @@ -334,6 +333,15 @@ function CoderDepot(props){ } } + // 如果项目是fork的项目,pr自动指向源仓库,否则指向本仓库默认分支 + function compare() { + if (projectDetail && projectDetail.fork_info) { + urlLink(`/${projectDetail.fork_info.fork_project_user_login}/${projectDetail.fork_info.fork_project_identifier}/compare/${turnbar(branchName || defaultBranch)}...${owner + ':' + turnbar(branchName || defaultBranch)}`) + } else { + urlLink(`/${owner}/${projectsId}/compare/${turnbar(defaultBranch)}...${turnbar(branchName || defaultBranch)}`); + } + } + let n = fileInfo && fileInfo.name; const mdFlag = n && n.substring(n.length-3,n.length) === ".md"; @@ -436,10 +444,10 @@ function CoderDepot(props){
- { - baseOperate && - urlLink(`/${owner}/${projectsId}/compare/${turnbar(branchName || defaultBranch)}...${turnbar(branchName || defaultBranch)}`)} >+ 合并请求 - } + { + baseOperate && + + 合并请求 + } { issuesFlag && + 疑修 diff --git a/src/forge/Main/tree/Index.jsx b/src/forge/Main/tree/Index.jsx index f7aa7bd8b..3f4bc0c06 100644 --- a/src/forge/Main/tree/Index.jsx +++ b/src/forge/Main/tree/Index.jsx @@ -85,7 +85,12 @@ function Index(props) {
{ (isManager || isDeveloper) && (projectDetail && projectDetail.type!==2) && - + 合并请求 + + 合并请求 } 下载 diff --git a/src/forge/Merge/CreateMerge.js b/src/forge/Merge/CreateMerge.js index 4ed3570d4..b81219faa 100644 --- a/src/forge/Merge/CreateMerge.js +++ b/src/forge/Merge/CreateMerge.js @@ -223,12 +223,22 @@ class CreateMerge extends Component { return false; } if(type === "merge" && mfilter){ - this.setState({ - showMessage: mergebranch, - defaultMessage: `目标分支不存在`, - isCompareSpin: false - }); - return false; + const {projectDetail,location,history}=this.props; + const { pullOwner, pullBranch, mergeOwner, mergeBranch, projectId } = + getBranchParams(location.pathname); + // 如果进来的第一次,查到目标分支不存在,自动切换到目标仓库默认分支 + if (pullOwner !== mergeOwner && pullBranch=== mergeBranch) { + let _url = `/${mergeOwner}/${projectId}/compare/${(projectDetail.default_branch)}...${pullOwner}:${(pullBranch)}`; + history.push(_url); + return false; + }else{ + this.setState({ + showMessage: mergebranch, + defaultMessage: `目标分支不存在`, + isCompareSpin: false + }); + return false; + } } return true; } diff --git a/src/forge/Merge/merge.js b/src/forge/Merge/merge.js index 172bfdbc4..0f6aeea4d 100644 --- a/src/forge/Merge/merge.js +++ b/src/forge/Merge/merge.js @@ -212,10 +212,14 @@ class merge extends Component { this.getIssueList(); }; checkOperation() { - const { defaultBranch } = this.props; + const { defaultBranch,projectDetail } = this.props; const { projectsId,owner } = this.props.match.params; let branch = turnbar(defaultBranch) || "master"; - this.props.history.push(`/${owner}/${projectsId}/compare/${branch}...${branch}`); + if (projectDetail && projectDetail.fork_info) { + this.props.history.push(`/${projectDetail.fork_info.fork_project_user_login}/${projectDetail.fork_info.fork_project_identifier}/compare/${branch}...${owner + ':' + branch}`) + } else { + this.props.history.push(`/${owner}/${projectsId}/compare/${branch}...${branch}`); + } } render() { const { projectsId , owner } = this.props.match.params;