function getFilesInStatus () {
  var promise = new Promise(function (resolve, reject) {
    child.exec('git status --short', function (error, stdout, stderr) {
      if (!error) {
        var newLine = /\n/;
        var files = stdout.split(newLine);
        var promises = files.reduce(function (acc, file) {
          if (file.trim().length > 0) {
            var name = file.slice(3);
            var resolvedPath = path.resolve('.', name);

            try {
              var stats = fs.statSync(resolvedPath);
              if (stats.isFile()) {
                acc.push(Promise.resolve(resolvedPath));
                return acc;
              } else if (stats.isDirectory()) {
                acc.push(new Promise(function (resolve, reject) {
                  recursive(resolvedPath, [notNodeModules], function (err, files) {
                    if (err) {
                      reject(err);
                    }

                    resolve(files);
                  });
                }));
                return acc;
              }
            } catch (err) {
              if (err.code === 'ENOENT') {
                acc.push(Promise.resolve(resolvedPath));
                return acc;
              } else {
                throw new Error(err);
              }
            }
          } else {
            return acc;
          }
        }, []);

        Promise.all(promises)
          .then(function (fileList) {
            resolve(_.uniq(_.compact(_.flatten(fileList))));
          });
      }
    });
  });
  return promise;
}
getFilesInStatus

@returns {Promise} result.
@resolves {string[]} The list of working tree files as shown by `git status --short` but without status codes.