diff options
author | Douwe Maan <douwe@gitlab.com> | 2016-05-20 19:56:23 +0000 |
---|---|---|
committer | Douwe Maan <douwe@gitlab.com> | 2016-05-20 19:56:23 +0000 |
commit | f9cf65a6c4c8dfb94636f95fffa3ffa7176a31ef (patch) | |
tree | 9fce9092767789ff5600cd1cda4676871e58c078 | |
parent | 5d031c868a503300a23d2119b6183f263b735f04 (diff) | |
parent | ce3958ebae0332ddc295c7fe234b6a8af6f25da8 (diff) | |
download | gitlab-ce-f9cf65a6c4c8dfb94636f95fffa3ffa7176a31ef.tar.gz |
Merge branch 'rs-issue-3055' into 'master'
Use extended regexp flag for `git grep`-ing files
Closes #3055
See merge request !4203
-rw-r--r-- | app/models/repository.rb | 2 | ||||
-rw-r--r-- | spec/models/repository_spec.rb | 6 |
2 files changed, 7 insertions, 1 deletions
diff --git a/app/models/repository.rb b/app/models/repository.rb index 3716ea6ad6c..ca62fbbdf04 100644 --- a/app/models/repository.rb +++ b/app/models/repository.rb @@ -854,7 +854,7 @@ class Repository def search_files(query, ref) offset = 2 - args = %W(#{Gitlab.config.git.bin_path} grep -i -I -n --before-context #{offset} --after-context #{offset} -e #{Regexp.escape(query)} #{ref || root_ref}) + args = %W(#{Gitlab.config.git.bin_path} grep -i -I -n --before-context #{offset} --after-context #{offset} -E -e #{Regexp.escape(query)} #{ref || root_ref}) Gitlab::Popen.popen(args, path_to_repo).first.scrub.split(/^--$/) end diff --git a/spec/models/repository_spec.rb b/spec/models/repository_spec.rb index 34a13f9b5c9..7c94f3639d4 100644 --- a/spec/models/repository_spec.rb +++ b/spec/models/repository_spec.rb @@ -100,6 +100,12 @@ describe Repository, models: true do expect(results.first).not_to start_with('fatal:') end + it 'properly handles an unmatched parenthesis' do + results = repository.search_files("test(", 'master') + + expect(results.first).not_to start_with('fatal:') + end + describe 'result' do subject { results.first } |