def revs(self, branch='master', limit=None, skip=None, num_datapoints=None):
        """
        Returns a dataframe of all revision tags and their timestamps for each project. It will have the columns:

         * date
         * repository
         * rev

        :param branch: (optional, default 'master') the branch to work in
        :param limit: (optional, default None), the maximum number of revisions to return, None for no limit
        :param skip: (optional, default None), the number of revisions to skip. Ex: skip=2 returns every other revision, None for no skipping.
        :param num_datapoints: (optional, default=None) if limit and skip are none, and this isn't, then num_datapoints evenly spaced revs will be used

        :return: DataFrame
        """

        if limit is not None:
            limit = math.floor(float(limit) / len(self.repos))

        if num_datapoints is not None:
            num_datapoints = math.floor(len(self.repos) / float(num_datapoints))

        df = pd.DataFrame(columns=['repository', 'rev'])

        for repo in self.repos:
            try:
                revs = repo.revs(branch=branch, limit=limit, skip=skip, num_datapoints=num_datapoints)
                revs['repository'] = repo._repo_name()
                df = df.append(revs)
            except GitCommandError as err:
                print('Warning! Repo: %s couldn\'t be inspected' % (repo, ))
                pass

        df.reset_index()

        return df
dataset/ETHPy150Open wdm0006/git-pandas/gitpandas/project.py/ProjectDirectory.revs/swapped operands of `/`