@@ -427,5 +427,9 class Repository < ActiveRecord::Base | |||
|
427 | 427 | connection.delete("DELETE FROM #{ci} WHERE #{ci}.changeset_id IN (SELECT #{cs}.id FROM #{cs} WHERE #{cs}.repository_id = #{id})") |
|
428 | 428 | connection.delete("DELETE FROM #{cp} WHERE #{cp}.changeset_id IN (SELECT #{cs}.id FROM #{cs} WHERE #{cs}.repository_id = #{id})") |
|
429 | 429 | connection.delete("DELETE FROM #{cs} WHERE #{cs}.repository_id = #{id}") |
|
430 | clear_extra_info_of_changesets | |
|
431 | end | |
|
432 | ||
|
433 | def clear_extra_info_of_changesets | |
|
430 | 434 | end |
|
431 | 435 | end |
@@ -255,4 +255,15 class Repository::Git < Repository | |||
|
255 | 255 | :order => 'committed_on DESC' |
|
256 | 256 | ) |
|
257 | 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 | 269 | end |
@@ -217,6 +217,40 class RepositoryGitTest < ActiveSupport::TestCase | |||
|
217 | 217 | assert_equal h1, h2 |
|
218 | 218 | end |
|
219 | 219 | |
|
220 | def test_keep_extra_report_last_commit_in_clear_changesets | |
|
221 | assert_nil @repository.extra_info | |
|
222 | h = {} | |
|
223 | h["extra_report_last_commit"] = 1 | |
|
224 | @repository.merge_extra_info(h) | |
|
225 | @repository.save | |
|
226 | @project.reload | |
|
227 | ||
|
228 | assert_equal 0, @repository.changesets.count | |
|
229 | @repository.fetch_changesets | |
|
230 | @project.reload | |
|
231 | ||
|
232 | assert_equal NUM_REV, @repository.changesets.count | |
|
233 | @repository.send(:clear_changesets) | |
|
234 | assert_equal 1, @repository.extra_info.size | |
|
235 | assert_equal 1, @repository.extra_info["extra_report_last_commit"] | |
|
236 | end | |
|
237 | ||
|
238 | def test_refetch_after_clear_changesets | |
|
239 | assert_nil @repository.extra_info | |
|
240 | assert_equal 0, @repository.changesets.count | |
|
241 | @repository.fetch_changesets | |
|
242 | @project.reload | |
|
243 | assert_equal NUM_REV, @repository.changesets.count | |
|
244 | ||
|
245 | @repository.send(:clear_changesets) | |
|
246 | @project.reload | |
|
247 | assert_equal 0, @repository.changesets.count | |
|
248 | ||
|
249 | @repository.fetch_changesets | |
|
250 | @project.reload | |
|
251 | assert_equal NUM_REV, @repository.changesets.count | |
|
252 | end | |
|
253 | ||
|
220 | 254 | def test_parents |
|
221 | 255 | assert_equal 0, @repository.changesets.count |
|
222 | 256 | @repository.fetch_changesets |
General Comments 0
You need to be logged in to leave comments.
Login now