summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStan Hu <stanhu@gmail.com>2016-05-03 21:32:49 -0700
committerStan Hu <stanhu@gmail.com>2016-05-04 14:06:07 -0700
commit75523d1df91cc871847a00cad4e5e1d44278a647 (patch)
tree47479fc70996c167438f89795d3d7353c66782e4
parent8be1118aa528dff6787fdab7fbde7261a012c418 (diff)
downloadgitlab-ce-75523d1df91cc871847a00cad4e5e1d44278a647.tar.gz
Sanitize repo paths in new project error message
Closes #17243
-rw-r--r--CHANGELOG1
-rw-r--r--app/helpers/projects_helper.rb6
-rw-r--r--app/views/projects/imports/new.html.haml2
-rw-r--r--spec/helpers/projects_helper_spec.rb9
4 files changed, 17 insertions, 1 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 25d26535b72..e5dc5e5d4a5 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -3,6 +3,7 @@ Please view this file on the master branch, on stable branches it's out of date.
v 8.8.0 (unreleased)
- Project#open_branches has been cleaned up and no longer loads entire records into memory.
- Make build status canceled if any of the jobs was canceled and none failed
+ - Sanitize repo paths in new project error message
- Remove future dates from contribution calendar graph.
- Support e-mail notifications for comments on project snippets
- Use ActionDispatch Remote IP for Akismet checking
diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb
index 3d5e61d2c18..3720b0085e5 100644
--- a/app/helpers/projects_helper.rb
+++ b/app/helpers/projects_helper.rb
@@ -341,4 +341,10 @@ module ProjectsHelper
)
end
end
+
+ def sanitize_repo_path(message)
+ return '' unless message.present?
+
+ message.strip.gsub(Gitlab.config.gitlab_shell.repos_path.chomp('/'), "[REPOS PATH]")
+ end
end
diff --git a/app/views/projects/imports/new.html.haml b/app/views/projects/imports/new.html.haml
index 6027fb23360..a8a8caf7280 100644
--- a/app/views/projects/imports/new.html.haml
+++ b/app/views/projects/imports/new.html.haml
@@ -10,7 +10,7 @@
.panel-body
%pre
:preserve
- #{@project.import_error.try(:strip)}
+ #{sanitize_repo_path(@project.import_error)}
= form_for @project, url: namespace_project_import_path(@project.namespace, @project), method: :post, html: { class: 'form-horizontal' } do |f|
= render "shared/import_form", f: f
diff --git a/spec/helpers/projects_helper_spec.rb b/spec/helpers/projects_helper_spec.rb
index 62389188d2c..29bcb8c5892 100644
--- a/spec/helpers/projects_helper_spec.rb
+++ b/spec/helpers/projects_helper_spec.rb
@@ -131,4 +131,13 @@ describe ProjectsHelper do
end
end
end
+
+ describe '#sanitized_import_error' do
+ it 'removes the repo path' do
+ repo = File.join(Gitlab.config.gitlab_shell.repos_path, '/namespace/test.git')
+ import_error = "Could not clone #{repo}\n"
+
+ expect(sanitize_repo_path(import_error)).to eq('Could not clone [REPOS PATH]/namespace/test.git')
+ end
+ end
end