anchor.diff:      if (_options.progressCallback == null) {
         _options.progressCallback = nopFunction;
       }
  +
  +    cancel = new CloneCancel();
     }
   
     chrome.DirectoryEntry get root => _options.root;
  
positive.code: 
              logger.info(_stopwatch.finishCurrentTask('_writeRefs'));
  
              return _processClone(gitDir, localHeadRef, fetcher);
            });
          }, onError: (e) {
            // Clean-up git directory and then re-throw error.
            _options.root.getDirectory(".git").then(
                (chrome.DirectoryEntry gitDir) => gitDir.removeRecursively());
            throw "unable to load remote repo";
          }).whenComplete(() {
            logger.info(_stopwatch.finishProfiler());
  
negative.code:           GitRef remoteHeadRef, localHeadRef;
            String remoteHead;
  
            return callMethod(_writeRefs, [gitDir, refs]).then((_) {
              refs.forEach((GitRef ref) {
                if (ref.name == "HEAD") {
                  remoteHead = ref.sha;
  