def get_commit_bzs(self, from_revision, to_revision=None):
        """
        Return a list of tuples, one per commit. Each tuple is (sha1, subject,
        bz_list). bz_list is a (possibly zero-length) list of numbers.
        """
        rng = self.rev_range(from_revision, to_revision)
        GIT_COMMIT_FIELDS = ['id', 'subject', 'body']
        GIT_LOG_FORMAT = ['%h', '%s', '%b']
        GIT_LOG_FORMAT = '%x1f'.join(GIT_LOG_FORMAT) + '%x1e'
        log_out = self('log', '--format=%s' % GIT_LOG_FORMAT, rng,
                       log_cmd=False, fatal=False)
        if not log_out:
            return []

        log = log_out.strip('\n\x1e').split("\x1e")
        log = [row.strip('\n\t ').split("\x1f") for row in log]
        log = [dict(zip(GIT_COMMIT_FIELDS, row)) for row in log]
        result = []
        for commit in log:
            bzs = search_bug_references(commit['subject'])
            bzs.extend(search_bug_references(commit['body']))
            result.append((commit['id'], commit['subject'], bzs))
        return result
Return a list of tuples, one per commit. Each tuple is (sha1, subject,
        bz_list). bz_list is a (possibly zero-length) list of numbers.