anchor.diff:      return hex;
     }
   
  -  Blob _pushRequest(List<RefPath> refPaths, chrome.ArrayBuffer packData) {
  +  Blob _pushRequest(List<GitRef> refPaths, packData) {
       List blobParts = [];
  -    String header = refPaths[0].getPktLine() + '\0report-status\n';
  +    String header = refPaths[0].getPktLine() + '\u0000report-status\n';
       header = _padWithZeros(header.length + 4) + header;
       blobParts.add(header);
   
  
positive.code:             return completer.complete();
            } else {
              //TODO better error handling.
              throw "unpack error";
            }
          } else {
            _ajaxErrorHandler({"url": url, "type": "POST"}, xhr);
  
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;
    }
  