mirror of
https://github.com/meineerde/redmine.git
synced 2025-12-29 03:39:38 +00:00
Keywords in commit messages: journal entries are created even if nothing was changed (#19538).
git-svn-id: http://svn.redmine.org/redmine/trunk@14164 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
cb9d405db3
commit
78153cacdf
@ -242,8 +242,11 @@ class Changeset < ActiveRecord::Base
|
||||
end
|
||||
Redmine::Hook.call_hook(:model_changeset_scan_commit_for_issue_ids_pre_issue_update,
|
||||
{ :changeset => self, :issue => issue, :action => action })
|
||||
unless issue.save
|
||||
logger.warn("Issue ##{issue.id} could not be saved by changeset #{id}: #{issue.errors.full_messages}") if logger
|
||||
|
||||
if issue.changes.any?
|
||||
unless issue.save
|
||||
logger.warn("Issue ##{issue.id} could not be saved by changeset #{id}: #{issue.errors.full_messages}") if logger
|
||||
end
|
||||
end
|
||||
issue
|
||||
end
|
||||
|
||||
@ -163,6 +163,30 @@ class ChangesetTest < ActiveSupport::TestCase
|
||||
assert_equal [1,2,3], c.issue_ids.sort
|
||||
end
|
||||
|
||||
def test_update_keywords_with_changes_should_create_journal
|
||||
issue = Issue.generate!(:project_id => 1, :status_id => 1)
|
||||
|
||||
with_settings :commit_update_keywords => [{'keywords' => 'fixes', 'status_id' => '3'}] do
|
||||
assert_difference 'Journal.count' do
|
||||
c = Changeset.generate!(:repository => Project.find(1).repository,:comments => "Fixes ##{issue.id}")
|
||||
assert_include c.id, issue.reload.changeset_ids
|
||||
journal = Journal.order('id DESC').first
|
||||
assert_equal 1, journal.details.count
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def test_update_keywords_without_change_should_not_create_journal
|
||||
issue = Issue.generate!(:project_id => 1, :status_id => 3)
|
||||
|
||||
with_settings :commit_update_keywords => [{'keywords' => 'fixes', 'status_id' => '3'}] do
|
||||
assert_no_difference 'Journal.count' do
|
||||
c = Changeset.generate!(:repository => Project.find(1).repository,:comments => "Fixes ##{issue.id}")
|
||||
assert_include c.id, issue.reload.changeset_ids
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def test_update_keywords_with_multiple_rules
|
||||
with_settings :commit_update_keywords => [
|
||||
{'keywords' => 'fixes, closes', 'status_id' => '5'},
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user