summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Chmielewski <code@mikec.123mail.org>2015-10-27 23:24:43 -0400
committerMichael Chmielewski <code@mikec.123mail.org>2015-10-28 22:34:39 -0400
commit7b62791afc8e98f8ccd7d85dbae0cf2128883c13 (patch)
tree334726b8a702d4364ee5e5d1e429dd126b6bc4b6
parentb1f4aaa5e753e6e7cdefd84226839123df59b382 (diff)
downloadgitlab-ce-7b62791afc8e98f8ccd7d85dbae0cf2128883c13.tar.gz
Fixed method to use git log via Popen as recommended, and made output match test (and thus system) expectations.
-rw-r--r--app/models/repository.rb7
-rw-r--r--spec/models/repository_spec.rb2
2 files changed, 7 insertions, 2 deletions
diff --git a/app/models/repository.rb b/app/models/repository.rb
index ed7ed9fd261..112ad05c188 100644
--- a/app/models/repository.rb
+++ b/app/models/repository.rb
@@ -91,7 +91,12 @@ class Repository
# Limited to 1000 commits for now, could be parameterized?
args = %W(git log --pretty=%H --max-count 1000 --grep=#{query})
- Gitlab::Popen.popen(args, path_to_repo)
+ git_log_results = Gitlab::Popen.popen(args, path_to_repo)
+
+ # 1. Get result, which is 1-element array
+ # 2. Split on lines
+ # 3. Recreate array, but remove trailing newline characters on each element
+ git_log_results.first.lines.map{ |l| l.chomp }
end
def find_branch(name)
diff --git a/spec/models/repository_spec.rb b/spec/models/repository_spec.rb
index 26c92af31ed..17b5f28891b 100644
--- a/spec/models/repository_spec.rb
+++ b/spec/models/repository_spec.rb
@@ -27,7 +27,7 @@ describe Repository do
end
describe :find_commits_with_matching_log do
- subject { repository.find_commits_with_matching_log('submodule').map{|k| k.id} }
+ subject { repository.find_commits_with_matching_log('submodule') }
it { is_expected.to include('5937ac0a7beb003549fc5fd26fc247adbce4a52e') }
it { is_expected.to include('6f6d7e7ed97bb5f0054f2b1df789b39ca89b6ff9') }