| Index: sdk/lib/_internal/pub/lib/src/git.dart | 
| diff --git a/sdk/lib/_internal/pub/lib/src/git.dart b/sdk/lib/_internal/pub/lib/src/git.dart | 
| index e94e493e82042fc111ce3d6a40604f8667d724f0..4e92a698b6a6a7ecdeb2dbe74a21cd05483ec398 100644 | 
| --- a/sdk/lib/_internal/pub/lib/src/git.dart | 
| +++ b/sdk/lib/_internal/pub/lib/src/git.dart | 
| @@ -6,9 +6,13 @@ | 
| library pub.git; | 
|  | 
| import 'dart:async'; | 
| +import 'dart:io'; | 
| + | 
| import 'io.dart'; | 
| import 'log.dart' as log; | 
|  | 
| +import 'package:stack_trace/stack_trace.dart'; | 
| + | 
| /// Tests whether or not the git command-line app is available for use. | 
| Future<bool> get isInstalled { | 
| if (_isGitInstalledCache != null) { | 
| @@ -67,8 +71,13 @@ Future<bool> _tryGitCommand(String command) { | 
| return runProcess(command, ["--version"]).then((results) { | 
| var regexp = new RegExp("^git version"); | 
| return results.stdout.length == 1 && regexp.hasMatch(results.stdout[0]); | 
| -  }).catchError((err) { | 
| +  }).catchError((err, stackTrace) { | 
| // If the process failed, they probably don't have it. | 
| -    return false; | 
| +    if (err is ProcessException) { | 
| +      log.io('Git command is not "$command": $err\n$stackTrace'); | 
| +      return false; | 
| +    } | 
| + | 
| +    throw err; | 
| }); | 
| } | 
|  |