From 4c2300318952bfdaabd766a6f16f26419ee854da Mon Sep 17 00:00:00 2001 From: Christian Georgi Date: Wed, 29 Mar 2023 15:01:12 +0200 Subject: [PATCH] fix(build): make `lastUpdated` work with git submodules (#2149) --- src/node/markdownToVue.ts | 2 +- src/node/utils/getGitTimestamp.ts | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/node/markdownToVue.ts b/src/node/markdownToVue.ts index 0d48de5a..420a4bf6 100644 --- a/src/node/markdownToVue.ts +++ b/src/node/markdownToVue.ts @@ -187,7 +187,7 @@ export async function createMarkdownToVueRenderFn( } if (includeLastUpdatedData) { - pageData.lastUpdated = await getGitTimestamp(file) + pageData.lastUpdated = await getGitTimestamp(fileOrig) } if (siteConfig?.transformPageData) { diff --git a/src/node/utils/getGitTimestamp.ts b/src/node/utils/getGitTimestamp.ts index 07c4d820..f14a463b 100644 --- a/src/node/utils/getGitTimestamp.ts +++ b/src/node/utils/getGitTimestamp.ts @@ -1,8 +1,13 @@ import { spawn } from 'cross-spawn' +import { basename, dirname } from 'path' export function getGitTimestamp(file: string) { return new Promise((resolve, reject) => { - const child = spawn('git', ['log', '-1', '--pretty="%ci"', file]) + const cwd = dirname(file) + const fileName = basename(file) + const child = spawn('git', ['log', '-1', '--pretty="%ci"', fileName], { + cwd + }) let output = '' child.stdout.on('data', (d) => (output += String(d))) child.on('close', () => {