def _applyCs(self, cs, uJob, **kwargs):
        # Before applying this job, reset the underlying changesets. This
        # lets us traverse user-supplied changesets multiple times.
        uJob.troveSource.reset()

        jobIdx = kwargs.pop('jobIdx')
        tagScript = kwargs['tagScript']
        justDatabase = kwargs['commitFlags'].justDatabase
        noScripts = kwargs['commitFlags'].noScripts
        kwargs.setdefault('removeHints', {})
        # Run pre scripts, if we have the per-job information
        if (uJob.hasJobPreScriptsOrder() and 
            (tagScript or not noScripts)):
            if not self.db.runPreScripts(uJob,
                                         callback = self.getUpdateCallback(),
                                         tagScript = tagScript,
                                         justDatabase = justDatabase,
                                         jobIdx = jobIdx):
                raise UpdateError('error: preupdate script failed')

        try:
            self.db.commitChangeSet(cs, uJob, callback=self.updateCallback,
                                    **kwargs)
        except Exception, e:
            # rollback the current transaction
            self.db.db.rollback()
            if isinstance(e, database.CommitError):
                raise UpdateError, e % "changeset cannot be applied:\n%s"
            raise
dataset/ETHPy150Open sassoftware/conary/conary/conaryclient/update.py/ClientUpdate._applyCs/swapped operands of `%`