From 23e508d0783ab7e5179e4d424598492440102e3d Mon Sep 17 00:00:00 2001 From: Oleg Broytman Date: Fri, 20 Dec 2019 21:19:51 +0300 Subject: [PATCH] Feat(set-commit-date): Allow to choose between author and committer date Default is committer date. --- set-commit-date.py | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/set-commit-date.py b/set-commit-date.py index a88c5de..74972e4 100755 --- a/set-commit-date.py +++ b/set-commit-date.py @@ -5,18 +5,36 @@ # Adapted from https://git.wiki.kernel.org/index.php/ExampleScripts#Setting_the_timestamps_of_the_files_to_the_commit_timestamp_of_the_commit_which_last_touched_them # noqa +import argparse import os +import sys import subprocess git_root = subprocess.check_output(['git', 'rev-parse', '--show-toplevel'], universal_newlines=True).rstrip('\n') os.chdir(git_root) +parser = argparse.ArgumentParser(description='Set commit date') +parser.add_argument('-a', '--author', '--author-date', + action='store_true') +parser.add_argument('-c', '--committer', '--committer-date', + action='store_true') +args = parser.parse_args() + +if args.author and args.committer: + parser.print_help() + sys.exit("Use only one of `-a' or `-c' but not both") + +if args.author: + date_format = 'a' +else: + date_format = 'c' # This is the default + separator = '----- GIT LOG SEPARATOR -----' git_log = subprocess.Popen(['git', 'log', '-m', '--first-parent', '--name-status', '--no-color', - '--format=%s%%n%%ct' % separator], + '--format=%s%%n%%%st' % (separator, date_format)], stdout=subprocess.PIPE, stderr=subprocess.STDOUT, universal_newlines=True) changed_files = set() -- 2.39.5