Edgewall Software

Ticket #8067: t8067-stopped-sync-r7921.diff

File t8067-stopped-sync-r7921.diff, 1.0 KB (added by cboos, 3 years ago)

Take care to do a rollback in case something went wrong.

  • trac/versioncontrol/cache.py

     
    193193                        # also potentially in progress, so keep ''previous'' 
    194194                        # notion of 'youngest' 
    195195                        self.repos.clear(youngest_rev=self.youngest) 
    196                         db.rollback() 
    197196                        return 
    198197 
    199198                    # 1.2. now *only* one process was able to get there 
     
    226225                    if feedback: 
    227226                        feedback(self.youngest) 
    228227            finally: 
     228                # In case something went wrong, we need to be sure nothing  
     229                # will be committed afterwards. In case we succeeded, no harm 
     230                # can be done by doing a rollback just after a commit. 
     231                db.rollback() 
    229232                # 3. restore permission checking (after 1.) 
    230233                self.repos.authz = authz 
    231234