anchor.diff:      // Check if the cwd is a flutter dir.
       while (directory.isNotEmpty) {
         if (_isDirectoryFlutterRepo(directory)) {
  -        if (directory != Cache.flutterRoot) {
  -          // Warn, but continue execution.
  +        if (!_compareResolvedPaths(directory, Cache.flutterRoot)) {
             printError(
  -            'Warning - the active Flutter is not the one from the current directory:\n'
  -            '  active Flutter   : ${Cache.flutterRoot}\n'
  +            'Warning: the \'flutter\' tool you are currently running is not the one from the current directory:\n'
  +            '  running Flutter  : ${Cache.flutterRoot}\n'
               '  current directory: $directory\n'
  +            'This can happen when you have multiple copies of flutter installed. Please check your system path to verify\n'
  +            'that you\'re running the expected version (run \'flutter --version\' to see which flutter is on your path).\n'
             );
           }
   
  
positive.code:         Uri rootUri = flutterUri.resolve('../../..');
          String flutterPath = path.normalize(new File.fromUri(rootUri).absolute.path);
  
          if (flutterPath != Cache.flutterRoot) {
            // Warn and exit the app.
            printError(
              'Warning - the active Flutter is different from the one referenced in your pubspec:\n'
              '  active Flutter   : ${Cache.flutterRoot}\n'
              '  pubspec reference: $flutterPath'
            );
            return false;
          }
        }
      }
  
negative.code:       FileSystemEntity.isFileSync(path.join(directory, 'bin/cache/engine.stamp'));
    }
  }
  
  bool _compareResolvedPaths(String path1, String path2) {
    path1 = new Directory(path.absolute(path1)).resolveSymbolicLinksSync();
    path2 = new Directory(path.absolute(path2)).resolveSymbolicLinksSync();
  
    return path1 == path2;
  }
  