summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDouwe Maan <douwe@gitlab.com>2015-04-28 15:46:36 +0000
committerDouwe Maan <douwe@gitlab.com>2015-04-28 15:46:36 +0000
commit822ba95f75858a904d20779b0d27d7f5aee2d7b7 (patch)
tree1c45797ef303d65b41f6511ba9ef4f6afcc84237
parent8140c6828905345ea510b23ee09e53f01a74f97d (diff)
parentef0055b52d85bb9f38c36303d2291ab2a29d0780 (diff)
downloadgitlab-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--CHANGELOG2
-rw-r--r--config/routes.rb2
-rw-r--r--spec/lib/extracts_path_spec.rb16
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