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:         if (xhr.status == 200) {
            return completer.complete(xhr.responseText);
          } else {
            _ajaxErrorHandler({'url': url, 'type': 'GET'}, xhr);
          }
        }
      });
  
      xhr.onError.listen((_) => _ajaxErrorHandler({'url': url, 'type': 'GET'},
          xhr));
      xhr.onAbort.listen((_) => _ajaxErrorHandler({'url': url, 'type': 'GET'},
          xhr));
      xhr.send();
      return completer.future;
    }
  
negative.code:     }
  
      blobParts.add('0000');
      blobParts.add(new Uint8List.fromList(packData));
      return new Blob(blobParts);
    }
  
  