| Index: sdk/lib/_internal/pub/lib/src/source/git.dart
 | 
| diff --git a/sdk/lib/_internal/pub/lib/src/source/git.dart b/sdk/lib/_internal/pub/lib/src/source/git.dart
 | 
| index 5a7f5e5977b2b0cfeab7be96d29a9a4c0b489417..6bdf3809f7cee83564bbca7c052a7d3797ee5447 100644
 | 
| --- a/sdk/lib/_internal/pub/lib/src/source/git.dart
 | 
| +++ b/sdk/lib/_internal/pub/lib/src/source/git.dart
 | 
| @@ -121,7 +121,7 @@ class GitSource extends Source {
 | 
|    /// future that completes once this is finished and throws an exception if it
 | 
|    /// fails.
 | 
|    Future _ensureRepoCache(PackageId id) {
 | 
| -    return new Future.sync(() {
 | 
| +    return syncFuture(() {
 | 
|        var path = _repoCachePath(id);
 | 
|        if (!entryExists(path)) return _clone(_getUrl(id), path, mirror: true);
 | 
|        return git.run(["fetch"], workingDir: path).then((result) => null);
 | 
| @@ -141,7 +141,7 @@ class GitSource extends Source {
 | 
|    /// the working tree, but instead makes the repository a local mirror of the
 | 
|    /// remote repository. See the manpage for `git clone` for more information.
 | 
|    Future _clone(String from, String to, {bool mirror: false}) {
 | 
| -    return new Future.sync(() {
 | 
| +    return syncFuture(() {
 | 
|        // Git on Windows does not seem to automatically create the destination
 | 
|        // directory.
 | 
|        ensureDir(to);
 | 
| 
 |