#!/usr/bin/env python3 import argparse import datetime import subprocess def main(): parser = argparse.ArgumentParser(description="Perform a git commit at a different time") parser.add_argument("--minus", type=int, default=0, help="Hours to subtract") parser.add_argument("--plus", type=int, default=0, help="Hours to add") parser.add_argument("message", type=str, help="The commit message") args = parser.parse_args() minus = datetime.timedelta(hours=args.minus) plus = datetime.timedelta(hours=args.plus) date = datetime.datetime.now().astimezone() - minus + plus formatted_date = date.strftime("%a %b %d %Y %H:%M:%S %z") env = { "GIT_AUTHOR_DATE": formatted_date, "GIT_COMMITTER_DATE": formatted_date } subprocess.call(["git", "commit", "-m", args.message, "--date", formatted_date], env=env) if __name__ == "__main__": main()