GitLab wurde erfolgreich aktualisiert. Dank regelmäßiger Updates bleibt das THM GitLab sicher und Sie profitieren von den neuesten Funktionen. Danke für Ihre Geduld.

Commit 5a978e29 authored by tmaruyama's avatar tmaruyama

scm: git: raise exception if "git log" is error and block is given in lib revision method (#8857)

git-svn-id: https://svn.redmine.org/redmine/trunk@8837 e93f8b46-1217-0410-a6f0-8f06a7374b81
parent e2654892
......@@ -153,6 +153,7 @@ class Repository::Git < Repository
from_scmid = nil
from_scmid = h["branches"][br]["last_scmid"] if h["branches"][br]
h["branches"][br] ||= {}
begin
scm.revisions('', from_scmid, br, {:reverse => true}) do |rev|
db_rev = find_changeset_by_name(rev.revision)
transaction do
......@@ -169,6 +170,9 @@ class Repository::Git < Repository
self.save
end
end
rescue Redmine::Scm::Adapters::CommandFailed => e
logger.error("save revisions error: #{e.message}")
end
end
end
private :save_revisions
......
......@@ -290,9 +290,14 @@ module Redmine
end
revs
rescue ScmCommandAborted => e
logger.error("git log #{from_to.to_s} error: #{e.message}")
err_msg = "git log error: #{e.message}"
logger.error(err_msg)
if block_given?
raise CommandFailed, err_msg
else
revs
end
end
def diff(path, identifier_from, identifier_to=nil)
path ||= ''
......
......@@ -191,6 +191,8 @@ begin
end
def test_revisions_invalid_rev
assert_equal [], @adapter.revisions('', '1234abcd', "master")
assert_raise Redmine::Scm::Adapters::CommandFailed do
revs1 = []
@adapter.revisions('',
'1234abcd',
......@@ -198,7 +200,7 @@ begin
{:reverse => true}) do |rev|
revs1 << rev
end
assert_equal [], revs1
end
end
def test_revisions_includes_master_two_revs
......@@ -277,6 +279,12 @@ begin
end
def test_revisions_invalid_rev_excludes
assert_equal [],
@adapter.revisions('', nil, nil,
{:reverse => true,
:includes => ['83ca5fd546063a3c7dc2e568ba3355661a9e2b2c'],
:excludes => ['0123abcd4567']})
assert_raise Redmine::Scm::Adapters::CommandFailed do
revs1 = []
@adapter.revisions('', nil, nil,
{:reverse => true,
......@@ -284,7 +292,7 @@ begin
:excludes => ['0123abcd4567']}) do |rev|
revs1 << rev
end
assert_equal [], revs1
end
end
def test_getting_revisions_with_spaces_in_filename
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment