def setup_argparser():
    """
    Returns an instance of argparse.ArgumentParser for git-guilt
    """
    import argparse
    parser = argparse.ArgumentParser(prog='git guilt', description=
        """
git-guilt is a custom tool written for git(1). It provides
information regarding the transfer of ownership between two
revisions of a repository.
        """
        .strip(), epilog=
        """
Please note that git-guilt needs git >= 1.7.2 in order to process binary files.
        """
        .strip())
    parser.add_argument('-e', '--email', action='store_true', help=
        "Causes git-guilt to report transfers of ownership using authors' email addresses instead of their names"
        )
    parser.add_argument('since', metavar='since', nargs='?', help=
        'The revision starting from which the transfer of blame should be reported'
        )
    parser.add_argument('until', metavar='until', nargs='?', help=
        'The revision until which the transfer of blame should be reported')
    return parser
