def normalize_rev(self, rev): if rev == 'None' or rev == None or rev == '': return self.get_youngest_rev() normrev = self.git.verifyrev(rev) if normrev is None: raise NoSuchChangeset(rev) return normrev
def _normalize_rev(rev): try: return int(rev) except ValueError: if rev == 'head': return '200' else: raise NoSuchChangeset(rev)
def normalize_rev(self, rev): try: rev = int(rev) except (ValueError, TypeError): rev = None if rev is None: rev = self.youngest_rev elif rev > self.youngest_rev: raise NoSuchChangeset(rev) return rev
def hg_node(self, rev): try: if rev: m = re.match(r"(\d+):", rev) if m: rev = m.group(1) return self.repo.lookup(rev) return self.repo.changelog.tip() except (LookupError, RepoError): raise NoSuchChangeset(rev)
def __init__(self, git, sha): self.git = git try: (msg, props) = git.read_commit(sha) except PyGIT.GitErrorSha: raise NoSuchChangeset(sha) self.props = props committer = props['committer'][0] (user, time, tz) = committer.rsplit(None, 2) Changeset.__init__(self, sha, msg, user, float(time))
def normalize_rev(self, rev): if rev is None or isinstance(rev, basestring) and \ rev.lower() in ('', 'head', 'latest', 'youngest'): return self.youngest_rev else: try: rev = int(rev) if rev <= self.youngest_rev: return rev except (ValueError, TypeError): pass raise NoSuchChangeset(rev)
def __init__(self, repos, rev, env): self.env = env for _date, author, message in self.env.db_query(""" SELECT time, author, message FROM revision WHERE repos=%s AND rev=%s """, (repos.id, repos.db_rev(rev))): date = from_utimestamp(_date) Changeset.__init__(self, repos, repos.rev_db(rev), message, author, date) break else: raise NoSuchChangeset(rev)
def __init__(self, rev, db, authz): self.db = db self.authz = authz cursor = self.db.cursor() cursor.execute( "SELECT time,author,message FROM revision " "WHERE rev=%s", (rev, )) row = cursor.fetchone() if row: date, author, message = row Changeset.__init__(self, rev, message, author, int(date)) else: raise NoSuchChangeset(rev)
def normalize_rev(self, rev): if rev is None or isinstance(rev, str) and \ rev.lower() in ('', 'head', 'latest', 'youngest'): return self.rev_db(self.youngest_rev or 0) else: try: rev = int(rev) youngest_rev = int(self.youngest_rev) except (ValueError, TypeError): pass else: if rev <= youngest_rev: return rev raise NoSuchChangeset(rev)
def normalize_rev(self, rev): """Take any revision specification and produce a revision suitable for the rest of the API """ if rev is None or isinstance(rev, basestring) and \ rev.lower() in ('', 'head', 'latest', 'youngest'): return self.youngest_rev else: try: rev = int(rev) if rev <= self.youngest_rev: return rev except (ValueError, TypeError): pass raise NoSuchChangeset(rev)
def __init__(self, repos, rev, env): self.env = env db = self.env.get_db_cnx() cursor = db.cursor() cursor.execute( "SELECT time,author,message FROM revision " "WHERE repos=%s AND rev=%s", (repos.id, repos.db_rev(rev))) row = cursor.fetchone() if row: _date, author, message = row date = from_utimestamp(_date) Changeset.__init__(self, repos, repos.rev_db(rev), message, author, date) else: raise NoSuchChangeset(rev)
def __init__(self, repos, rev, env): self.env = env drev = repos.db_rev(rev) for _date, author, message in self.env.db_query( """ SELECT time, author, message FROM revision WHERE repos=%s AND rev=%s """, (repos.id, drev)): date = from_utimestamp(_date) Changeset.__init__(self, repos, repos.rev_db(rev), message, author, date) break else: repos.log.debug("Missing revision record (%r, %r) in '%s'", repos.id, drev, _norm_reponame(repos)) raise NoSuchChangeset(rev)
def get_properties(self): self._log.debug('PerforceChangeset.get_properties()') import p4trac.repos try: results = self._repos._connection.run('fixes', '-c', str(self._change)) if results.errors: raise PerforceError(results.errors) fixes = '' print results.records for record in results.records: tktid = int(record['Job'][self._job_prefix_length:]) fixes += '#%d ' % tktid if fixes != '': yield ('Tickets', fixes, True, 'message') except p4trac.repos.NoSuchChangelist, e: raise NoSuchChangeset(e.change)
def get_properties(self): import p4trac.repos try: results = self._repos._connection.run('fixes', '-c', str(self._change)) if results.errors: raise PerforceError(results.errors) props = {} fixes = '' for record in results.records: tktid = int(record['Job'][self._job_prefix_length:]) self._log.debug("get_properties %d " % tktid) fixes += ' %d' % tktid if fixes != '': props['Tickets'] = to_unicode(fixes) return props except p4trac.repos.NoSuchChangelist, e: raise NoSuchChangeset(e.change)
def __init__(self, repos, rev, scope, pool=None): self.rev = rev self.scope = scope self.fs_ptr = repos.fs_ptr self.pool = Pool(pool) try: message = self._get_prop(core.SVN_PROP_REVISION_LOG) except core.SubversionException: raise NoSuchChangeset(rev) author = self._get_prop(core.SVN_PROP_REVISION_AUTHOR) # we _hope_ it's UTF-8, but can't be 100% sure (#4321) message = message and to_unicode(message, 'utf-8') author = author and to_unicode(author, 'utf-8') _date = self._get_prop(core.SVN_PROP_REVISION_DATE) if _date: ts = core.svn_time_from_cstring(_date, self.pool()) date = from_utimestamp(ts) else: date = None Changeset.__init__(self, repos, rev, message, author, date)
def previous_rev(self, rev): self.log.debug('previous_rev(%r)' % rev) if not isinstance(rev, int): rev = self.short_rev(rev) if not isinstance(rev, int): raise NoSuchChangeset(rev) from p4trac.repos import _P4ChangesOutputConsumer output = _P4ChangesOutputConsumer(self._repos) self._connection.run('changes', '-l', '-s', 'submitted', '-m', '1', '@<%i' % rev, output=output) if output.errors: from p4trac.repos import PerforcError raise PerforcError(output.errors) if output.changes: return max(output.changes) else: return None
def _get_changeset(rev): raise NoSuchChangeset(rev)
def _get_changeset(rev): if rev == '1': return Mock(message="start", is_viewable=lambda perm: True) else: raise NoSuchChangeset(rev)
def no_changeset(rev): raise NoSuchChangeset(rev)