mirror of
https://github.com/redmine/redmine.git
synced 2025-11-01 19:05:51 +01:00
Don't link multiple changesets from the same commit multiple times (#17931).
git-svn-id: http://svn.redmine.org/redmine/trunk@13427 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
@@ -130,7 +130,7 @@ class Changeset < ActiveRecord::Base
|
||||
|
||||
refs.scan(/#(\d+)(\s+@#{TIMELOG_RE})?/).each do |m|
|
||||
issue, hours = find_referenced_issue_by_id(m[0].to_i), m[2]
|
||||
if issue
|
||||
if issue && !issue_linked_to_same_commit?(issue)
|
||||
referenced_issues << issue
|
||||
# Don't update issues or log time when importing old commits
|
||||
unless repository.created_on && committed_on && committed_on < repository.created_on
|
||||
@@ -214,6 +214,12 @@ class Changeset < ActiveRecord::Base
|
||||
|
||||
private
|
||||
|
||||
# Returns true if the issue is already linked to the same commit
|
||||
# from a different repository
|
||||
def issue_linked_to_same_commit?(issue)
|
||||
repository.same_commits_in_scope(issue.changesets, self).any?
|
||||
end
|
||||
|
||||
# Updates the +issue+ according to +action+
|
||||
def fix_issue(issue, action)
|
||||
# the issue may have been updated by the closure of another one (eg. duplicate)
|
||||
|
||||
Reference in New Issue
Block a user