@@ -0,0 +1,9 | |||
|
1 | class AddRepositoriesCreatedOn < ActiveRecord::Migration | |
|
2 | def up | |
|
3 | add_column :repositories, :created_on, :timestamp | |
|
4 | end | |
|
5 | ||
|
6 | def down | |
|
7 | remove_column :repositories, :created_on | |
|
8 | end | |
|
9 | end |
@@ -132,8 +132,11 class Changeset < ActiveRecord::Base | |||
|
132 | 132 | issue, hours = find_referenced_issue_by_id(m[0].to_i), m[2] |
|
133 | 133 | if issue |
|
134 | 134 | referenced_issues << issue |
|
135 | fix_issue(issue, action) if fix_keywords.include?(action) | |
|
136 | log_time(issue, hours) if hours && Setting.commit_logtime_enabled? | |
|
135 | # Don't update issues or log time when importing old commits | |
|
136 | unless repository.created_on && committed_on && committed_on < repository.created_on | |
|
137 | fix_issue(issue, action) if fix_keywords.include?(action) | |
|
138 | log_time(issue, hours) if hours && Setting.commit_logtime_enabled? | |
|
139 | end | |
|
137 | 140 | end |
|
138 | 141 | end |
|
139 | 142 | end |
@@ -8,6 +8,7 repositories_001: | |||
|
8 | 8 | login: "" |
|
9 | 9 | type: Repository::Subversion |
|
10 | 10 | is_default: true |
|
11 | created_on: 2006-07-19 19:04:21 +02:00 | |
|
11 | 12 | repositories_002: |
|
12 | 13 | project_id: 2 |
|
13 | 14 | url: svn://localhost/test |
@@ -17,3 +18,4 repositories_002: | |||
|
17 | 18 | login: "" |
|
18 | 19 | type: Repository::Subversion |
|
19 | 20 | is_default: true |
|
21 | created_on: 2006-07-19 19:04:21 +02:00 |
@@ -254,6 +254,28 class ChangesetTest < ActiveSupport::TestCase | |||
|
254 | 254 | end |
|
255 | 255 | end |
|
256 | 256 | |
|
257 | def test_old_commits_should_not_update_issues_nor_log_time | |
|
258 | Setting.commit_ref_keywords = '*' | |
|
259 | Setting.commit_update_keywords = {'fixes , closes' => {'status_id' => '5', 'done_ratio' => '90'}} | |
|
260 | Setting.commit_logtime_enabled = '1' | |
|
261 | ||
|
262 | repository = Project.find(1).repository | |
|
263 | repository.created_on = Time.now | |
|
264 | repository.save! | |
|
265 | ||
|
266 | c = Changeset.new(:repository => repository, | |
|
267 | :committed_on => 1.month.ago, | |
|
268 | :comments => 'New commit (#2). Fixes #1 @1h', | |
|
269 | :revision => '12345') | |
|
270 | assert_no_difference 'TimeEntry.count' do | |
|
271 | assert c.save | |
|
272 | end | |
|
273 | assert_equal [1, 2], c.issue_ids.sort | |
|
274 | issue = Issue.find(1) | |
|
275 | assert_equal 1, issue.status_id | |
|
276 | assert_equal 0, issue.done_ratio | |
|
277 | end | |
|
278 | ||
|
257 | 279 | def test_text_tag_revision |
|
258 | 280 | c = Changeset.new(:revision => '520') |
|
259 | 281 | assert_equal 'r520', c.text_tag |
General Comments 0
You need to be logged in to leave comments.
Login now