summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2015-11-02 16:39:24 +0100
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2015-11-02 16:39:24 +0100
commit810c91fe35db6a83c9c517e03d07dc1795922646 (patch)
tree009f34d5e515e38cc5b31b5b8620a8d8e504d6ec
parenta0d0a0179134c16c84dfa18da9db78b375cd7cd0 (diff)
downloadgitlab-ce-olhado/gitlab-ce-commit-search.tar.gz
Refactor search by commits messageolhado/gitlab-ce-commit-search
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
-rw-r--r--CHANGELOG4
-rw-r--r--app/assets/stylesheets/pages/commits.scss2
-rw-r--r--app/models/repository.rb6
-rw-r--r--app/views/search/_category.html.haml2
-rw-r--r--app/views/search/results/_commits.html.haml32
-rw-r--r--lib/gitlab/project_search_results.rb2
-rw-r--r--spec/models/repository_spec.rb4
7 files changed, 11 insertions, 41 deletions
diff --git a/CHANGELOG b/CHANGELOG
index b573d40317e..78e0891e822 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -14,6 +14,7 @@ v 8.2.0 (unreleased)
- Fix: 500 error returned if destroy request without HTTP referer (Kazuki Shimizu)
- Remove deprecated CI events from project settings page
- Use issue editor as cross reference comment author when issue is edited with a new mention.
+ - Include commit logs in project search
v 8.1.1
- Fix cloning Wiki repositories via HTTP (Stan Hu)
@@ -29,9 +30,6 @@ v 8.1.0
- Ensure MySQL CI limits DB migrations occur after the fields have been created (Stan Hu)
- Fix duplicate repositories in GitHub import page (Stan Hu)
- Redirect to a default path if HTTP_REFERER is not set (Stan Hu)
- - Include commit logs in project search
-
-v 8.1.0 (unreleased)
- Send an email to admin email when a user is reported for spam (Jonathan Rochkind)
- Show notifications button when user is member of group rather than project (Grzegorz Bizon)
- Fix bug preventing mentioned issued from being closed when MR is merged using fast-forward merge.
diff --git a/app/assets/stylesheets/pages/commits.scss b/app/assets/stylesheets/pages/commits.scss
index 4e121b95d13..e485487bcfd 100644
--- a/app/assets/stylesheets/pages/commits.scss
+++ b/app/assets/stylesheets/pages/commits.scss
@@ -33,6 +33,8 @@
}
li.commit {
+ list-style: none;
+
.commit-row-title {
font-size: $list-font-size;
line-height: 20px;
diff --git a/app/models/repository.rb b/app/models/repository.rb
index a0f2b3fb765..c6d904339e4 100644
--- a/app/models/repository.rb
+++ b/app/models/repository.rb
@@ -87,12 +87,12 @@ class Repository
commits
end
- def find_commits_with_matching_log(query)
+ def find_commits_by_message(query)
# Limited to 1000 commits for now, could be parameterized?
args = %W(git log --pretty=%H --max-count 1000 --grep=#{query})
- git_log_results = Gitlab::Popen.popen(args, path_to_repo).first.lines.map{ |l| l.chomp }
- commits = git_log_results.map{ |c| commit(c) }
+ git_log_results = Gitlab::Popen.popen(args, path_to_repo).first.lines.map(&:chomp)
+ commits = git_log_results.map { |c| commit(c) }
commits
end
diff --git a/app/views/search/_category.html.haml b/app/views/search/_category.html.haml
index ef43f727d8b..481451edb23 100644
--- a/app/views/search/_category.html.haml
+++ b/app/views/search/_category.html.haml
@@ -46,7 +46,7 @@
= link_to search_filter_path(scope: 'commits') do
= icon('history fw')
%span
- Commit Logs
+ Commits
%span.badge
= @search_results.commits_count
diff --git a/app/views/search/results/_commits.html.haml b/app/views/search/results/_commits.html.haml
index 8076174e59d..7cff694350f 100644
--- a/app/views/search/results/_commits.html.haml
+++ b/app/views/search/results/_commits.html.haml
@@ -1,32 +1,2 @@
.search-result-row
- .commits-row-title
- %strong.str-truncated
- = link_to commits.title, namespace_project_commit_path(@project.namespace, @project, commits.id), class: "commit_short_id"
-
- .pull-right
- = link_to commits.short_id, namespace_project_commit_path(@project.namespace, @project, commits.id), class: "commit_short_id"
-
- .notes_count
- - if @note_counts
- - note_count = @note_counts.fetch(commits.id, 0)
- - else
- - notes = commits.notes
- - note_count = notes.user.count
-
- - if note_count > 0
- %span.light
- %i.fa.fa-comments
- = note_count
-
- - if commits.description?
- .commits-row-description
- %pre
- = preserve(gfm(escape_once(commits.description)))
-
- .commits-row-info
- = commit_author_link(commits, avatar: true, size: 24)
- authored
- .committed_ago
- #{time_ago_with_tooltip(commits.committed_date)} &nbsp;
- = link_to_browse_code(@project, commits)
- %br
+ = render 'projects/commits/commit', project: @project, commit: commits
diff --git a/lib/gitlab/project_search_results.rb b/lib/gitlab/project_search_results.rb
index 54389f7d662..c873ef3771e 100644
--- a/lib/gitlab/project_search_results.rb
+++ b/lib/gitlab/project_search_results.rb
@@ -77,7 +77,7 @@ module Gitlab
end
def commits
- project.repository.find_commits_with_matching_log(query)
+ project.repository.find_commits_by_message(query)
end
def limit_project_ids
diff --git a/spec/models/repository_spec.rb b/spec/models/repository_spec.rb
index aedbfa04d88..319fa0a7c8d 100644
--- a/spec/models/repository_spec.rb
+++ b/spec/models/repository_spec.rb
@@ -26,8 +26,8 @@ describe Repository do
it { is_expected.to eq('c1acaa58bbcbc3eafe538cb8274ba387047b69f8') }
end
- describe :find_commits_with_matching_log do
- subject { repository.find_commits_with_matching_log('submodule').map{ |k| k.id } }
+ describe :find_commits_by_message do
+ subject { repository.find_commits_by_message('submodule').map{ |k| k.id } }
it { is_expected.to include('5937ac0a7beb003549fc5fd26fc247adbce4a52e') }
it { is_expected.to include('6f6d7e7ed97bb5f0054f2b1df789b39ca89b6ff9') }