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