##// END OF EJS Templates
Merged r10856 and r10857 from trunk to 1.4-stable (#12409)...
Toshi MARUYAMA -
r10632:31e714f2db98
parent child
Show More
@@ -415,5 +415,9 class Repository < ActiveRecord::Base
415 connection.delete("DELETE FROM #{ci} WHERE #{ci}.changeset_id IN (SELECT #{cs}.id FROM #{cs} WHERE #{cs}.repository_id = #{id})")
415 connection.delete("DELETE FROM #{ci} WHERE #{ci}.changeset_id IN (SELECT #{cs}.id FROM #{cs} WHERE #{cs}.repository_id = #{id})")
416 connection.delete("DELETE FROM #{cp} WHERE #{cp}.changeset_id IN (SELECT #{cs}.id FROM #{cs} WHERE #{cs}.repository_id = #{id})")
416 connection.delete("DELETE FROM #{cp} WHERE #{cp}.changeset_id IN (SELECT #{cs}.id FROM #{cs} WHERE #{cs}.repository_id = #{id})")
417 connection.delete("DELETE FROM #{cs} WHERE #{cs}.repository_id = #{id}")
417 connection.delete("DELETE FROM #{cs} WHERE #{cs}.repository_id = #{id}")
418 clear_extra_info_of_changesets
419 end
420
421 def clear_extra_info_of_changesets
418 end
422 end
419 end
423 end
@@ -255,4 +255,15 class Repository::Git < Repository
255 :order => 'committed_on DESC'
255 :order => 'committed_on DESC'
256 )
256 )
257 end
257 end
258
259 def clear_extra_info_of_changesets
260 return if extra_info.nil?
261 v = extra_info["extra_report_last_commit"]
262 write_attribute(:extra_info, nil)
263 h = {}
264 h["extra_report_last_commit"] = v
265 merge_extra_info(h)
266 self.save
267 end
268 private :clear_extra_info_of_changesets
258 end
269 end
@@ -4,6 +4,10 Redmine - project management software
4 Copyright (C) 2006-2012 Jean-Philippe Lang
4 Copyright (C) 2006-2012 Jean-Philippe Lang
5 http://www.redmine.org/
5 http://www.redmine.org/
6
6
7 == TBD v1.4.6
8
9 * Defect #12409: Git: changesets aren't read after clear_changesets call
10
7 == 2012-11-17 v1.4.5
11 == 2012-11-17 v1.4.5
8
12
9 * Defect #10818: Running rake in test environment causes exception
13 * Defect #10818: Running rake in test environment causes exception
@@ -212,6 +212,40 class RepositoryGitTest < ActiveSupport::TestCase
212 assert_equal h1, h2
212 assert_equal h1, h2
213 end
213 end
214
214
215 def test_keep_extra_report_last_commit_in_clear_changesets
216 assert_nil @repository.extra_info
217 h = {}
218 h["extra_report_last_commit"] = 1
219 @repository.merge_extra_info(h)
220 @repository.save
221 @project.reload
222
223 assert_equal 0, @repository.changesets.count
224 @repository.fetch_changesets
225 @project.reload
226
227 assert_equal NUM_REV, @repository.changesets.count
228 @repository.send(:clear_changesets)
229 assert_equal 1, @repository.extra_info.size
230 assert_equal 1, @repository.extra_info["extra_report_last_commit"]
231 end
232
233 def test_refetch_after_clear_changesets
234 assert_nil @repository.extra_info
235 assert_equal 0, @repository.changesets.count
236 @repository.fetch_changesets
237 @project.reload
238 assert_equal NUM_REV, @repository.changesets.count
239
240 @repository.send(:clear_changesets)
241 @project.reload
242 assert_equal 0, @repository.changesets.count
243
244 @repository.fetch_changesets
245 @project.reload
246 assert_equal NUM_REV, @repository.changesets.count
247 end
248
215 def test_parents
249 def test_parents
216 assert_equal 0, @repository.changesets.count
250 assert_equal 0, @repository.changesets.count
217 @repository.fetch_changesets
251 @repository.fetch_changesets
General Comments 0
You need to be logged in to leave comments. Login now