Neverending Prototype Mode

    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)

    Install

    npm i git-range-files

    DownloadsWeekly Downloads

    1

    Version

    1.2.0

    License

    MIT

    Unpacked Size

    22.5 kB

    Total Files

    10

    Last publish

    Collaborators

    • moyuyc