git-range-files

1.2.0 • Public • Published

Git Range Files Build Status

This module returns an array of git range files and their status acording to git.

Inspired By staged-git-files.

How it works?

  • git version < 2.0.0 execute

      git diff --name-status b8c40a94db582718...813f2c4911e926c0
    
  • git version >= 2.0.0 execute

      git -c core.quotepath=false diff --name-status b8c40a94db582718...813f2c4911e926c0
    

Usage

npm install git-range-files

var grf = require('git-range-files');
grf(function(err, results) {
    // WHAT EVER YOU SO PLEASE
});
 
grf({ head: 'f5f240fad3f6...e87900fad3f6' }, function(err, results){
    // WHAT EVER YOU SO PLEASE
});

Example Results

[
    {
        "filename": "package.json",
        "status": "Added"
    },
    {
        "filename": "readme.md",
        "status": "Modified"
    },
    {
        "filename": "index.js",
        "status": "Renamed"
    }
]

Usage as a cli

$ grf
Added package.json
Modified readme.md
Renamed index.js

API

grf({ filter, head, relative }, callback)

Get a list of git range files from head

  • filter: string of git status codes. No spaces
  • relative: string or boolean (true by default)
    When run from a subdirectory of the project, it can be told to exclude changes outside the directory and show pathnames relative to it with this option. When you are not in a subdirectory (e.g. in a bare repository), you can name which subdirectory to make the output relative to by giving a as an argument.
  • callback:
    • err: the error
    • results: file object array.

grf.getHead(callback)

Get head that will be used in the diff to ID which files are waiting to be staged.

  • callback
    • err: the error
    • head: the git commit id which is aliased to head.

grf.readFile(filename, [options], callback)

This is a proxy for fs.readFile with one change. The filename will be relative to the grf.cwd

grf.debug

Boolean that flips logging on and off. By default this is false. If true, all git commands will be console logged.

grf.includeContent

If true, include content will add a content or err param to the file object.

  • Default Value: false
  • Content Param: the content of the file staged
  • Err Param: the error message received while trying to read the file.

grf.cwd

The current working directory. AKA: where the .git folder you care about is.

Default Value: is equal to process.cwd() of your app.g

Statuses

SGF-Status (git status code)

  • Added (A)
  • Copied (C)
  • Deleted (D)
  • Modified (M)
  • Renamed (R)
  • Type-Change (T) [i.e. regular file, symlink, submodule, etc.]
  • Unmerged (U)
  • Unknown (X)

Dependencies (1)

Dev Dependencies (2)

Package Sidebar

Install

npm i git-range-files

Weekly Downloads

1

Version

1.2.0

License

MIT

Unpacked Size

22.5 kB

Total Files

10

Last publish

Collaborators

  • moyuyc