anchor.diff:  
     Future<List<GitRef>> fetchUploadRefs() => _fetchRefs('git-upload-pack');
   
  -  Future pushRefs(List<RefPath> refPaths, chrome.ArrayBuffer packData,
  +  Future pushRefs(List<GitRef> refPaths, chrome.ArrayBuffer packData,
         progress) {
       Completer completer = new Completer();
       String url = _makeUri('/git-receive-pack', {});
       Blob body = _pushRequest(refPaths, packData);
  +
       HttpRequest xhr = getNewHttpRequest();
       xhr.open("POST", url, async: true , user: username , password: password);
       xhr.onLoad.listen((event) {
  
positive.code:     return hex;
    }
  
    Blob _pushRequest(List<RefPath> refPaths, chrome.ArrayBuffer packData) {
      List blobParts = [];
      String header = refPaths[0].getPktLine() + '\0report-status\n';
      header = _padWithZeros(header.length + 4) + header;
      blobParts.add(header);
  
  
negative.code:         if (xhr.status == 200) {
            return completer.complete(xhr.responseText);
          } else {
            completer.completeError(xhr.response);
          }
        }
      });
  
      xhr.onError.listen((_) {
        completer.completeError(xhr.response);
      });
  
      xhr.onAbort.listen((_) {
        completer.completeError(xhr.response);
      });
      xhr.send();
      return completer.future;
    }
  