diff options
author | Douwe Maan <douwe@gitlab.com> | 2015-04-28 15:46:36 +0000 |
---|---|---|
committer | Douwe Maan <douwe@gitlab.com> | 2015-04-28 15:46:36 +0000 |
commit | 822ba95f75858a904d20779b0d27d7f5aee2d7b7 (patch) | |
tree | 1c45797ef303d65b41f6511ba9ef4f6afcc84237 | |
parent | 8140c6828905345ea510b23ee09e53f01a74f97d (diff) | |
parent | ef0055b52d85bb9f38c36303d2291ab2a29d0780 (diff) | |
download | gitlab-ce-822ba95f75858a904d20779b0d27d7f5aee2d7b7.tar.gz |
Merge branch 'fix-commit-data-url-generation' into 'master'
Fix bug where commit data would not appear in some subdirectories
Fix issue where commit data would not show up in some subdirectories due to escaped slashes. For example:
https://gitlab.common-lisp.net/ecl/ecl/tree/develop/src/gc (now patched with fix)
The upgrade from Rails v4.1.2 to v4.1.9 (76aad9b76ed) caused slashes in a tree to be escaped automatically. Using a wildcard glob in the route prevents this behavior.
* Closes #1478, #1459
* Closes https://github.com/gitlabhq/gitlabhq/issues/9037
See merge request !581
-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, 19 insertions, 1 deletions
diff --git a/CHANGELOG b/CHANGELOG index 33cf1c4378e..909f9972712 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -19,6 +19,8 @@ v 7.11.0 (unreleased) - Include commit comments in MR from a forked project. - Fix adding new group members from admin area - Add default project and snippet visibility settings to the admin web UI. + - + - 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 |