Skip to content

Commit cf562a9

Browse files
authored
Merge pull request #90 from blueswen/support-follow-mode
Support retrieve first commit timestamp with follow mode
2 parents 04ea4c2 + 45a94a9 commit cf562a9

File tree

3 files changed

+19
-3
lines changed

3 files changed

+19
-3
lines changed

mkdocs_git_revision_date_localized_plugin/util.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ def get_git_commit_timestamp(
112112
if is_first_commit:
113113
# diff_filter="A" will select the commit that created the file
114114
commit_timestamp = git.log(
115-
realpath, date="unix", format="%at", diff_filter="A", no_show_signature=True
115+
realpath, date="unix", format="%at", diff_filter="A", no_show_signature=True, follow=True
116116
)
117117
# A file can be created multiple times, through a file renamed.
118118
# Commits are ordered with most recent commit first
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# Page for testing creation date follow mode

tests/test_builds.py

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,16 @@ def setup_commit_history(testproject_path):
155155
repo.git.add("docs/page_with_tag.md")
156156
repo.git.commit(message="update homepage", author=author, date="1642911026") # Sun Jan 23 2022 04:10:26 GMT+0000
157157

158+
bf_file_name = os.path.join(testproject_path, "docs/page_with_renamed.md")
159+
af_file_name = os.path.join(testproject_path, "docs/subfolder/page_with_renamed.md")
160+
# Since git.mv would actually remove the file, move page_with_renamed.md back to docs if it has been moved
161+
if os.path.exists(af_file_name):
162+
os.replace(af_file_name, bf_file_name)
163+
repo.git.add("docs/page_with_renamed.md")
164+
repo.git.commit(message="page_with_renamed.md before renamed", author=author, date="1655229469") # Tue Jun 14 2022 17:57:49 GMT+0000
165+
repo.git.mv("docs/page_with_renamed.md", "docs/subfolder/page_with_renamed.md")
166+
repo.git.commit(message="page_with_renamed.md after renamed", author=author, date="1655229515") # Tue Jun 14 2022 17:58:35 GMT+0000
167+
158168
repo.git.add("docs/first_page.md")
159169
repo.git.commit(message="first page", author=author, date="1500854705") # Mon Jul 24 2017 00:05:05 GMT+0000
160170
file_name = os.path.join(testproject_path, "docs/first_page.md")
@@ -254,6 +264,11 @@ def validate_build(testproject_path, plugin_config: dict = {}):
254264
searches = [x in contents for x in date_formats.values()]
255265
assert any(searches), "No correct creation date formats output was found"
256266

267+
commit_timestamp=repo.get_git_commit_timestamp(
268+
path=str(testproject_path / "docs/subfolder/page_with_renamed.md"),
269+
is_first_commit=True
270+
)
271+
assert commit_timestamp == 1655229469
257272

258273
def validate_mkdocs_file(temp_path: str, mkdocs_yml_file: str):
259274
"""
@@ -355,10 +370,10 @@ def test_tags_are_replaced(tmp_path, mkdocs_file):
355370
pytest.skip("Not necessary to test the JS library")
356371

357372
# Make sure count_commits() works
358-
# We created 8 commits in setup_commit_history()
373+
# We created 10 commits in setup_commit_history()
359374
with working_directory(testproject_path):
360375
u = Util()
361-
assert commit_count(u._get_repo("docs/page_with_tag.md")) == 8
376+
assert commit_count(u._get_repo("docs/page_with_tag.md")) == 10
362377

363378

364379
# the revision date was in 'setup_commit_history' was set to 1642911026 (Sun Jan 23 2022 04:10:26 GMT+0000)

0 commit comments

Comments
 (0)