Show More
@@ -207,7 +207,7 b' def create_repo(form_data, cur_user):' | |||
|
207 | 207 | hooks_base.create_repository(created_by=owner.username, **repo.get_dict()) |
|
208 | 208 | |
|
209 | 209 | # update repo commit caches initially |
|
210 | repo.update_commit_cache() | |
|
210 | repo.update_commit_cache(recursive=False) | |
|
211 | 211 | |
|
212 | 212 | # set new created state |
|
213 | 213 | repo.set_state(Repository.STATE_CREATED) |
@@ -298,7 +298,7 b' def create_repo_fork(form_data, cur_user' | |||
|
298 | 298 | # update repo commit caches initially |
|
299 | 299 | config = repo._config |
|
300 | 300 | config.set('extensions', 'largefiles', '') |
|
301 | repo.update_commit_cache(config=config) | |
|
301 | repo.update_commit_cache(config=config, recursive=False) | |
|
302 | 302 | |
|
303 | 303 | # set new created state |
|
304 | 304 | repo.set_state(Repository.STATE_CREATED) |
@@ -390,7 +390,7 b' def sync_last_update_for_objects(*args, ' | |||
|
390 | 390 | .order_by(Repository.group_id.asc()) |
|
391 | 391 | |
|
392 | 392 | for repo in repos: |
|
393 | repo.update_commit_cache() | |
|
393 | repo.update_commit_cache(recursive=False) | |
|
394 | 394 | |
|
395 | 395 | skip_groups = kwargs.get('skip_groups') |
|
396 | 396 | if not skip_groups: |
@@ -582,7 +582,7 b' def repo2db_mapper(initial_repo_list, re' | |||
|
582 | 582 | log.debug('Running update server info') |
|
583 | 583 | git_repo._update_server_info(force=True) |
|
584 | 584 | |
|
585 | db_repo.update_commit_cache() | |
|
585 | db_repo.update_commit_cache(recursive=False) | |
|
586 | 586 | |
|
587 | 587 | config = db_repo._config |
|
588 | 588 | config.set('extensions', 'largefiles', '') |
@@ -2568,10 +2568,10 b' class Repository(Base, BaseModel):' | |||
|
2568 | 2568 | return commit |
|
2569 | 2569 | |
|
2570 | 2570 | def flush_commit_cache(self): |
|
2571 | self.update_commit_cache(cs_cache={'raw_id':'0'}) | |
|
2571 | self.update_commit_cache(cs_cache={'raw_id': '0'}) | |
|
2572 | 2572 | self.update_commit_cache() |
|
2573 | 2573 | |
|
2574 | def update_commit_cache(self, cs_cache=None, config=None): | |
|
2574 | def update_commit_cache(self, cs_cache=None, config=None, recursive=True): | |
|
2575 | 2575 | """ |
|
2576 | 2576 | Update cache of last commit for repository |
|
2577 | 2577 | cache_keys should be:: |
@@ -2610,6 +2610,14 b' class Repository(Base, BaseModel):' | |||
|
2610 | 2610 | if isinstance(cs_cache, BaseCommit): |
|
2611 | 2611 | cs_cache = cs_cache.__json__() |
|
2612 | 2612 | |
|
2613 | def maybe_update_recursive(instance, _config, _recursive, _cs_cache, _last_change): | |
|
2614 | if _recursive: | |
|
2615 | repo_id = instance.repo_id | |
|
2616 | _cs_cache['source_repo_id'] = repo_id | |
|
2617 | for gr in instance.groups_with_parents: | |
|
2618 | gr.changeset_cache = _cs_cache | |
|
2619 | gr.updated_on = _last_change | |
|
2620 | ||
|
2613 | 2621 | def is_outdated(new_cs_cache): |
|
2614 | 2622 | if (new_cs_cache['raw_id'] != self.changeset_cache['raw_id'] or |
|
2615 | 2623 | new_cs_cache['revision'] != self.changeset_cache['revision']): |
@@ -2636,6 +2644,7 b' class Repository(Base, BaseModel):' | |||
|
2636 | 2644 | self.changeset_cache = cs_cache |
|
2637 | 2645 | self.updated_on = last_change |
|
2638 | 2646 | Session().add(self) |
|
2647 | maybe_update_recursive(self, config, recursive, cs_cache, last_change) | |
|
2639 | 2648 | Session().commit() |
|
2640 | 2649 | |
|
2641 | 2650 | else: |
@@ -2650,6 +2659,7 b' class Repository(Base, BaseModel):' | |||
|
2650 | 2659 | self.changeset_cache = cs_cache |
|
2651 | 2660 | self.updated_on = _date_latest |
|
2652 | 2661 | Session().add(self) |
|
2662 | maybe_update_recursive(self, config, recursive, cs_cache, _date_latest) | |
|
2653 | 2663 | Session().commit() |
|
2654 | 2664 | |
|
2655 | 2665 | log.debug('updated repo `%s` with new commit cache %s, and last update_date: %s', |
General Comments 0
You need to be logged in to leave comments.
Login now