Skip to content

collectDiff()

解析 git diff 输出为结构化数据。

用法

typescript
import { collectDiff } from 'ai-code-reviewer-plus'

const diffs = await collectDiff({
  root: process.cwd(),
  targetBranch: 'main'
})

参数

typescript
interface DiffOptions {
  root: string           // Git 仓库根目录
  targetBranch?: string  // 目标分支(默认: 'main')
  commitHash?: string    // 单个 commit 哈希(可选)
}

返回值

typescript
interface ParsedDiff[] {
  file: string           // 文件路径
  from?: string          // 原始路径(重命名/删除时)
  status: 'added' | 'deleted' | 'modified' | 'renamed'
  additions: number      // 新增行数
  deletions: number      // 删除行数
  hunks: DiffHunk[]      // Diff 块
}

示例

typescript
const diffs = await collectDiff({
  root: '/path/to/repo',
  targetBranch: 'develop'
})

for (const diff of diffs) {
  console.log(`${diff.status} ${diff.file}`)
  console.log(`  +${diff.additions}/-${diff.deletions}`)
}

相关

基于 MIT 许可发布