示例#1
0
 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
示例#2
0
文件: wikisyntax.py 项目: ohanar/trac
def _normalize_rev(rev):
    try:
        return int(rev)
    except ValueError:
        if rev == 'head':
            return '200'
        else:
            raise NoSuchChangeset(rev)
示例#3
0
 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
示例#4
0
 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)
示例#5
0
    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))
示例#6
0
 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)
示例#7
0
文件: cache.py 项目: khoi-huynh/trac
 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)
示例#8
0
 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)
示例#9
0
文件: cache.py 项目: mugglecloud/trac
 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)
示例#10
0
文件: svn_fs.py 项目: t2y/trac
 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)
示例#11
0
 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)
示例#12
0
文件: cache.py 项目: wataash/trac
 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)
示例#13
0
    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)
示例#14
0
    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)
示例#15
0
文件: svn_fs.py 项目: t2y/trac
 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)
示例#16
0
    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
示例#17
0
def _get_changeset(rev):
    raise NoSuchChangeset(rev)
示例#18
0
文件: wikisyntax.py 项目: ohanar/trac
def _get_changeset(rev):
    if rev == '1':
        return Mock(message="start", is_viewable=lambda perm: True)
    else:
        raise NoSuchChangeset(rev)
示例#19
0
文件: cache.py 项目: ohanar/trac
 def no_changeset(rev):
     raise NoSuchChangeset(rev)