def file_change_history(self, branch='master', limit=None, extensions=None, ignore_dir=None, days=None):
        """
        Returns a DataFrame of all file changes (via the commit history) for the specified branch.  This is similar to
        the commit history DataFrame, but is one row per file edit rather than one row per commit (which may encapsulate
        many file changes). Included in the DataFrame will be the columns:

         * repository
         * date (index)
         * author
         * committer
         * message
         * filename
         * insertions
         * deletions

        :param branch: the branch to return commits for
        :param limit: (optional, default=None) a maximum number of commits to return, None for no limit
        :param extensions: (optional, default=None) a list of file extensions to return commits for
        :param ignore_dir: (optional, default=None) a list of directory names to ignore
        :param days: (optional, default=None) number of days to return if limit is None
        :return: DataFrame
        """

        if limit is not None:
            limit = int(limit / len(self.repo_dirs))

        df = pd.DataFrame(columns=['repository', 'date', 'author', 'committer', 'message', 'rev', 'filename', 'insertions', 'deletions'])

        for repo in self.repos:
            try:
                ch = repo.file_change_history(
                    branch,
                    limit=limit,
                    extensions=extensions,
                    ignore_dir=ignore_dir,
                    days=days
                )
                ch['repository'] = repo._repo_name()
                df = df.append(ch)
            except GitCommandError as err:
                print((repo, branch) % 'Warning! Repo: %s seems to not have the branch: %s')
                pass

        df.reset_index()

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