comparison rhodecode/model/scm.py @ 1033:e2ebbb27df4e beta

fixed problem with caching
author Marcin Kuzminski <marcin@python-works.com>
date Sat, 12 Feb 2011 16:06:12 +0100
parents f42ee60e673b
children 5554aa9c2480
comparison
equal deleted inserted replaced
1032:2e9f2bd28143 1033:e2ebbb27df4e
207 .options(joinedload(Repository.fork))\ 207 .options(joinedload(Repository.fork))\
208 .options(joinedload(Repository.user))\ 208 .options(joinedload(Repository.user))\
209 .filter(Repository.repo_name == repo_name)\ 209 .filter(Repository.repo_name == repo_name)\
210 .scalar() 210 .scalar()
211 211
212 self.sa.expunge_all()
213 log.debug('making transient %s', dbrepo)
212 make_transient(dbrepo) 214 make_transient(dbrepo)
213 if dbrepo.user: 215
214 make_transient(dbrepo.user) 216 for attr in ['user', 'forks', 'followers', 'group', 'repo_to_perm',
215 if dbrepo.fork: 217 'users_group_to_perm', 'stats', 'logs']:
216 make_transient(dbrepo.fork) 218 attr = getattr(dbrepo, attr, False)
219 if attr:
220 if isinstance(attr, list):
221 for a in attr:
222 log.debug('making transient %s', a)
223 make_transient(a)
224 else:
225 log.debug('making transient %s', attr)
226 make_transient(attr)
217 227
218 repo.dbrepo = dbrepo 228 repo.dbrepo = dbrepo
219 return repo 229 return repo
220 230
221 pre_invalidate = True 231 pre_invalidate = True