From 4999a66526c97fcc770f4aa011d805efe532bcd2 Mon Sep 17 00:00:00 2001 From: Enix Date: Wed, 24 Apr 2019 12:08:19 +0800 Subject: [PATCH] fix: handle detached HEAD --- src/utils/URLHelper.ts | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/src/utils/URLHelper.ts b/src/utils/URLHelper.ts index ca0da8b..884e9cb 100644 --- a/src/utils/URLHelper.ts +++ b/src/utils/URLHelper.ts @@ -60,15 +60,19 @@ function getCurrentPath(branchName = '') { // path = commit-SHA/path/to/item path.shift() } else { - // path = branch/name/path/to/item - const slicedBranchName = branchName.split('/') - while (slicedBranchName.length) { - if (slicedBranchName[0] === path[0]) { - slicedBranchName.shift() - path.shift() - } else { - raiseError(new Error(`branch name and path prefix not match`)) - return [] + // path = branch/name/path/to/item or HEAD/path/to/item + // HEAD is not a valid branch name. Coming up with HEAD, means currently detached. + if (path[0] === 'HEAD') path.shift() + else { + const slicedBranchName = branchName.split('/') + while (slicedBranchName.length) { + if (slicedBranchName[0] === path[0]) { + slicedBranchName.shift() + path.shift() + } else { + raiseError(new Error(`branch name and path prefix not match`)) + return [] + } } } }