diff options
author | Sebastian Thiel <byronimo@gmail.com> | 2015-07-17 18:58:04 +0200 |
---|---|---|
committer | Sebastian Thiel <byronimo@gmail.com> | 2015-07-17 18:58:04 +0200 |
commit | 58c78e649cbac271dee187b055335c876fcb1937 (patch) | |
tree | 5c30bdc8849ae56b887a1da500f7e775b656d582 /git/objects | |
parent | c3d33c113b1dfa4be7e3c9924fae029c178505c3 (diff) | |
parent | e3068025b64bee24efc1063aba5138708737c158 (diff) | |
download | gitpython-58c78e649cbac271dee187b055335c876fcb1937.tar.gz |
Merge pull request #317 from avinassh/dates-in-commits
Feature: Make commits with custom `author_date` and `commit_date` (closes #315)
Diffstat (limited to 'git/objects')
-rw-r--r-- | git/objects/commit.py | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/git/objects/commit.py b/git/objects/commit.py index d301e301..376b451d 100644 --- a/git/objects/commit.py +++ b/git/objects/commit.py @@ -266,7 +266,8 @@ class Commit(base.Object, Iterable, Diffable, Traversable, Serializable): finalize_process(proc_or_stream) @classmethod - def create_from_tree(cls, repo, tree, message, parent_commits=None, head=False, author=None, committer=None): + def create_from_tree(cls, repo, tree, message, parent_commits=None, head=False, author=None, committer=None, + author_date=None, commit_date=None): """Commit the given tree, creating a commit object. :param repo: Repo object the commit should be part of @@ -288,6 +289,8 @@ class Commit(base.Object, Iterable, Diffable, Traversable, Serializable): configuration is used to obtain this value. :param committer: The name of the committer, optional. If unset, the repository configuration is used to obtain this value. + :param author_date: The timestamp for the author field + :param commit_date: The timestamp for the committer field :return: Commit object representing the new commit @@ -327,14 +330,18 @@ class Commit(base.Object, Iterable, Diffable, Traversable, Serializable): offset = altzone author_date_str = env.get(cls.env_author_date, '') - if author_date_str: + if author_date: + author_time, author_offset = parse_date(author_date) + elif author_date_str: author_time, author_offset = parse_date(author_date_str) else: author_time, author_offset = unix_time, offset # END set author time committer_date_str = env.get(cls.env_committer_date, '') - if committer_date_str: + if commit_date: + committer_time, committer_offset = parse_date(commit_date) + elif committer_date_str: committer_time, committer_offset = parse_date(committer_date_str) else: committer_time, committer_offset = unix_time, offset |