diff --git a/scm-ui/src/repos/sources/containers/Sources.js b/scm-ui/src/repos/sources/containers/Sources.js index 7e7dd504aa..cf072e958e 100644 --- a/scm-ui/src/repos/sources/containers/Sources.js +++ b/scm-ui/src/repos/sources/containers/Sources.js @@ -44,9 +44,9 @@ class Sources extends React.Component { let url; if (branch) { if (path) { - url = `${baseUrl}/${branch.name}/${path}`; + url = `${baseUrl}/${encodeURIComponent(branch.name)}/${path}`; } else { - url = `${baseUrl}/${branch.name}/`; + url = `${baseUrl}/${encodeURIComponent(branch.name)}/`; } } else { url = `${baseUrl}/`; @@ -98,6 +98,7 @@ class Sources extends React.Component { const mapStateToProps = (state, ownProps) => { const { repository, match } = ownProps; const { revision, path } = match.params; + const decodedRevision = revision ? decodeURIComponent(revision) : undefined; const loading = isFetchBranchesPending(state, repository); const error = getFetchBranchesFailure(state, repository); @@ -105,7 +106,7 @@ const mapStateToProps = (state, ownProps) => { return { repository, - revision, + revision: decodedRevision, path, loading, error, diff --git a/scm-ui/src/repos/sources/modules/sources.js b/scm-ui/src/repos/sources/modules/sources.js index fb606228a5..719770d75c 100644 --- a/scm-ui/src/repos/sources/modules/sources.js +++ b/scm-ui/src/repos/sources/modules/sources.js @@ -39,7 +39,7 @@ function createUrl(repository: Repository, revision: string, path: string) { // TODO handle trailing slash const pathDefined = path ? path : ""; - return `${base}${revision}/${pathDefined}`; + return `${base}${encodeURIComponent(revision)}/${pathDefined}`; } export function fetchSourcesPending(