From 32d04750d0d5070091a8899cba9304f795d4478c Mon Sep 17 00:00:00 2001 From: yoouyeon Date: Sun, 13 Oct 2024 19:55:29 +0900 Subject: [PATCH 01/12] =?UTF-8?q?chore(engine):=20constant=20=EC=A0=9C?= =?UTF-8?q?=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/analysis-engine/src/constant.ts | 2 -- packages/analysis-engine/src/index.ts | 3 +-- 2 files changed, 1 insertion(+), 4 deletions(-) delete mode 100644 packages/analysis-engine/src/constant.ts diff --git a/packages/analysis-engine/src/constant.ts b/packages/analysis-engine/src/constant.ts deleted file mode 100644 index 07a83dad..00000000 --- a/packages/analysis-engine/src/constant.ts +++ /dev/null @@ -1,2 +0,0 @@ -export const COMMIT_SEPARATOR = "4itc2s8hH-oA64s08h19"; -export const GIT_LOG_SEPARATOR = "I9M-0XOzvHlYPegVPpzb"; diff --git a/packages/analysis-engine/src/index.ts b/packages/analysis-engine/src/index.ts index 1549803d..91bf1899 100644 --- a/packages/analysis-engine/src/index.ts +++ b/packages/analysis-engine/src/index.ts @@ -75,7 +75,7 @@ export class AnalysisEngine { if (this.isDebugMode) console.log("stemDict: ", stemDict); const csmDict = buildCSMDict(commitDict, stemDict, this.baseBranchName, pullRequests); if (this.isDebugMode) console.log("csmDict: ", csmDict); - const nodes = stemDict.get(this.baseBranchName)?.nodes?.map(({commit}) => commit); + const nodes = stemDict.get(this.baseBranchName)?.nodes?.map(({ commit }) => commit); const geminiCommitSummary = await getSummary(nodes ? nodes?.slice(-10) : []); if (this.isDebugMode) console.log("GeminiCommitSummary: ", geminiCommitSummary); @@ -92,4 +92,3 @@ export class AnalysisEngine { } export default AnalysisEngine; -export { COMMIT_SEPARATOR, GIT_LOG_SEPARATOR } from "./constant"; From 67020244c44f4eb526b594ba06c1a277c3831526 Mon Sep 17 00:00:00 2001 From: yoouyeon Date: Sun, 13 Oct 2024 20:03:54 +0900 Subject: [PATCH 02/12] =?UTF-8?q?feat(engine):=20commit=20separator=20?= =?UTF-8?q?=EC=84=A4=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/analysis-engine/src/parser.ts | 86 +++++++++++++++----------- packages/vscode/src/utils/git.util.ts | 17 ++--- 2 files changed, 60 insertions(+), 43 deletions(-) diff --git a/packages/analysis-engine/src/parser.ts b/packages/analysis-engine/src/parser.ts index eb17eb44..ec8cd236 100644 --- a/packages/analysis-engine/src/parser.ts +++ b/packages/analysis-engine/src/parser.ts @@ -1,18 +1,23 @@ import { getCommitMessageType } from "./commit.util"; -import { COMMIT_SEPARATOR, GIT_LOG_SEPARATOR } from "./constant"; -import type { CommitRaw } from "./types"; +import type { CommitRaw, DifferenceStatistic } from "./types"; export default function getCommitRaws(log: string) { if (!log) return []; + console.log(log); const EOL_REGEX = /\r?\n/; + const COMMIT_SEPARATOR = new RegExp(`${EOL_REGEX.source}{4}`); + const COMMIT_MESSAGE_BODY_INDENTATION = " "; // step 0: Split log into commits - const commits = log.split(COMMIT_SEPARATOR); + const commits = log.substring(2).split(COMMIT_SEPARATOR); const commitRaws: CommitRaw[] = []; - // skip the first empty element - for (let commitIdx = 1; commitIdx < commits.length; commitIdx += 1) { - // step 1: Extract commitData from the first line of the commit - const commitData = commits[commitIdx].split(GIT_LOG_SEPARATOR); + console.log("length: ", commits.length); + console.log(commits[0]); + console.log("-----------------"); + console.log(commits[commits.length - 1]); + for (let commitIdx = 0; commitIdx < commits.length; commitIdx += 1) { + // step 1: Extract commitData + const commitData = commits[commitIdx].split(EOL_REGEX); const [ id, parents, @@ -23,10 +28,9 @@ export default function getCommitRaws(log: string) { committerName, committerEmail, committerDate, - message, - diffStats, + ...messageAndDiffStats ] = commitData; - // Extract branch and tag data from refs + // step 2: Extract branch and tag data from refs const refsArray = refs.replace(" -> ", ", ").split(", "); const [branches, tags]: string[][] = refsArray.reduce( ([branches, tags], ref) => { @@ -41,7 +45,41 @@ export default function getCommitRaws(log: string) { [new Array(), new Array()] ); - // make base commitRaw object + // step 3: Extract message and diffStats + let messageAndDiffStatsIdx = 0; + let message = ""; + const diffStats: DifferenceStatistic = { + totalInsertionCount: 0, + totalDeletionCount: 0, + fileDictionary: {}, + }; + // Extract message + while (messageAndDiffStatsIdx < messageAndDiffStats.length && messageAndDiffStats[messageAndDiffStatsIdx] !== "") { + const line = messageAndDiffStats[messageAndDiffStatsIdx]; + if (line.startsWith(COMMIT_MESSAGE_BODY_INDENTATION)) message += "\n" + line.trim(); + else message += line; + messageAndDiffStatsIdx++; + } + // Extract diffStats + while (messageAndDiffStatsIdx < messageAndDiffStats.length) { + const line = messageAndDiffStats[messageAndDiffStatsIdx]; + if (line === "") { + messageAndDiffStatsIdx++; + continue; + } + const [insertions, deletions, path] = line.split("\t"); + const numberedInsertions = insertions === "-" ? 0 : Number(insertions); + const numberedDeletions = deletions === "-" ? 0 : Number(deletions); + diffStats.totalInsertionCount += numberedInsertions; + diffStats.totalDeletionCount += numberedDeletions; + diffStats.fileDictionary[path] = { + insertionCount: numberedInsertions, + deletionCount: numberedDeletions, + }; + messageAndDiffStatsIdx++; + } + + // step 4: Construct commitRaw const commitRaw: CommitRaw = { sequence: commitIdx - 1, id, @@ -60,32 +98,8 @@ export default function getCommitRaws(log: string) { committerDate: new Date(committerDate), message, commitMessageType: getCommitMessageType(message), - differenceStatistic: { - totalInsertionCount: 0, - totalDeletionCount: 0, - fileDictionary: {}, - }, + differenceStatistic: diffStats, }; - - // step 2: Extract diffStats from the rest of the commit - if (!diffStats) { - commitRaws.push(commitRaw); - continue; - } - const diffStatsArray = diffStats.split(EOL_REGEX); - // pass the first empty element - for (let diffIdx = 1; diffIdx < diffStatsArray.length; diffIdx += 1) { - if (diffStatsArray[diffIdx] === "") continue; - const [insertions, deletions, path] = diffStatsArray[diffIdx].split("\t"); - const numberedInsertions = insertions === "-" ? 0 : Number(insertions); - const numberedDeletions = deletions === "-" ? 0 : Number(deletions); - commitRaw.differenceStatistic.totalInsertionCount += numberedInsertions; - commitRaw.differenceStatistic.totalDeletionCount += numberedDeletions; - commitRaw.differenceStatistic.fileDictionary[path] = { - insertionCount: numberedInsertions, - deletionCount: numberedDeletions, - }; - } commitRaws.push(commitRaw); } diff --git a/packages/vscode/src/utils/git.util.ts b/packages/vscode/src/utils/git.util.ts index d18bc8e2..70eef0d5 100644 --- a/packages/vscode/src/utils/git.util.ts +++ b/packages/vscode/src/utils/git.util.ts @@ -155,8 +155,10 @@ export async function getGitExecutableFromPaths(paths: string[]): Promise { return new Promise((resolve, reject) => { + const GIT_LOG_SEPARATOR = "%n"; // newline + const gitLogFormat = - COMMIT_SEPARATOR + + "%n%n" + [ "%H", // commit hash (id) "%P", // parent hashes @@ -164,12 +166,13 @@ export async function getGitLog(gitPath: string, currentWorkspacePath: string): "%an", // author name "%ae", // author email "%ad", // author date - "%cn", - "%ce", - "%cd", // committer name, committer email and committer date - "%B", // commit message (subject and body) - ].join(GIT_LOG_SEPARATOR) + - GIT_LOG_SEPARATOR; + "%cn", // committer name + "%ce", // committer email + "%cd", // committer date + "%w(0,0,4)%s", // commit message subject + "%b", // commit message body + ].join(GIT_LOG_SEPARATOR); + console.log("gitLogFormat: ", gitLogFormat); const args = [ "--no-pager", "log", From e6d29c7cec440464af16ccff986c832296659b88 Mon Sep 17 00:00:00 2001 From: yoouyeon Date: Sun, 13 Oct 2024 20:06:15 +0900 Subject: [PATCH 03/12] =?UTF-8?q?fix(engine):=20sequence=20=EC=98=A4?= =?UTF-8?q?=EB=A5=98=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/analysis-engine/src/parser.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/analysis-engine/src/parser.ts b/packages/analysis-engine/src/parser.ts index ec8cd236..a694b572 100644 --- a/packages/analysis-engine/src/parser.ts +++ b/packages/analysis-engine/src/parser.ts @@ -81,7 +81,7 @@ export default function getCommitRaws(log: string) { // step 4: Construct commitRaw const commitRaw: CommitRaw = { - sequence: commitIdx - 1, + sequence: commitIdx, id, parents: parents.split(" "), branches, From b53e520adf8fe21141e507ef777bee561dd992a9 Mon Sep 17 00:00:00 2001 From: yoouyeon Date: Sun, 13 Oct 2024 20:12:54 +0900 Subject: [PATCH 04/12] =?UTF-8?q?fix(engine):=20parents=EA=B0=80=20?= =?UTF-8?q?=EC=97=86=EB=8A=94=20=EA=B2=BD=EC=9A=B0=EC=9D=98=20=EC=98=A4?= =?UTF-8?q?=EB=A5=98=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/analysis-engine/src/parser.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/analysis-engine/src/parser.ts b/packages/analysis-engine/src/parser.ts index a694b572..04a7a904 100644 --- a/packages/analysis-engine/src/parser.ts +++ b/packages/analysis-engine/src/parser.ts @@ -83,7 +83,7 @@ export default function getCommitRaws(log: string) { const commitRaw: CommitRaw = { sequence: commitIdx, id, - parents: parents.split(" "), + parents: parents.length === 0 ? [] : parents.split(" "), branches, tags, author: { From 55e137a12b57eaf549fcd76058f1d7824f38ce81 Mon Sep 17 00:00:00 2001 From: yoouyeon Date: Sun, 13 Oct 2024 20:19:03 +0900 Subject: [PATCH 05/12] =?UTF-8?q?chore(engine):=20=EB=B6=88=ED=95=84?= =?UTF-8?q?=EC=9A=94=ED=95=9C=20=EC=B6=9C=EB=A0=A5=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/analysis-engine/src/parser.ts | 5 ----- 1 file changed, 5 deletions(-) diff --git a/packages/analysis-engine/src/parser.ts b/packages/analysis-engine/src/parser.ts index 04a7a904..b706862e 100644 --- a/packages/analysis-engine/src/parser.ts +++ b/packages/analysis-engine/src/parser.ts @@ -3,7 +3,6 @@ import type { CommitRaw, DifferenceStatistic } from "./types"; export default function getCommitRaws(log: string) { if (!log) return []; - console.log(log); const EOL_REGEX = /\r?\n/; const COMMIT_SEPARATOR = new RegExp(`${EOL_REGEX.source}{4}`); const COMMIT_MESSAGE_BODY_INDENTATION = " "; @@ -11,10 +10,6 @@ export default function getCommitRaws(log: string) { // step 0: Split log into commits const commits = log.substring(2).split(COMMIT_SEPARATOR); const commitRaws: CommitRaw[] = []; - console.log("length: ", commits.length); - console.log(commits[0]); - console.log("-----------------"); - console.log(commits[commits.length - 1]); for (let commitIdx = 0; commitIdx < commits.length; commitIdx += 1) { // step 1: Extract commitData const commitData = commits[commitIdx].split(EOL_REGEX); From d9c53fd488b72b0e629d03c12761a4f726148e2c Mon Sep 17 00:00:00 2001 From: yoouyeon Date: Sun, 13 Oct 2024 22:39:41 +0900 Subject: [PATCH 06/12] =?UTF-8?q?chore(vscode):=20=EB=B6=88=ED=95=84?= =?UTF-8?q?=EC=9A=94=ED=95=9C=20import=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/vscode/src/utils/git.util.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/vscode/src/utils/git.util.ts b/packages/vscode/src/utils/git.util.ts index 70eef0d5..128f6095 100644 --- a/packages/vscode/src/utils/git.util.ts +++ b/packages/vscode/src/utils/git.util.ts @@ -1,4 +1,3 @@ -import { COMMIT_SEPARATOR, GIT_LOG_SEPARATOR } from "@githru-vscode-ext/analysis-engine"; import * as cp from "child_process"; import * as fs from "fs"; import * as path from "path"; From 4f973655ef69c9757cf444e504d919dbb1804038 Mon Sep 17 00:00:00 2001 From: yoouyeon Date: Sun, 13 Oct 2024 22:40:35 +0900 Subject: [PATCH 07/12] =?UTF-8?q?fix(engine):=20commit=20message,=20diffst?= =?UTF-8?q?at=20=ED=8C=8C=EC=8B=B1=20=EB=A1=9C=EC=A7=81=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/analysis-engine/src/parser.ts | 48 +++++++++++++------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/packages/analysis-engine/src/parser.ts b/packages/analysis-engine/src/parser.ts index b706862e..4eef9189 100644 --- a/packages/analysis-engine/src/parser.ts +++ b/packages/analysis-engine/src/parser.ts @@ -41,39 +41,39 @@ export default function getCommitRaws(log: string) { ); // step 3: Extract message and diffStats - let messageAndDiffStatsIdx = 0; - let message = ""; + let messageSubject = ""; + let messageBody = ""; const diffStats: DifferenceStatistic = { totalInsertionCount: 0, totalDeletionCount: 0, fileDictionary: {}, }; - // Extract message - while (messageAndDiffStatsIdx < messageAndDiffStats.length && messageAndDiffStats[messageAndDiffStatsIdx] !== "") { - const line = messageAndDiffStats[messageAndDiffStatsIdx]; - if (line.startsWith(COMMIT_MESSAGE_BODY_INDENTATION)) message += "\n" + line.trim(); - else message += line; - messageAndDiffStatsIdx++; - } - // Extract diffStats - while (messageAndDiffStatsIdx < messageAndDiffStats.length) { - const line = messageAndDiffStats[messageAndDiffStatsIdx]; - if (line === "") { - messageAndDiffStatsIdx++; + for (let idx = 0; idx < messageAndDiffStats.length; idx++) { + const line = messageAndDiffStats[idx]; + if (idx === 0) + // message subject + messageSubject = line; + else if (line.startsWith(COMMIT_MESSAGE_BODY_INDENTATION)) { + // message body (add newline if not first line) + messageBody += idx === 1 ? line.trim() : `\n${line.trim()}`; + } else if (line === "") + // pass empty line continue; + else { + // diffStats + const [insertions, deletions, path] = line.split("\t"); + const numberedInsertions = insertions === "-" ? 0 : Number(insertions); + const numberedDeletions = deletions === "-" ? 0 : Number(deletions); + diffStats.totalInsertionCount += numberedInsertions; + diffStats.totalDeletionCount += numberedDeletions; + diffStats.fileDictionary[path] = { + insertionCount: numberedInsertions, + deletionCount: numberedDeletions, + }; } - const [insertions, deletions, path] = line.split("\t"); - const numberedInsertions = insertions === "-" ? 0 : Number(insertions); - const numberedDeletions = deletions === "-" ? 0 : Number(deletions); - diffStats.totalInsertionCount += numberedInsertions; - diffStats.totalDeletionCount += numberedDeletions; - diffStats.fileDictionary[path] = { - insertionCount: numberedInsertions, - deletionCount: numberedDeletions, - }; - messageAndDiffStatsIdx++; } + const message = messageBody === "" ? messageSubject : `${messageSubject}\n${messageBody}`; // step 4: Construct commitRaw const commitRaw: CommitRaw = { sequence: commitIdx, From 17901e12004273c5fde18dd82646b179f92a6749 Mon Sep 17 00:00:00 2001 From: yoouyeon Date: Sun, 13 Oct 2024 22:41:15 +0900 Subject: [PATCH 08/12] =?UTF-8?q?test(engine):=20=EB=B3=80=EA=B2=BD?= =?UTF-8?q?=EB=90=9C=20=ED=8F=AC=EB=A7=B7=EC=97=90=20=EB=A7=9E=EA=B2=8C=20?= =?UTF-8?q?=ED=85=8C=EC=8A=A4=ED=8A=B8=EC=BC=80=EC=9D=B4=EC=8A=A4=20?= =?UTF-8?q?=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/analysis-engine/src/parser.spec.ts | 199 +++++++++++++++++--- 1 file changed, 171 insertions(+), 28 deletions(-) diff --git a/packages/analysis-engine/src/parser.spec.ts b/packages/analysis-engine/src/parser.spec.ts index d86a36eb..0bb2b0c4 100644 --- a/packages/analysis-engine/src/parser.spec.ts +++ b/packages/analysis-engine/src/parser.spec.ts @@ -1,5 +1,4 @@ import { getCommitMessageType } from "./commit.util"; -import { COMMIT_SEPARATOR, GIT_LOG_SEPARATOR } from "./constant"; import getCommitRaws from "./parser"; import type { CommitRaw, DifferenceStatistic } from "./types"; @@ -36,11 +35,23 @@ describe("commit message type", () => { }); describe("getCommitRaws", () => { - const fakeAuthorAndCommitter = `${GIT_LOG_SEPARATOR}John Park${GIT_LOG_SEPARATOR}mail@gmail.com${GIT_LOG_SEPARATOR}Sun Sep 4 20:17:59 2022 +0900${GIT_LOG_SEPARATOR}John Park 2${GIT_LOG_SEPARATOR}mail2@gmail.com${GIT_LOG_SEPARATOR}Sun Sep 5 20:17:59 2022 +0900`; - const fakeCommitMessage = `${GIT_LOG_SEPARATOR}commit message${GIT_LOG_SEPARATOR}`; - const fakeCommitMessageAndBody = `${GIT_LOG_SEPARATOR}commit message title\n\ncommit message body${GIT_LOG_SEPARATOR}`; - const fakeCommitHash = `a${GIT_LOG_SEPARATOR}b`; - const fakeCommitRef = `${GIT_LOG_SEPARATOR}HEAD`; + const FRONT_NEW_LINE = "\n\n"; + const COMMIT_MESSAGE_BODY_INDENTATION = " "; + + const fakeAuthor = `John Park +mail@gmail.com +Sun Sep 4 20:17:59 2022 +0900`; + const fakeCommitter = `John Park 2 +mail2@gmail.com +Sun Sep 5 20:17:59 2022 +0900`; + const fakeCommitMessage = `commit message +${COMMIT_MESSAGE_BODY_INDENTATION}`; + const fakeCommitMessageAndBody = `commit message title + +${COMMIT_MESSAGE_BODY_INDENTATION}commit message body`; + const fakeCommitHash = `a +b`; + const fakeCommitRef = "HEAD"; const fakeCommitFileChange = "10\t0\ta.ts\n1\t0\tREADME.md"; const commonExpectatedResult: CommitRaw = { @@ -73,15 +84,27 @@ describe("getCommitRaws", () => { it.each([ [ - `${COMMIT_SEPARATOR}${`a${GIT_LOG_SEPARATOR}`}${fakeCommitRef}${fakeAuthorAndCommitter}${fakeCommitMessage}`, + FRONT_NEW_LINE + + `a + +${fakeCommitRef} +${fakeAuthor} +${fakeCommitter} +${fakeCommitMessage}`, { ...commonExpectatedResult, id: "a", - parents: [""], + parents: [], }, ], [ - `${COMMIT_SEPARATOR}${`c${GIT_LOG_SEPARATOR}b`}${fakeCommitRef}${fakeAuthorAndCommitter}${fakeCommitMessage}`, + FRONT_NEW_LINE + + `c +b +${fakeCommitRef} +${fakeAuthor} +${fakeCommitter} +${fakeCommitMessage}`, { ...commonExpectatedResult, id: "c", @@ -89,7 +112,13 @@ describe("getCommitRaws", () => { }, ], [ - `${COMMIT_SEPARATOR}${`d${GIT_LOG_SEPARATOR}e f`}${fakeCommitRef}${fakeAuthorAndCommitter}${fakeCommitMessage}`, + FRONT_NEW_LINE + + `d +e f +${fakeCommitRef} +${fakeAuthor} +${fakeCommitter} +${fakeCommitMessage}`, { ...commonExpectatedResult, id: "d", @@ -103,7 +132,12 @@ describe("getCommitRaws", () => { it.each([ [ - `${COMMIT_SEPARATOR}${fakeCommitHash}${`${GIT_LOG_SEPARATOR}HEAD`}${fakeAuthorAndCommitter}${fakeCommitMessage}`, + FRONT_NEW_LINE + + `${fakeCommitHash} +HEAD +${fakeAuthor} +${fakeCommitter} +${fakeCommitMessage}`, { ...commonExpectatedResult, branches: ["HEAD"], @@ -111,7 +145,12 @@ describe("getCommitRaws", () => { }, ], [ - `${COMMIT_SEPARATOR}${fakeCommitHash}${`${GIT_LOG_SEPARATOR}HEAD -> main, origin/main, origin/HEAD`}${fakeAuthorAndCommitter}${fakeCommitMessage}`, + FRONT_NEW_LINE + + `${fakeCommitHash} +HEAD -> main, origin/main, origin/HEAD +${fakeAuthor} +${fakeCommitter} +${fakeCommitMessage}`, { ...commonExpectatedResult, branches: ["HEAD", "main", "origin/main", "origin/HEAD"], @@ -119,7 +158,12 @@ describe("getCommitRaws", () => { }, ], [ - `${COMMIT_SEPARATOR}${fakeCommitHash}${`${GIT_LOG_SEPARATOR}HEAD, tag: v1.0.0`}${fakeAuthorAndCommitter}${fakeCommitMessage}`, + FRONT_NEW_LINE + + `${fakeCommitHash} +HEAD, tag: v1.0.0 +${fakeAuthor} +${fakeCommitter} +${fakeCommitMessage}`, { ...commonExpectatedResult, branches: ["HEAD"], @@ -127,7 +171,12 @@ describe("getCommitRaws", () => { }, ], [ - `${COMMIT_SEPARATOR}${fakeCommitHash}${`${GIT_LOG_SEPARATOR}HEAD -> main, origin/main, origin/HEAD, tag: v2.0.0`}${fakeAuthorAndCommitter}${fakeCommitMessage}`, + FRONT_NEW_LINE + + `${fakeCommitHash} +HEAD -> main, origin/main, origin/HEAD, tag: v2.0.0 +${fakeAuthor} +${fakeCommitter} +${fakeCommitMessage}`, { ...commonExpectatedResult, branches: ["HEAD", "main", "origin/main", "origin/HEAD"], @@ -135,7 +184,12 @@ describe("getCommitRaws", () => { }, ], [ - `${COMMIT_SEPARATOR}${fakeCommitHash}${`${GIT_LOG_SEPARATOR}HEAD, tag: v2.0.0, tag: v1.4`}${fakeAuthorAndCommitter}${fakeCommitMessage}`, + FRONT_NEW_LINE + + `${fakeCommitHash} +HEAD, tag: v2.0.0, tag: v1.4 +${fakeAuthor} +${fakeCommitter} +${fakeCommitMessage}`, { ...commonExpectatedResult, branches: ["HEAD"], @@ -143,7 +197,12 @@ describe("getCommitRaws", () => { }, ], [ - `${COMMIT_SEPARATOR}${fakeCommitHash}${GIT_LOG_SEPARATOR}${fakeAuthorAndCommitter}${fakeCommitMessage}`, + FRONT_NEW_LINE + + `${fakeCommitHash} + +${fakeAuthor} +${fakeCommitter} +${fakeCommitMessage}`, { ...commonExpectatedResult, branches: [], @@ -157,7 +216,14 @@ describe("getCommitRaws", () => { it.each([ [ - `${COMMIT_SEPARATOR}${fakeCommitHash}${fakeCommitRef}${fakeAuthorAndCommitter}${fakeCommitMessage}\n${"10\t0\ta.ts\n1\t0\tREADME.md"}`, + FRONT_NEW_LINE + + `${fakeCommitHash} +${fakeCommitRef} +${fakeAuthor} +${fakeCommitter} +${fakeCommitMessage} +10\t0\ta.ts +1\t0\tREADME.md`, { ...commonExpectatedResult, differenceStatistic: { @@ -171,7 +237,13 @@ describe("getCommitRaws", () => { }, ], [ - `${COMMIT_SEPARATOR}${fakeCommitHash}${fakeCommitRef}${fakeAuthorAndCommitter}${fakeCommitMessage}\n${"3\t3\ta.ts"}`, + FRONT_NEW_LINE + + `${fakeCommitHash} +${fakeCommitRef} +${fakeAuthor} +${fakeCommitter} +${fakeCommitMessage} +3\t3\ta.ts`, { ...commonExpectatedResult, differenceStatistic: { @@ -182,7 +254,13 @@ describe("getCommitRaws", () => { }, ], [ - `${COMMIT_SEPARATOR}${fakeCommitHash}${fakeCommitRef}${fakeAuthorAndCommitter}${fakeCommitMessage}\n${"4\t0\ta.ts"}`, + FRONT_NEW_LINE + + `${fakeCommitHash} +${fakeCommitRef} +${fakeAuthor} +${fakeCommitter} +${fakeCommitMessage} +4\t0\ta.ts`, { ...commonExpectatedResult, differenceStatistic: { @@ -193,7 +271,15 @@ describe("getCommitRaws", () => { }, ], [ - `${COMMIT_SEPARATOR}${fakeCommitHash}${fakeCommitRef}${fakeAuthorAndCommitter}${fakeCommitMessage}\n${"0\t6\ta.ts\n2\t0\tb.ts\n3\t3\tc.ts"}`, + FRONT_NEW_LINE + + `${fakeCommitHash} +${fakeCommitRef} +${fakeAuthor} +${fakeCommitter} +${fakeCommitMessage} +0\t6\ta.ts +2\t0\tb.ts +3\t3\tc.ts`, { ...commonExpectatedResult, differenceStatistic: { @@ -213,8 +299,25 @@ describe("getCommitRaws", () => { }); it(`should parse gitlog to commitRaw(multiple commits)`, () => { - const mockLog = `${COMMIT_SEPARATOR}${fakeCommitHash}${fakeCommitRef}${fakeAuthorAndCommitter}${fakeCommitMessage}\n${fakeCommitFileChange}${COMMIT_SEPARATOR}${fakeCommitHash}${fakeCommitRef}${fakeAuthorAndCommitter}${fakeCommitMessage}`; + const mockLog = + FRONT_NEW_LINE + + `${fakeCommitHash} +${fakeCommitRef} +${fakeAuthor} +${fakeCommitter} +${fakeCommitMessage} +${fakeCommitFileChange} + + + +${fakeCommitHash} +${fakeCommitRef} +${fakeAuthor} +${fakeCommitter} +${fakeCommitMessage}`; + console.log(mockLog); const result = getCommitRaws(mockLog); + console.log(result); const expectedResult = [ { ...commonExpectatedResult, differenceStatistic: expectedFileChange }, { ...commonExpectatedResult, sequence: 1 }, @@ -225,23 +328,56 @@ describe("getCommitRaws", () => { it.each([ [ - `${COMMIT_SEPARATOR}${fakeCommitHash}${fakeCommitRef}${fakeAuthorAndCommitter}${`${GIT_LOG_SEPARATOR}commit message title${GIT_LOG_SEPARATOR}`}`, + FRONT_NEW_LINE + + `${fakeCommitHash} +${fakeCommitRef} +${fakeAuthor} +${fakeCommitter} +commit message title +${COMMIT_MESSAGE_BODY_INDENTATION}`, { ...commonExpectatedResult, message: "commit message title" }, ], [ - `${COMMIT_SEPARATOR}${fakeCommitHash}${fakeCommitRef}${fakeAuthorAndCommitter}${`${GIT_LOG_SEPARATOR}commit message title\ncommit message${GIT_LOG_SEPARATOR}`}`, - { ...commonExpectatedResult, message: "commit message title\ncommit message" }, + FRONT_NEW_LINE + + `${fakeCommitHash} +${fakeCommitRef} +${fakeAuthor} +${fakeCommitter} +commit message title +${COMMIT_MESSAGE_BODY_INDENTATION}commit message body`, + { ...commonExpectatedResult, message: "commit message title\ncommit message body" }, ], [ - `${COMMIT_SEPARATOR}${fakeCommitHash}${fakeCommitRef}${fakeAuthorAndCommitter}${`${GIT_LOG_SEPARATOR}commit message title\n\ncommit message body${GIT_LOG_SEPARATOR}`}`, + FRONT_NEW_LINE + + `${fakeCommitHash} +${fakeCommitRef} +${fakeAuthor} +${fakeCommitter} +commit message title +${COMMIT_MESSAGE_BODY_INDENTATION} +${COMMIT_MESSAGE_BODY_INDENTATION}commit message body`, { ...commonExpectatedResult, message: "commit message title\n\ncommit message body" }, ], [ - `${COMMIT_SEPARATOR}${fakeCommitHash}${fakeCommitRef}${fakeAuthorAndCommitter}${`${GIT_LOG_SEPARATOR}commit message title\n\n\ncommit message body${GIT_LOG_SEPARATOR}`}`, + FRONT_NEW_LINE + + `${fakeCommitHash} +${fakeCommitRef} +${fakeAuthor} +${fakeCommitter} +commit message title +${COMMIT_MESSAGE_BODY_INDENTATION} +${COMMIT_MESSAGE_BODY_INDENTATION} +${COMMIT_MESSAGE_BODY_INDENTATION}commit message body`, { ...commonExpectatedResult, message: "commit message title\n\n\ncommit message body" }, ], [ - `${COMMIT_SEPARATOR}${fakeCommitHash}${fakeCommitRef}${fakeAuthorAndCommitter}${`${GIT_LOG_SEPARATOR}${GIT_LOG_SEPARATOR}`}`, + FRONT_NEW_LINE + + `${fakeCommitHash} +${fakeCommitRef} +${fakeAuthor} +${fakeCommitter} + +${COMMIT_MESSAGE_BODY_INDENTATION}`, { ...commonExpectatedResult, message: "" }, ], ])("should parse gitlog to commitRaw(commit message)", (mockLog, expectedResult) => { @@ -250,7 +386,14 @@ describe("getCommitRaws", () => { }); it(`should parse gitlog to commitRaw(commit message body and file change)`, () => { - const mockLog = `${COMMIT_SEPARATOR}${fakeCommitHash}${fakeCommitRef}${fakeAuthorAndCommitter}${fakeCommitMessageAndBody}\n${fakeCommitFileChange}`; + const mockLog = + FRONT_NEW_LINE + + `${fakeCommitHash} +${fakeCommitRef} +${fakeAuthor} +${fakeCommitter} +${fakeCommitMessageAndBody} +${fakeCommitFileChange}`; const result = getCommitRaws(mockLog); const expectedResult = { ...commonExpectatedResult, From bed40d82e735f3215abf1296df4e9c39843ad81f Mon Sep 17 00:00:00 2001 From: yoouyeon Date: Tue, 15 Oct 2024 19:38:45 +0900 Subject: [PATCH 09/12] =?UTF-8?q?test(engine):=20=ED=85=8C=EC=8A=A4?= =?UTF-8?q?=ED=8A=B8=EC=BC=80=EC=9D=B4=EC=8A=A4=20=ED=98=95=EC=8B=9D=20?= =?UTF-8?q?=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/analysis-engine/src/parser.spec.ts | 194 +++----------------- 1 file changed, 27 insertions(+), 167 deletions(-) diff --git a/packages/analysis-engine/src/parser.spec.ts b/packages/analysis-engine/src/parser.spec.ts index 0bb2b0c4..f7491a2f 100644 --- a/packages/analysis-engine/src/parser.spec.ts +++ b/packages/analysis-engine/src/parser.spec.ts @@ -36,21 +36,13 @@ describe("commit message type", () => { describe("getCommitRaws", () => { const FRONT_NEW_LINE = "\n\n"; - const COMMIT_MESSAGE_BODY_INDENTATION = " "; + const INDENTATION = " "; - const fakeAuthor = `John Park -mail@gmail.com -Sun Sep 4 20:17:59 2022 +0900`; - const fakeCommitter = `John Park 2 -mail2@gmail.com -Sun Sep 5 20:17:59 2022 +0900`; - const fakeCommitMessage = `commit message -${COMMIT_MESSAGE_BODY_INDENTATION}`; - const fakeCommitMessageAndBody = `commit message title - -${COMMIT_MESSAGE_BODY_INDENTATION}commit message body`; - const fakeCommitHash = `a -b`; + const fakeAuthor = "John Park\nmail@gmail.com\nSun Sep 4 20:17:59 2022 +0900"; + const fakeCommitter = `John Park 2\nmail2@gmail.com\nSun Sep 5 20:17:59 2022 +0900`; + const fakeCommitMessage = `commit message\n${INDENTATION}`; + const fakeCommitMessageAndBody = `commit message title\n${INDENTATION}\n${INDENTATION}commit message body`; + const fakeCommitHash = "a\nb"; const fakeCommitRef = "HEAD"; const fakeCommitFileChange = "10\t0\ta.ts\n1\t0\tREADME.md"; @@ -84,13 +76,7 @@ b`; it.each([ [ - FRONT_NEW_LINE + - `a - -${fakeCommitRef} -${fakeAuthor} -${fakeCommitter} -${fakeCommitMessage}`, + `${FRONT_NEW_LINE}${"a\n"}\n${fakeCommitRef}\n${fakeAuthor}\n${fakeCommitter}\n${fakeCommitMessage}`, { ...commonExpectatedResult, id: "a", @@ -98,27 +84,15 @@ ${fakeCommitMessage}`, }, ], [ - FRONT_NEW_LINE + - `c -b -${fakeCommitRef} -${fakeAuthor} -${fakeCommitter} -${fakeCommitMessage}`, + `${FRONT_NEW_LINE}${"c\nd"}\n${fakeCommitRef}\n${fakeAuthor}\n${fakeCommitter}\n${fakeCommitMessage}`, { ...commonExpectatedResult, id: "c", - parents: ["b"], + parents: ["d"], }, ], [ - FRONT_NEW_LINE + - `d -e f -${fakeCommitRef} -${fakeAuthor} -${fakeCommitter} -${fakeCommitMessage}`, + `${FRONT_NEW_LINE}${"d\ne f"}\n${fakeCommitRef}\n${fakeAuthor}\n${fakeCommitter}\n${fakeCommitMessage}`, { ...commonExpectatedResult, id: "d", @@ -132,12 +106,7 @@ ${fakeCommitMessage}`, it.each([ [ - FRONT_NEW_LINE + - `${fakeCommitHash} -HEAD -${fakeAuthor} -${fakeCommitter} -${fakeCommitMessage}`, + `${FRONT_NEW_LINE}${fakeCommitHash}\n${"HEAD"}\n${fakeAuthor}\n${fakeCommitter}\n${fakeCommitMessage}`, { ...commonExpectatedResult, branches: ["HEAD"], @@ -145,12 +114,7 @@ ${fakeCommitMessage}`, }, ], [ - FRONT_NEW_LINE + - `${fakeCommitHash} -HEAD -> main, origin/main, origin/HEAD -${fakeAuthor} -${fakeCommitter} -${fakeCommitMessage}`, + `${FRONT_NEW_LINE}${fakeCommitHash}\n${"HEAD -> main, origin/main, origin/HEAD"}\n${fakeAuthor}\n${fakeCommitter}\n${fakeCommitMessage}`, { ...commonExpectatedResult, branches: ["HEAD", "main", "origin/main", "origin/HEAD"], @@ -158,12 +122,7 @@ ${fakeCommitMessage}`, }, ], [ - FRONT_NEW_LINE + - `${fakeCommitHash} -HEAD, tag: v1.0.0 -${fakeAuthor} -${fakeCommitter} -${fakeCommitMessage}`, + `${FRONT_NEW_LINE}${fakeCommitHash}\n${"HEAD, tag: v1.0.0"}\n${fakeAuthor}\n${fakeCommitter}$\n${fakeCommitMessage}`, { ...commonExpectatedResult, branches: ["HEAD"], @@ -171,12 +130,7 @@ ${fakeCommitMessage}`, }, ], [ - FRONT_NEW_LINE + - `${fakeCommitHash} -HEAD -> main, origin/main, origin/HEAD, tag: v2.0.0 -${fakeAuthor} -${fakeCommitter} -${fakeCommitMessage}`, + `${FRONT_NEW_LINE}${fakeCommitHash}\n${"HEAD -> main, origin/main, origin/HEAD, tag: v2.0.0"}\n${fakeAuthor}\n${fakeCommitter}\n${fakeCommitMessage}`, { ...commonExpectatedResult, branches: ["HEAD", "main", "origin/main", "origin/HEAD"], @@ -184,12 +138,7 @@ ${fakeCommitMessage}`, }, ], [ - FRONT_NEW_LINE + - `${fakeCommitHash} -HEAD, tag: v2.0.0, tag: v1.4 -${fakeAuthor} -${fakeCommitter} -${fakeCommitMessage}`, + `${FRONT_NEW_LINE}${fakeCommitHash}\n${"HEAD, tag: v2.0.0, tag: v1.4"}\n${fakeAuthor}\n${fakeCommitter}\n${fakeCommitMessage}`, { ...commonExpectatedResult, branches: ["HEAD"], @@ -197,12 +146,7 @@ ${fakeCommitMessage}`, }, ], [ - FRONT_NEW_LINE + - `${fakeCommitHash} - -${fakeAuthor} -${fakeCommitter} -${fakeCommitMessage}`, + `${FRONT_NEW_LINE}${fakeCommitHash}\n${""}\n${fakeAuthor}\n${fakeCommitter}\n${fakeCommitMessage}`, { ...commonExpectatedResult, branches: [], @@ -216,14 +160,7 @@ ${fakeCommitMessage}`, it.each([ [ - FRONT_NEW_LINE + - `${fakeCommitHash} -${fakeCommitRef} -${fakeAuthor} -${fakeCommitter} -${fakeCommitMessage} -10\t0\ta.ts -1\t0\tREADME.md`, + `${FRONT_NEW_LINE}${fakeCommitHash}\n${fakeCommitRef}\n${fakeAuthor}\n${fakeCommitter}\n${fakeCommitMessage}\n${"10\t0\ta.ts\n1\t0\tREADME.md"}`, { ...commonExpectatedResult, differenceStatistic: { @@ -237,13 +174,7 @@ ${fakeCommitMessage} }, ], [ - FRONT_NEW_LINE + - `${fakeCommitHash} -${fakeCommitRef} -${fakeAuthor} -${fakeCommitter} -${fakeCommitMessage} -3\t3\ta.ts`, + `${FRONT_NEW_LINE}${fakeCommitHash}\n${fakeCommitRef}\n${fakeAuthor}\n${fakeCommitter}\n${fakeCommitMessage}\n${"3\t3\ta.ts"}`, { ...commonExpectatedResult, differenceStatistic: { @@ -254,13 +185,7 @@ ${fakeCommitMessage} }, ], [ - FRONT_NEW_LINE + - `${fakeCommitHash} -${fakeCommitRef} -${fakeAuthor} -${fakeCommitter} -${fakeCommitMessage} -4\t0\ta.ts`, + `${FRONT_NEW_LINE}${fakeCommitHash}\n${fakeCommitRef}\n${fakeAuthor}\n${fakeCommitter}\n${fakeCommitMessage}\n${"4\t0\ta.ts"}`, { ...commonExpectatedResult, differenceStatistic: { @@ -271,15 +196,7 @@ ${fakeCommitMessage} }, ], [ - FRONT_NEW_LINE + - `${fakeCommitHash} -${fakeCommitRef} -${fakeAuthor} -${fakeCommitter} -${fakeCommitMessage} -0\t6\ta.ts -2\t0\tb.ts -3\t3\tc.ts`, + `${FRONT_NEW_LINE}${fakeCommitHash}\n${fakeCommitRef}\n${fakeAuthor}\n${fakeCommitter}\n${fakeCommitMessage}\n${"0\t6\ta.ts\n2\t0\tb.ts\n3\t3\tc.ts"}`, { ...commonExpectatedResult, differenceStatistic: { @@ -299,25 +216,8 @@ ${fakeCommitMessage} }); it(`should parse gitlog to commitRaw(multiple commits)`, () => { - const mockLog = - FRONT_NEW_LINE + - `${fakeCommitHash} -${fakeCommitRef} -${fakeAuthor} -${fakeCommitter} -${fakeCommitMessage} -${fakeCommitFileChange} - - - -${fakeCommitHash} -${fakeCommitRef} -${fakeAuthor} -${fakeCommitter} -${fakeCommitMessage}`; - console.log(mockLog); + const mockLog = `${FRONT_NEW_LINE}${fakeCommitHash}\n${fakeCommitRef}\n${fakeAuthor}\n${fakeCommitter}\n${fakeCommitMessage}\n${fakeCommitFileChange}\n\n\n\n${fakeCommitHash}\n${fakeCommitRef}\n${fakeAuthor}\n${fakeCommitter}\n${fakeCommitMessage}`; const result = getCommitRaws(mockLog); - console.log(result); const expectedResult = [ { ...commonExpectatedResult, differenceStatistic: expectedFileChange }, { ...commonExpectatedResult, sequence: 1 }, @@ -328,56 +228,23 @@ ${fakeCommitMessage}`; it.each([ [ - FRONT_NEW_LINE + - `${fakeCommitHash} -${fakeCommitRef} -${fakeAuthor} -${fakeCommitter} -commit message title -${COMMIT_MESSAGE_BODY_INDENTATION}`, + `${FRONT_NEW_LINE}${fakeCommitHash}\n${fakeCommitRef}\n${fakeAuthor}\n${fakeCommitter}\n${"commit message title"}\n${INDENTATION}`, { ...commonExpectatedResult, message: "commit message title" }, ], [ - FRONT_NEW_LINE + - `${fakeCommitHash} -${fakeCommitRef} -${fakeAuthor} -${fakeCommitter} -commit message title -${COMMIT_MESSAGE_BODY_INDENTATION}commit message body`, + `${FRONT_NEW_LINE}${fakeCommitHash}\n${fakeCommitRef}\n${fakeAuthor}\n${fakeCommitter}\n${"commit message title"}\n${INDENTATION}${"commit message body"}`, { ...commonExpectatedResult, message: "commit message title\ncommit message body" }, ], [ - FRONT_NEW_LINE + - `${fakeCommitHash} -${fakeCommitRef} -${fakeAuthor} -${fakeCommitter} -commit message title -${COMMIT_MESSAGE_BODY_INDENTATION} -${COMMIT_MESSAGE_BODY_INDENTATION}commit message body`, + `${FRONT_NEW_LINE}${fakeCommitHash}\n${fakeCommitRef}\n${fakeAuthor}\n${fakeCommitter}\n${"commit message title"}\n${INDENTATION}\n${INDENTATION}${"commit message body"}`, { ...commonExpectatedResult, message: "commit message title\n\ncommit message body" }, ], [ - FRONT_NEW_LINE + - `${fakeCommitHash} -${fakeCommitRef} -${fakeAuthor} -${fakeCommitter} -commit message title -${COMMIT_MESSAGE_BODY_INDENTATION} -${COMMIT_MESSAGE_BODY_INDENTATION} -${COMMIT_MESSAGE_BODY_INDENTATION}commit message body`, + `${FRONT_NEW_LINE}${fakeCommitHash}\n${fakeCommitRef}\n${fakeAuthor}\n${fakeCommitter}\n${"commit message title"}\n${INDENTATION}\n${INDENTATION}\n${INDENTATION}${"commit message body"}`, { ...commonExpectatedResult, message: "commit message title\n\n\ncommit message body" }, ], [ - FRONT_NEW_LINE + - `${fakeCommitHash} -${fakeCommitRef} -${fakeAuthor} -${fakeCommitter} - -${COMMIT_MESSAGE_BODY_INDENTATION}`, + `${FRONT_NEW_LINE}${fakeCommitHash}\n${fakeCommitRef}\n${fakeAuthor}\n${fakeCommitter}\n\n${INDENTATION}`, { ...commonExpectatedResult, message: "" }, ], ])("should parse gitlog to commitRaw(commit message)", (mockLog, expectedResult) => { @@ -386,14 +253,7 @@ ${COMMIT_MESSAGE_BODY_INDENTATION}`, }); it(`should parse gitlog to commitRaw(commit message body and file change)`, () => { - const mockLog = - FRONT_NEW_LINE + - `${fakeCommitHash} -${fakeCommitRef} -${fakeAuthor} -${fakeCommitter} -${fakeCommitMessageAndBody} -${fakeCommitFileChange}`; + const mockLog = `${FRONT_NEW_LINE}${fakeCommitHash}\n${fakeCommitRef}\n${fakeAuthor}\n${fakeCommitter}\n${fakeCommitMessageAndBody}\n${fakeCommitFileChange}`; const result = getCommitRaws(mockLog); const expectedResult = { ...commonExpectatedResult, From 2ef4001ff8698a8350ca43bba7377681f4ad3837 Mon Sep 17 00:00:00 2001 From: yoouyeon Date: Tue, 15 Oct 2024 19:51:59 +0900 Subject: [PATCH 10/12] =?UTF-8?q?style(vscode):=20=EB=B6=88=ED=95=84?= =?UTF-8?q?=EC=9A=94=ED=95=9C=20=EC=B6=9C=EB=A0=A5=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/vscode/src/utils/git.util.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/vscode/src/utils/git.util.ts b/packages/vscode/src/utils/git.util.ts index 128f6095..6452f0a6 100644 --- a/packages/vscode/src/utils/git.util.ts +++ b/packages/vscode/src/utils/git.util.ts @@ -171,7 +171,6 @@ export async function getGitLog(gitPath: string, currentWorkspacePath: string): "%w(0,0,4)%s", // commit message subject "%b", // commit message body ].join(GIT_LOG_SEPARATOR); - console.log("gitLogFormat: ", gitLogFormat); const args = [ "--no-pager", "log", From 1a9842f7ba2b0cdfad339c5f48f6ed03a4758f94 Mon Sep 17 00:00:00 2001 From: yoouyeon Date: Tue, 15 Oct 2024 20:04:47 +0900 Subject: [PATCH 11/12] =?UTF-8?q?style(vscode):=20=EC=83=81=EC=88=98=20?= =?UTF-8?q?=EC=84=A0=EC=96=B8=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/vscode/src/utils/git.util.ts | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/vscode/src/utils/git.util.ts b/packages/vscode/src/utils/git.util.ts index 6452f0a6..feb0ecb4 100644 --- a/packages/vscode/src/utils/git.util.ts +++ b/packages/vscode/src/utils/git.util.ts @@ -154,8 +154,6 @@ export async function getGitExecutableFromPaths(paths: string[]): Promise { return new Promise((resolve, reject) => { - const GIT_LOG_SEPARATOR = "%n"; // newline - const gitLogFormat = "%n%n" + [ @@ -170,7 +168,7 @@ export async function getGitLog(gitPath: string, currentWorkspacePath: string): "%cd", // committer date "%w(0,0,4)%s", // commit message subject "%b", // commit message body - ].join(GIT_LOG_SEPARATOR); + ].join("%n"); const args = [ "--no-pager", "log", From 23cb12762cc421e75febb5fc4e4272024329099f Mon Sep 17 00:00:00 2001 From: yoouyeon Date: Tue, 15 Oct 2024 20:06:42 +0900 Subject: [PATCH 12/12] =?UTF-8?q?style(engine):=20=EC=83=81=EC=88=98?= =?UTF-8?q?=EB=AA=85=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/analysis-engine/src/parser.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/analysis-engine/src/parser.ts b/packages/analysis-engine/src/parser.ts index 4eef9189..985a10ad 100644 --- a/packages/analysis-engine/src/parser.ts +++ b/packages/analysis-engine/src/parser.ts @@ -5,7 +5,7 @@ export default function getCommitRaws(log: string) { if (!log) return []; const EOL_REGEX = /\r?\n/; const COMMIT_SEPARATOR = new RegExp(`${EOL_REGEX.source}{4}`); - const COMMIT_MESSAGE_BODY_INDENTATION = " "; + const INDENTATION = " "; // step 0: Split log into commits const commits = log.substring(2).split(COMMIT_SEPARATOR); @@ -53,7 +53,7 @@ export default function getCommitRaws(log: string) { if (idx === 0) // message subject messageSubject = line; - else if (line.startsWith(COMMIT_MESSAGE_BODY_INDENTATION)) { + else if (line.startsWith(INDENTATION)) { // message body (add newline if not first line) messageBody += idx === 1 ? line.trim() : `\n${line.trim()}`; } else if (line === "")