git-patch-additions

1.0.1 • Public • Published

git-patch-additions

npm version dependencies Build Status Build status

Parse additions from git patches.

Description

The purpose of this module is to extract additions along with metadata from GitHub pull request patches, in order to programatically comment on them.

Example:

From e53787fc794ff85986479d85deddfabef0b3489e Mon Sep 17 00:00:00 2001
From: Juan Cruz Viotti <jviottidc@gmail.com>
Date: Tue, 10 Nov 2015 20:02:26 -0400
Subject: [PATCH] Update foo

---
 README.md | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/bar.txt b/bar.txt
index 3be11c6..dc8344c 100644
--- a/bar.txt
+++ b/bar.txt
@@ -1 +1 @@
-Lorem ipsum
+Lorem ipsum dolor sit amet
diff --git a/foo.txt b/foo.txt
index 557db03..503b609 100644
--- a/foo.txt
+++ b/foo.txt
@@ -1 +1 @@
-Hello World
+Hola World

{
  line: 2,
  content: 'Lorem ipsum dolor sit amet',
  commit: 'e53787fc794ff85986479d85deddfabef0b3489e',
  file: 'bar.txt'
},
{
  line: 2,
  content: 'Hola World',
  commit: 'e53787fc794ff85986479d85deddfabef0b3489e',
  file: 'foo.txt'
}

Installation

Install git-patch-additions by running:

$ npm install --save git-patch-additions

Documentation

gitPatchAdditions.get(patch) ⇒ Array.<Object>

Kind: static method of gitPatchAdditions
Summary: Get patch additions
Returns: Array.<Object> - additions
Access: public

Param Type Description
patch String git patch

Example

var patch = fs.readFileSync('path/to/mypatch.patch', {
  encoding: 'utf8'
});
 
var additions = gitPatchAdditions.get(patch);
 
additions.forEach(function(addition) {
  console.log('The addition text is:', addition.content);
  console.log('The addition commit is:', addition.commit);
  console.log('The addition was made in the following file:', addition.file);
  console.log('The addition was made in the following line:', addition.line);
});

Support

If you're having any problem, please raise an issue on GitHub and I'll be happy to help.

Tests

Run the test suite by doing:

$ gulp test

Contribute

Before submitting a PR, please make sure that you include tests, and that jshint runs without any warning:

$ gulp lint

License

The project is licensed under the MIT license.

Readme

Keywords

Package Sidebar

Install

npm i git-patch-additions

Weekly Downloads

3

Version

1.0.1

License

MIT

Last publish

Collaborators

  • jviotti