Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit58c78e6

Browse files
committed
Merge pull requestgitpython-developers#317 from avinassh/dates-in-commits
Feature: Make commits with custom `author_date` and `commit_date` (closesgitpython-developers#315)
2 parentsc3d33c1 +e306802 commit58c78e6

File tree

3 files changed

+25
-5
lines changed

3 files changed

+25
-5
lines changed

‎git/index/base.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -922,7 +922,8 @@ def move(self, items, skip_errors=False, **kwargs):
922922

923923
returnout
924924

925-
defcommit(self,message,parent_commits=None,head=True,author=None,committer=None):
925+
defcommit(self,message,parent_commits=None,head=True,author=None,
926+
committer=None,author_date=None,commit_date=None):
926927
"""Commit the current default index file, creating a commit object.
927928
For more information on the arguments, see tree.commit.
928929
@@ -932,7 +933,8 @@ def commit(self, message, parent_commits=None, head=True, author=None, committer
932933
run_commit_hook('pre-commit',self)
933934
tree=self.write_tree()
934935
rval=Commit.create_from_tree(self.repo,tree,message,parent_commits,
935-
head,author=author,committer=committer)
936+
head,author=author,committer=committer,
937+
author_date=author_date,commit_date=commit_date)
936938
run_commit_hook('post-commit',self)
937939
returnrval
938940

‎git/objects/commit.py

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -266,7 +266,8 @@ def _iter_from_process_or_stream(cls, repo, proc_or_stream):
266266
finalize_process(proc_or_stream)
267267

268268
@classmethod
269-
defcreate_from_tree(cls,repo,tree,message,parent_commits=None,head=False,author=None,committer=None):
269+
defcreate_from_tree(cls,repo,tree,message,parent_commits=None,head=False,author=None,committer=None,
270+
author_date=None,commit_date=None):
270271
"""Commit the given tree, creating a commit object.
271272
272273
:param repo: Repo object the commit should be part of
@@ -288,6 +289,8 @@ def create_from_tree(cls, repo, tree, message, parent_commits=None, head=False,
288289
configuration is used to obtain this value.
289290
:param committer: The name of the committer, optional. If unset, the
290291
repository configuration is used to obtain this value.
292+
:param author_date: The timestamp for the author field
293+
:param commit_date: The timestamp for the committer field
291294
292295
:return: Commit object representing the new commit
293296
@@ -327,14 +330,18 @@ def create_from_tree(cls, repo, tree, message, parent_commits=None, head=False,
327330
offset=altzone
328331

329332
author_date_str=env.get(cls.env_author_date,'')
330-
ifauthor_date_str:
333+
ifauthor_date:
334+
author_time,author_offset=parse_date(author_date)
335+
elifauthor_date_str:
331336
author_time,author_offset=parse_date(author_date_str)
332337
else:
333338
author_time,author_offset=unix_time,offset
334339
# END set author time
335340

336341
committer_date_str=env.get(cls.env_committer_date,'')
337-
ifcommitter_date_str:
342+
ifcommit_date:
343+
committer_time,committer_offset=parse_date(commit_date)
344+
elifcommitter_date_str:
338345
committer_time,committer_offset=parse_date(committer_date_str)
339346
else:
340347
committer_time,committer_offset=unix_time,offset

‎git/test/test_index.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -470,6 +470,17 @@ def mixed_iterator():
470470
assertcur_head.commit==commit_actor
471471
assertcur_head.log()[-1].actor==my_committer
472472

473+
# commit with author_date and commit_date
474+
cur_commit=cur_head.commit
475+
commit_message=u"commit with dates by Avinash Sajjanshetty"
476+
477+
new_commit=index.commit(commit_message,author_date="2006-04-07T22:13:13",commit_date="2005-04-07T22:13:13")
478+
assertcur_commit!=new_commit
479+
print(new_commit.authored_date,new_commit.committed_date)
480+
assertnew_commit.message==commit_message
481+
assertnew_commit.authored_date==1144447993
482+
assertnew_commit.committed_date==1112911993
483+
473484
# same index, no parents
474485
commit_message="index without parents"
475486
commit_no_parents=index.commit(commit_message,parent_commits=list(),head=True)

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp