From 55ce652610df2bc72e984bb11922432276f60d01 Mon Sep 17 00:00:00 2001 From: Enix Date: Thu, 20 Sep 2018 10:33:46 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20handle=20projects=20not=20set=20?= =?UTF-8?q?=E2=80=98master=E2=80=99=20as=20default=20branch?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/driver/core/SideBar.js | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/src/driver/core/SideBar.js b/src/driver/core/SideBar.js index 489698c..24c1686 100644 --- a/src/driver/core/SideBar.js +++ b/src/driver/core/SideBar.js @@ -12,16 +12,29 @@ const init = dispatch => async () => { dispatch(setMetaData, metaData) const { access_token: accessToken, shortcut, compressSingletonFolder } = await configHelper.get() dispatch({ accessToken, toggleShowSideBarShortcut: shortcut, compressSingletonFolder }) - const aggressivelyGotTreeData = GitHubHelper.getTreeData({ + const defaultBranchName = 'master' + let aggressivelyGotTreeData = GitHubHelper.getTreeData({ ...metaData, - branchName: metaData.branchName || 'master', + branchName: metaData.branchName || defaultBranchName, accessToken, }).catch(err => { nothingWentWrong = false dispatch(handleError, err) }) const metaDataFromAPI = await GitHubHelper.getRepoMeta({ ...metaData, accessToken }) - const branchName = metaData.branchName || metaDataFromAPI['default_branch'] + const projectDefaultBranchName = metaDataFromAPI['default_branch'] + if (!metaData.branchName) { + // User accessed repo's homepage(no branch name in URL) and we predicted its default branch to be 'master' + if (projectDefaultBranchName !== defaultBranchName) { + // And the repo do not use {defaultBranchName} as default branch, + aggressivelyGotTreeData = GitHubHelper.getTreeData({ + ...metaData, + branchName: projectDefaultBranchName, + accessToken, + }) + } + } + const branchName = metaData.branchName || projectDefaultBranchName Object.assign(metaData, { branchName, api: metaDataFromAPI }) dispatch(setMetaData, metaData) const shouldShow = URLHelper.isInCodePage(metaData)