def add_changeset(self, rev, message, author, date, changes=()): if rev is None: rev = self.last_rev = self.last_rev + 1 changeset = Changeset(self, str(rev), message, author, date) changeset.get_changes = lambda: changes self.changesets[changeset.rev] = changeset self.revisions.append(changeset.rev) return str(rev)
def do_sync(db): cursor = db.cursor() cursor.execute( """ SELECT time,author,message FROM revision WHERE repos=%s AND rev=%s """, (self.id, srev)) for time, author, message in cursor: old_cset[0] = Changeset(self.repos, cset.rev, message, author, from_utimestamp(time)) cursor.execute( """ UPDATE revision SET time=%s, author=%s, message=%s WHERE repos=%s AND rev=%s """, (to_utimestamp( cset.date), cset.author, cset.message, self.id, srev))
def sync_changeset(self, rev): cset = self.repos.get_changeset(rev) srev = self.db_rev(cset.rev) old_cset = None with self.env.db_transaction as db: for time, author, message in db( """ SELECT time, author, message FROM revision WHERE repos=%s AND rev=%s """, (self.id, srev)): old_cset = Changeset(self.repos, cset.rev, message, author, from_utimestamp(time)) if old_cset: db( """UPDATE revision SET time=%s, author=%s, message=%s WHERE repos=%s AND rev=%s """, (to_utimestamp( cset.date), cset.author, cset.message, self.id, srev)) else: self._insert_changeset(db, rev, cset) return old_cset