repomix
Version:
A tool to pack repository contents to single file for AI consumption
35 lines (34 loc) • 1.6 kB
TypeScript
import type { RepomixConfigMerged } from '../../config/configSchema.js';
export declare const GIT_LOG_RECORD_SEPARATOR = "\0";
export declare const GIT_LOG_FORMAT_SEPARATOR = "%x00";
export interface GitLogCommit {
date: string;
message: string;
files: string[];
}
export interface GitLogResult {
logContent: string;
commits: GitLogCommit[];
}
export declare const getGitLog: (directory: string, maxCommits: number, deps?: {
execGitLog: (directory: string, maxCommits: number, gitSeparator: string, deps?: {
execFileAsync: typeof import("child_process").execFile.__promisify__;
}) => Promise<string>;
isGitRepository: (directory: string, deps?: {
execGitRevParse: (directory: string, deps?: {
execFileAsync: typeof import("child_process").execFile.__promisify__;
}) => Promise<string>;
}) => Promise<boolean>;
}) => Promise<string>;
export declare const getGitLogs: (rootDirs: string[], config: RepomixConfigMerged, deps?: {
getGitLog: (directory: string, maxCommits: number, deps?: {
execGitLog: (directory: string, maxCommits: number, gitSeparator: string, deps?: {
execFileAsync: typeof import("child_process").execFile.__promisify__;
}) => Promise<string>;
isGitRepository: (directory: string, deps?: {
execGitRevParse: (directory: string, deps?: {
execFileAsync: typeof import("child_process").execFile.__promisify__;
}) => Promise<string>;
}) => Promise<boolean>;
}) => Promise<string>;
}) => Promise<GitLogResult | undefined>;