code: function analyzeRange (range, targetSha, conf) {
    return git.run("diff -u " + range).then(function (diff) {
      var filesPatterns = conf.files;
      if (!_.isArray(filesPatterns)) {
        filesPatterns = filesPatterns.split(",");
      }
      filesPatterns = _.invoke(filesPatterns, "trim");
  
      return analyzeDiff(_.filter(parseDiff(diff), function (file) {
        if (!file.to) {
          debug("Ignore deletion", file.from);
          return false;
        }
  
        var ignored = isIgnored(file.to, filesPatterns);
        if (ignored === null) {
          // Could not decide: hardcoded default = safe = ignore file
          ignored = true;
        }
  
        if (ignored) {
          debug("Ignore", file.to);
        }
        return !ignored;
      }), targetSha, conf);
    });
  }
docs: Sha..Sha, Sha → void