diff options
author | Robert Speicher <robert@gitlab.com> | 2018-04-04 18:09:09 +0000 |
---|---|---|
committer | Robert Speicher <robert@gitlab.com> | 2018-04-04 18:09:09 +0000 |
commit | cb5bb4dbc67c5dd43bb7b27faf79ca79f8ae3e1f (patch) | |
tree | c1ad1f65b479b2a7a87ec72d22a243babee074de /app | |
parent | d5d7bcf8b7404a436c577e2b112aa59dc2901378 (diff) | |
parent | 097636575c7d1e85b16e4c4eb7d87ce74137d64f (diff) | |
download | gitlab-ce-cb5bb4dbc67c5dd43bb7b27faf79ca79f8ae3e1f.tar.gz |
Merge branch 'dm-flatten-tree-plus-chars' into 'master'
Fix links to subdirectories of a directory with a plus character in its path
Closes #44967
See merge request gitlab-org/gitlab-ce!18172
Diffstat (limited to 'app')
-rw-r--r-- | app/helpers/tree_helper.rb | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/app/helpers/tree_helper.rb b/app/helpers/tree_helper.rb index b64be89c181..5e7c20ef51e 100644 --- a/app/helpers/tree_helper.rb +++ b/app/helpers/tree_helper.rb @@ -123,7 +123,7 @@ module TreeHelper # returns the relative path of the first subdir that doesn't have only one directory descendant def flatten_tree(root_path, tree) - return tree.flat_path.sub(%r{\A#{root_path}/}, '') if tree.flat_path.present? + return tree.flat_path.sub(%r{\A#{Regexp.escape(root_path)}/}, '') if tree.flat_path.present? subtree = Gitlab::Git::Tree.where(@repository, @commit.id, tree.path) if subtree.count == 1 && subtree.first.dir? |