Detalhes do pacote

gitdiff-parser

ecomfe472.5kMIT0.3.1

A fast and reliable git diff parser.

readme (leia-me)

gitdiff-parser

A fast and reliable git diff parser.

Install

npm install gitdiff-parser

Usage

import gitDiffParser from 'gitdiff-parser';

gitDiffParser.parse(gitDiffText);

gitDiffText should be a diff output by git diff command.

API

export interface Change {
    content: string;
    type: 'insert' | 'delete' | 'normal';
    isInsert?: boolean;
    isDelete?: boolean;
    isNormal?: boolean;
    lineNumber?: number;
    oldLineNumber?: number;
    newLineNumber?: number;
}

export interface Hunk {
    content: string;
    oldStart: number;
    newStart: number;
    oldLines: number;
    newLines: number;
    changes: Change[];
}

export interface File {
    hunks: Hunk[];
    oldEndingNewLine: boolean;
    newEndingNewLine: boolean;
    oldMode: string;
    newMode: string;
    similarity?: number;
    oldRevision: string;
    newRevision: string;
    oldPath: string;
    newPath: string;
    isBinary?: boolean;
    type: 'add' | 'delete' | 'modify''rename';
}

export default {
    parse(source: string): File[];
};

changelog (log de mudanças)

ChangeLog

0.2.2

  • 【feat】- 删除文件时加入 oldMode 信息;添加文件时加入 newMode 信息

0.2.1

  • 【bugfix】- index 行中的 mode 信息读取不正确。该问题为 0.2.0 引入

0.2.0

  • 【feat】- 支持 hg 的 gitdiff 格式
  • 【bugfix】- 文件名中包含空格时,文件名解析不正确