anchor.diff:      ? Platform.environment['LOCALAPPDATA']
       : Platform.environment['HOME'];
   
  +final _package_config = path.join('.dart_tool', 'package_config.json');
  +
   Future<CloneResult> _clone(String repo) async {
     final name =
         _trimName(repo.split('https://github.com/').last.replaceAll('/', '_'));
     final cloneDir = path.join(_appDir, name);
     var result;
     if (Directory(cloneDir).existsSync()) {
  +    if (!updateExistingClones) {
  +      return CloneResult(0, cloneDir);
  +    }
       print('Repository "$name" exists -- pulling to update');
       result = await Process.run('git', ['pull'], workingDirectory: cloneDir);
     } else {
       print('Cloning $repo to $cloneDir');
       result = await Process.run('git', ['clone', '$repo.git', cloneDir]);
     }
  -  return CloneResult(result, cloneDir);
  +  return CloneResult(result.exitCode, cloneDir, msg: result.stderr);
   }
   
   Future<String> _getBody(String url) async => (await _getResponse(url)).body;
  
positive.code:   }
  
    print('Cloning repositories...');
    for (var repo in repos) {
      final result = await _clone(_trimName(repo));
      if (result.processResult.exitCode != 0) {
        print('Error cloning $repo: ${result.processResult.stderr}');
      } else {
        print('Updating pub dependencies...');
        await _runPub(result.directory);
      }
    }
  }
  
  final _appDir =
      path.join(_homeDir, 'completion_metrics', 'third_party', 'apps');
  
negative.code: 
  class CloneResult {
    final String directory;
    final int exitCode;
    final String msg;
    CloneResult(this.exitCode, this.directory, {this.msg = ''});
  }
  
  class RepoList {
  