File
Blob: src/worker/git/operations/read/types.ts
| 1 | export type { |
| 2 | CommitDiffChangeType, |
| 3 | CommitDiffEntry, |
| 4 | CommitDiffResult, |
| 5 | CommitFilePatchResult, |
| 6 | } from "@/shared/git/types"; |
| 7 | |
| 8 | export 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 | |
| 17 | export 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 | |
| 26 | export 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 | } |