parse-git-status

Parse the output of `git status --porcelain -z`

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
parse-git-status
0.1.08 years ago8 years agoMinified + gzip package size for parse-git-status in KB

Readme

parse-git-status Build Status
Parse the output of git status --porcelain -z

Install

$ npm install --save parse-git-status

Usage

const parseGitStatus = require('parse-git-status');
const execa = require('execa');

execa('git', ['status', '--porcelain'])
	.then(({stdout}) => {
		console.log(parseGitStatus(stdout));
	});

API

parseGitStatus(gitStatus)

Parses gitStatus and returns an array of StatusObjects.

gitStatus

Type: string
The output of the command git status --porcelain.
--

StatusObject

Each status object in the array has the following format:
let statusObj = {
  x: 'A', // status code character
  y: 'A', // status code character
  to: 'bar.js', // the destination path (or just the path if not renamed)
  from: 'foo.js', // the source path if a rename (null otherwise)
}

See https://git-scm.com/docs/git-status for a list of available status codes and what each status code means.

parseGitStatus.describeCode(code)

Returns a descriptive name for each of the status codes.
parseGitStatus.describeCode('M')
// => "modified"
parseGitStatus.describeCode('A')
// => "added"

code

Type: string of length one (a single character)
Legal values are M, A, D, R, C, U, !, ? and (space character).
See https://git-scm.com/docs/git-status for more details.

License

MIT © James Talmage