diff options
Diffstat (limited to 'app/assets/javascripts/repository/utils/ref_switcher_utils.js')
-rw-r--r-- | app/assets/javascripts/repository/utils/ref_switcher_utils.js | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/app/assets/javascripts/repository/utils/ref_switcher_utils.js b/app/assets/javascripts/repository/utils/ref_switcher_utils.js index 8ff52104c93..f296b5e9b4a 100644 --- a/app/assets/javascripts/repository/utils/ref_switcher_utils.js +++ b/app/assets/javascripts/repository/utils/ref_switcher_utils.js @@ -17,6 +17,7 @@ const NAMESPACE_TARGET_REGEX = /(\/-\/(blob|tree))\/.*?\/(.*)/; */ export function generateRefDestinationPath(projectRootPath, selectedRef) { const currentPath = window.location.pathname; + const encodedHash = '%23'; let namespace = '/-/tree'; let target; const match = NAMESPACE_TARGET_REGEX.exec(currentPath); @@ -24,7 +25,12 @@ export function generateRefDestinationPath(projectRootPath, selectedRef) { [, namespace, , target] = match; } - const destinationPath = joinPaths(projectRootPath, namespace, selectedRef, target); + const destinationPath = joinPaths( + projectRootPath, + namespace, + encodeURI(selectedRef).replace(/#/g, encodedHash), + target, + ); return `${destinationPath}${window.location.hash}`; } |