diff options
author | Rémy Coutable <remy@rymai.me> | 2016-08-11 16:03:09 +0300 |
---|---|---|
committer | Rémy Coutable <remy@rymai.me> | 2016-08-11 16:03:09 +0300 |
commit | a081b842f9b4e0205cf08656403e6bd9bf0d367f (patch) | |
tree | 9e0adad05236453ee98f6e739b4103a68e27cc41 /lib | |
parent | 2fee83376788574824192ff2ac417edc9adfadb4 (diff) | |
parent | 68cea38e94886e69099a3faa0d1e2fbde2e71899 (diff) |
Merge branch '10772-fix-urlencoded-branchname' into 'master'
Fix front-end for branches that happen to contain urlencoding escape characters (e.g. %)
_Originally opened at !3574 by @ewiltshi._
- - -
Adding a branch with a name like "foo%20bar" (via command-line) and setting it to the project's default branch causes the project "show" page to 404 for that project. "assign_ref_vars" unescapes the branch name ("foo%20bar" ==> "foo bar"), making GitLab look for a non-existent branch.
This MR adds logic to skip the URL unescaping step in "assign_ref_vars".
Fixes #10772, #14992, #15304.
## Does this MR meet the acceptance criteria?
- [x] [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CHANGELOG) entry added
- Tests
- [x] Added for this feature/bug
- [ ] All builds are passing
- [x] Conform by the [style guides](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md#style-guides)
- [x] Branch has no merge conflicts with `master` (if you do - rebase it please)
- [x] [Squashed related commits together](https://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits)
See merge request !5770
Diffstat (limited to 'lib')
-rw-r--r-- | lib/extracts_path.rb | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/extracts_path.rb b/lib/extracts_path.rb index 51e46da82cc..84688f6646e 100644 --- a/lib/extracts_path.rb +++ b/lib/extracts_path.rb @@ -94,7 +94,7 @@ module ExtractsPath @options = params.select {|key, value| allowed_options.include?(key) && !value.blank? } @options = HashWithIndifferentAccess.new(@options) - @id = Addressable::URI.unescape(get_id) + @id = Addressable::URI.normalize_component(get_id) @ref, @path = extract_ref(@id) @repo = @project.repository if @options[:extended_sha1].blank? |