diff options
author | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2016-01-23 18:11:08 +0000 |
---|---|---|
committer | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2016-01-23 18:11:08 +0000 |
commit | dc78ee4e8b4911edf04949e2aa036997623d60ae (patch) | |
tree | 4e5cf467c754ce8052a30aee4d856665548b2bc5 /app | |
parent | fb3e1026e8d1bbdf1b6714648ddc907a5ad9cfe7 (diff) | |
parent | 5972dedfcfda1826617092b018e68757c18d995a (diff) | |
download | gitlab-ce-dc78ee4e8b4911edf04949e2aa036997623d60ae.tar.gz |
Merge branch 'ignore-binary-files-in-git-grep' into 'master'
Ignore binary files in code search to prevent Error 500
Leaving out the -I option in "git grep" would cause an Error 500 because the
resulting line would include "Binary file X matches", which would cause the project search results to crash with the following error:
```
ActionView::Template::Error (wrong argument type nil (expected Regexp)):
1: - blob = @project.repository.parse_search_result(blob)
2: .blob-result
3: .file-holder
4: .file-title
app/models/repository.rb:742:in `sub'
app/models/repository.rb:742:in `block in parse_search_result_from_grep'
app/models/repository.rb:741:in `each_line'
app/models/repository.rb:741:in `parse_search_result_from_grep'
app/models/repository.rb:682:in `parse_search_result'
app/views/search/results/_blob.html.haml:1:in `_app_views_search_results__blob_html_haml__1959871337755590783_162450160'
app/views/search/_results.html.haml:20:in `_app_views_search__results_html_haml__2198486911700532411_58329920'
app/views/search/show.html.haml:7:in `_app_views_search_show_html_haml___1698304427272645201_62235300'
```
See merge request !2565
Diffstat (limited to 'app')
-rw-r--r-- | app/models/repository.rb | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/app/models/repository.rb b/app/models/repository.rb index d9ff71c01ed..9e8bd91fde9 100644 --- a/app/models/repository.rb +++ b/app/models/repository.rb @@ -598,7 +598,7 @@ class Repository def search_files(query, ref) offset = 2 - args = %W(#{Gitlab.config.git.bin_path} grep -i -n --before-context #{offset} --after-context #{offset} -e #{query} #{ref || root_ref}) + args = %W(#{Gitlab.config.git.bin_path} grep -i -I -n --before-context #{offset} --after-context #{offset} -e #{query} #{ref || root_ref}) Gitlab::Popen.popen(args, path_to_repo).first.scrub.split(/^--$/) end |