This module returns an array of git range files and their status acording to git.
Inspired By staged-git-files.
-
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
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"
}
]
$ grf
Added package.json
Modified readme.md
Renamed index.js
Get a list of git range files from head
- filter: string of git status codes. No spaces
- relative:
string
orboolean
(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.
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.
This is a proxy for fs.readFile with one change. The filename will be relative to the grf.cwd
Boolean that flips logging on and off. By default this is false. If true, all git commands will be console logged.
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.
The current working directory. AKA: where the .git folder you care about is.
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)