diff options
author | Stan Hu <stanhu@gmail.com> | 2015-04-26 21:46:27 -0700 |
---|---|---|
committer | Stan Hu <stanhu@gmail.com> | 2015-04-26 23:52:40 -0700 |
commit | ef0055b52d85bb9f38c36303d2291ab2a29d0780 (patch) | |
tree | 62d36d392c6839c606d611cdb50927129c7bf115 | |
parent | 439b9f50af3168d33169a4cd25b59e45ea46dc62 (diff) | |
download | gitlab-ce-ef0055b52d85bb9f38c36303d2291ab2a29d0780.tar.gz |
Fix bug where commit data would not appear in some subdirectories
The upgrade from Rails v4.1.2 to v4.1.9 (76aad9b76ed) caused slashes in a tree to be escaped automatically.
Using wildcard globs prevents this behavior.
Closes #1478, #1459
-rw-r--r-- | CHANGELOG | 2 | ||||
-rw-r--r-- | config/routes.rb | 2 | ||||
-rw-r--r-- | spec/lib/extracts_path_spec.rb | 16 |
3 files changed, 18 insertions, 2 deletions
diff --git a/CHANGELOG b/CHANGELOG index 92ae6767ea2..e0c4033c3bf 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -16,7 +16,7 @@ v 7.11.0 (unreleased) - Don't crash when an MR from a fork has a cross-reference comment from the target project on of its commits. - Include commit comments in MR from a forked project. - - - + - Fix bug where commit data would not appear in some subdirectories (Stan Hu) - Fix bug where Slack service channel was not saved in admin template settings. (Stan Hu) - Move snippets UI to fluid layout - Improve UI for sidebar. Increase separation between navigation and content diff --git a/config/routes.rb b/config/routes.rb index e059f5830f5..4b38dede7b4 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -435,7 +435,7 @@ Gitlab::Application.routes.draw do member do # tree viewer logs get 'logs_tree', constraints: { id: Gitlab::Regex.git_reference_regex } - get 'logs_tree/:path' => 'refs#logs_tree', as: :logs_file, constraints: { + get 'logs_tree/*path' => 'refs#logs_tree', as: :logs_file, constraints: { id: Gitlab::Regex.git_reference_regex, path: /.*/ } diff --git a/spec/lib/extracts_path_spec.rb b/spec/lib/extracts_path_spec.rb index ac602eac154..05bcebaa3a2 100644 --- a/spec/lib/extracts_path_spec.rb +++ b/spec/lib/extracts_path_spec.rb @@ -2,6 +2,8 @@ require 'spec_helper' describe ExtractsPath do include ExtractsPath + include RepoHelpers + include Rails.application.routes.url_helpers let(:project) { double('project') } @@ -11,6 +13,20 @@ describe ExtractsPath do project.stub(path_with_namespace: 'gitlab/gitlab-ci') end + describe '#assign_ref' do + let(:ref) { sample_commit[:id] } + let(:params) { {path: sample_commit[:line_code_path], ref: ref} } + + before do + @project = create(:project) + end + + it "log tree path should have no escape sequences" do + assign_ref_vars + expect(@logs_path).to eq("/#{@project.path_with_namespace}/refs/#{ref}/logs_tree/files/ruby/popen.rb") + end + end + describe '#extract_ref' do it "returns an empty pair when no @project is set" do @project = nil |