Skip to content
File

Blob: src/worker/git/operations/read/types.ts

typescript34 lines
1export type {
2 CommitDiffChangeType,
3 CommitDiffEntry,
4 CommitDiffResult,
5 CommitFilePatchResult,
6} from "@/shared/git/types";
7 
8export interface TreeEntry {
9 /** Git tree mode (e.g., "100644" for regular file, "120000" for symlink, "40000" for directory) */
10 mode: string;
11 /** Entry name (filename or directory name) */
12 name: string;
13 /** Object ID of the blob (file/symlink) or tree (directory) */
14 oid: string;
15}
16 
17export interface CommitInfo {
18 oid: string;
19 tree: string;
20 parents: string[];
21 author?: { name: string; email: string; when: number; tz: string };
22 committer?: { name: string; email: string; when: number; tz: string };
23 message: string;
24}
25 
26export interface MergeSideOptions {
27 /** Maximum commits to scan before stopping (default: limit * 3) */
28 scanLimit?: number;
29 /** Time budget in milliseconds before stopping (default: 150ms) */
30 timeBudgetMs?: number;
31 /** Number of mainline commits to probe for early stop (default: 300) */
32 mainlineProbe?: number;
33}