@@ -427,5 +427,9 class Repository < ActiveRecord::Base | |||||
427 | connection.delete("DELETE FROM #{ci} WHERE #{ci}.changeset_id IN (SELECT #{cs}.id FROM #{cs} WHERE #{cs}.repository_id = #{id})") |
|
427 | connection.delete("DELETE FROM #{ci} WHERE #{ci}.changeset_id IN (SELECT #{cs}.id FROM #{cs} WHERE #{cs}.repository_id = #{id})") | |
428 | connection.delete("DELETE FROM #{cp} WHERE #{cp}.changeset_id IN (SELECT #{cs}.id FROM #{cs} WHERE #{cs}.repository_id = #{id})") |
|
428 | connection.delete("DELETE FROM #{cp} WHERE #{cp}.changeset_id IN (SELECT #{cs}.id FROM #{cs} WHERE #{cs}.repository_id = #{id})") | |
429 | connection.delete("DELETE FROM #{cs} WHERE #{cs}.repository_id = #{id}") |
|
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 | end |
|
434 | end | |
431 | end |
|
435 | end |
@@ -255,4 +255,14 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 | v = extra_info["extra_report_last_commit"] | |||
|
261 | write_attribute(:extra_info, nil) | |||
|
262 | h = {} | |||
|
263 | h["extra_report_last_commit"] = v | |||
|
264 | merge_extra_info(h) | |||
|
265 | self.save | |||
|
266 | end | |||
|
267 | private :clear_extra_info_of_changesets | |||
258 | end |
|
268 | end |
@@ -217,6 +217,40 class RepositoryGitTest < ActiveSupport::TestCase | |||||
217 | assert_equal h1, h2 |
|
217 | assert_equal h1, h2 | |
218 | end |
|
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 | def test_parents |
|
254 | def test_parents | |
221 | assert_equal 0, @repository.changesets.count |
|
255 | assert_equal 0, @repository.changesets.count | |
222 | @repository.fetch_changesets |
|
256 | @repository.fetch_changesets |
General Comments 0
You need to be logged in to leave comments.
Login now