anchor.diff:     * running the command `git diff <blob> <blob>`.
      */
     BlobDiff getBlobDiff(String srcBlob, String dstBlob) {
  -    ProcessResult result = _run(['diff', srcBlob, dstBlob]);
  +    ProcessResult result = _run(['diff', '-U0', srcBlob, dstBlob]);
       List<String> diffResults = LineSplitter.split(result.stdout).toList();
       return new BlobDiff._(diffResults);
     }
  
positive.code: 
    /**
     * Remove any diffs for files that are either (a) outside the given
     * [analysisRoots], or (b) are files that are not being analyzed by the server.
     */
    void filterDiffs(List<String> analysisRoots) {
      // TODO(brianwilkerson) Generalize this method by renaming the parameter and
      // passing in the glob patterns. (Or just pass in glob patterns.)
      diffRecords.retainWhere((DiffRecord record) {
        String filePath = record.srcPath ?? record.dstPath;
        for (String analysisRoot in analysisRoots) {
          if (path.isWithin(analysisRoot, filePath)) {
            // TODO(brianwilkerson) Generalize this by asking the server for the
            // list of glob patterns of files to be analyzed (once there's an API
            // for doing so).
            if (filePath.endsWith('.dart') ||
                filePath.endsWith('.html') ||
                filePath.endsWith('.htm') ||
                filePath.endsWith('.analysisOptions')) {
              return true;
            }
          }
        }
  
negative.code: }
  
  /**
   * Representation of a single diff hunk.
   */
  class DiffHunk {
  