From 53f2130e63b2d20a9c3f6f709f38b70cb27a63ab Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Wed, 24 Sep 2014 13:26:53 +0300 Subject: Use new version of gitlab_git with extended rugged usage --- lib/gitlab/diff/file.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/gitlab/diff/file.rb b/lib/gitlab/diff/file.rb index 19a1198c68c..4daf65331e8 100644 --- a/lib/gitlab/diff/file.rb +++ b/lib/gitlab/diff/file.rb @@ -24,7 +24,7 @@ module Gitlab end def raw_diff - diff.diff + diff.diff.to_s end def next_line(index) -- cgit v1.2.1 From 13aec95264541b274d5ed9b828b44860cde93dec Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Wed, 24 Sep 2014 15:59:57 +0300 Subject: Improve diff and bump gitlab_git revision --- lib/gitlab/diff/parser.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/gitlab/diff/parser.rb b/lib/gitlab/diff/parser.rb index 9d6309954a4..447aecb9450 100644 --- a/lib/gitlab/diff/parser.rb +++ b/lib/gitlab/diff/parser.rb @@ -13,7 +13,7 @@ module Gitlab lines_arr = ::Gitlab::InlineDiff.processing lines - lines_arr.each do |line| + lines_arr.drop(4).each do |line| raw_line = line.dup next if filename?(line) -- cgit v1.2.1 From b13c1469a317a36a72e87fa92972e440fc8438e5 Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Thu, 25 Sep 2014 12:46:30 +0300 Subject: Rollback diff drop and set default commit id to HEAD Signed-off-by: Dmitriy Zaporozhets --- lib/gitlab/diff/parser.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/gitlab/diff/parser.rb b/lib/gitlab/diff/parser.rb index 447aecb9450..9d6309954a4 100644 --- a/lib/gitlab/diff/parser.rb +++ b/lib/gitlab/diff/parser.rb @@ -13,7 +13,7 @@ module Gitlab lines_arr = ::Gitlab::InlineDiff.processing lines - lines_arr.drop(4).each do |line| + lines_arr.each do |line| raw_line = line.dup next if filename?(line) -- cgit v1.2.1 From 4b65b0e0f5804492e90c3ee8037739c47bcc354b Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Thu, 25 Sep 2014 13:56:23 +0300 Subject: Fix wiki Signed-off-by: Dmitriy Zaporozhets --- lib/gitlab/project_search_results.rb | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'lib') diff --git a/lib/gitlab/project_search_results.rb b/lib/gitlab/project_search_results.rb index 9dc8b34d9c7..e5a04c3d9cf 100644 --- a/lib/gitlab/project_search_results.rb +++ b/lib/gitlab/project_search_results.rb @@ -4,7 +4,11 @@ module Gitlab def initialize(project_id, query, repository_ref = nil) @project = Project.find(project_id) - @repository_ref = repository_ref + @repository_ref = if repository_ref.present? + repository_ref + else + nil + end @query = Shellwords.shellescape(query) if query.present? end @@ -50,10 +54,10 @@ module Gitlab def wiki_blobs if project.wiki_enabled? - wiki_repo = Repository.new(ProjectWiki.new(project).path_with_namespace) + project_wiki = ProjectWiki.new(project) - if wiki_repo.exists? - wiki_repo.search_files(query) + unless project_wiki.empty? + project_wiki.search_files(query) else [] end -- cgit v1.2.1 From 424b42d6e9a988c7c0384ac49bf0ca6a344febc1 Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Thu, 25 Sep 2014 15:01:02 +0300 Subject: Fix 500 error on empty search in project Signed-off-by: Dmitriy Zaporozhets --- lib/gitlab/project_search_results.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'lib') diff --git a/lib/gitlab/project_search_results.rb b/lib/gitlab/project_search_results.rb index e5a04c3d9cf..8b85f3da83f 100644 --- a/lib/gitlab/project_search_results.rb +++ b/lib/gitlab/project_search_results.rb @@ -45,7 +45,7 @@ module Gitlab private def blobs - if project.empty_repo? + if project.empty_repo? || query.blank? [] else project.repository.search_files(query, repository_ref) @@ -53,7 +53,7 @@ module Gitlab end def wiki_blobs - if project.wiki_enabled? + if project.wiki_enabled? && query.present? project_wiki = ProjectWiki.new(project) unless project_wiki.empty? -- cgit v1.2.1 From 66ef5c1aa2f50b93ad654dc3b8d9f3a0f5c8bc1b Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Thu, 25 Sep 2014 16:10:10 +0300 Subject: Fix satellites Signed-off-by: Dmitriy Zaporozhets --- lib/gitlab/satellite/merge_action.rb | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) (limited to 'lib') diff --git a/lib/gitlab/satellite/merge_action.rb b/lib/gitlab/satellite/merge_action.rb index 7c9b2294647..e9141f735aa 100644 --- a/lib/gitlab/satellite/merge_action.rb +++ b/lib/gitlab/satellite/merge_action.rb @@ -65,15 +65,16 @@ module Gitlab prepare_satellite!(merge_repo) update_satellite_source_and_target!(merge_repo) if merge_request.for_fork? - # Only show what is new in the source branch compared to the target branch, not the other way around. - # The line below with merge_base is equivalent to diff with three dots (git diff branch1...branch2) - # From the git documentation: "git diff A...B" is equivalent to "git diff $(git-merge-base A B) B" - common_commit = merge_repo.git.native(:merge_base, default_options, ["origin/#{merge_request.target_branch}", "source/#{merge_request.source_branch}"]).strip - diffs = merge_repo.diff(common_commit, "source/#{merge_request.source_branch}") + repository = Gitlab::Git::Repository.new(merge_repo.path) + diffs = Gitlab::Git::Diff.between( + repository, + "source/#{merge_request.source_branch}", + "origin/#{merge_request.target_branch}" + ) else raise "Attempt to determine diffs between for a non forked merge request in satellite MergeRequest.id:[#{merge_request.id}]" end - diffs = diffs.map { |diff| Gitlab::Git::Diff.new(diff) } + return diffs end rescue Grit::Git::CommandFailed => ex @@ -97,11 +98,16 @@ module Gitlab prepare_satellite!(merge_repo) update_satellite_source_and_target!(merge_repo) if (merge_request.for_fork?) - commits = merge_repo.commits_between("origin/#{merge_request.target_branch}", "source/#{merge_request.source_branch}") + repository = Gitlab::Git::Repository.new(merge_repo.path) + commits = Gitlab::Git::Commit.between( + repository, + "origin/#{merge_request.target_branch}", + "source/#{merge_request.source_branch}" + ) else raise "Attempt to determine commits between for a non forked merge request in satellite MergeRequest.id:[#{merge_request.id}]" end - commits = commits.map { |commit| Gitlab::Git::Commit.new(commit, nil) } + return commits end rescue Grit::Git::CommandFailed => ex -- cgit v1.2.1 From eaeb4a90d431ff5e1e6156c10f3118f70c3c4f8e Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Thu, 25 Sep 2014 16:22:08 +0300 Subject: Fix branch API Signed-off-by: Dmitriy Zaporozhets --- lib/api/branches.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'lib') diff --git a/lib/api/branches.rb b/lib/api/branches.rb index 75783628e3d..14f8b20f6b2 100644 --- a/lib/api/branches.rb +++ b/lib/api/branches.rb @@ -14,7 +14,7 @@ module API # Example Request: # GET /projects/:id/repository/branches get ":id/repository/branches" do - present user_project.repo.heads.sort_by(&:name), with: Entities::RepoObject, project: user_project + present user_project.repository.branches.sort_by(&:name), with: Entities::RepoObject, project: user_project end # Get a single branch @@ -25,7 +25,7 @@ module API # Example Request: # GET /projects/:id/repository/branches/:branch get ':id/repository/branches/:branch', requirements: { branch: /.*/ } do - @branch = user_project.repo.heads.find { |item| item.name == params[:branch] } + @branch = user_project.repository.branches.find { |item| item.name == params[:branch] } not_found!("Branch does not exist") if @branch.nil? present @branch, with: Entities::RepoObject, project: user_project end -- cgit v1.2.1