Changeset - ee801aa6292c
[Not reviewed]
beta
0 1 0
Marcin Kuzminski - 15 years ago 2010-11-24 19:16:06
marcin@python-works.com
changes transient to expunge on cached repo instances, due to odd very rare problems with previos approach.
1 file changed with 3 insertions and 1 deletions:
0 comments (0 inline, 0 general)
rhodecode/model/scm.py
Show inline comments
 
@@ -171,25 +171,27 @@ class ScmModel(BaseModel):
 
                repo = backend(repo_path, create=False, baseui=g.baseui)
 
                #skip hidden web repository
 
                if repo._get_hidden():
 
                    return
 
            else:
 
                repo = backend(repo_path, create=False)
 

	
 
            dbrepo = self.sa.query(Repository)\
 
                .options(joinedload(Repository.fork))\
 
                .options(joinedload(Repository.user))\
 
                .filter(Repository.repo_name == repo_name)\
 
                .scalar()
 
            make_transient(dbrepo)
 

	
 
            self.sa.expunge(dbrepo)
 

	
 
            repo.dbrepo = dbrepo
 
            return repo
 

	
 
        pre_invalidate = True
 
        if invalidation_list:
 
            pre_invalidate = repo_name in invalidation_list
 

	
 
        if pre_invalidate:
 
            invalidate = self._should_invalidate(repo_name)
 

	
 
            if invalidate:
 
                log.info('invalidating cache for repository %s', repo_name)
0 comments (0 inline, 0 general)