MCPcopy Index your code
hub / github.com/di-sukharev/opencommit / getDiff

Function getDiff

out/cli.cjs:85703–85721  ·  view source on GitHub ↗
({ files })

Source from the content-addressed store, hash-verified

85701var gitAdd = async ({ files }) => {
85702 const gitDir = await getGitDir();
85703 const gitAddSpinner = le();
85704 gitAddSpinner.start("Adding files to commit");
85705 await execa("git", ["add", ...files], { cwd: gitDir });
85706 gitAddSpinner.stop(`Staged ${files.length} files`);
85707};
85708var isFileExcludedFromDiff = (file) => file.includes(".lock") || file.includes("-lock.") || file.includes(".svg") || file.includes(".png") || file.includes(".jpg") || file.includes(".jpeg") || file.includes(".webp") || file.includes(".gif");
85709var getDiff = async ({ files }) => {
85710 const gitDir = await getGitDir();
85711 const excludedFiles = files.filter(isFileExcludedFromDiff);
85712 if (excludedFiles.length) {
85713 ce(
85714 `Some files are excluded by default from 'git diff'. No commit messages are generated for this files:
85715${excludedFiles.join(
85716 "\n"
85717 )}`
85718 );
85719 }
85720 const diffableFiles = files.filter((file) => !isFileExcludedFromDiff(file));
85721 const { stdout: diff } = await execa(
85722 "git",
85723 ["diff", "--staged", "--", ...diffableFiles],
85724 { cwd: gitDir }

Callers 2

commitFunction · 0.70
prepareCommitMessageHookFunction · 0.70

Calls 4

execaFunction · 0.85
filterMethod · 0.80
getGitDirFunction · 0.70
isFileExcludedFromDiffFunction · 0.70

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…