anchor.diff:        ByteBuffer packBuffer, ByteBuffer packIdxBuffer) {
       return FileOps.createDirectoryRecursive(root, '.git/objects').then(
           (chrome.DirectoryEntry objectsDir) {
  -      return FileOps.createFileWithContent(root, 'pack/${packName}.pack',
  -          packBuffer, 'ArrayBuffer').then((_) {
  -        return FileOps.createFileWithContent(root, 'pack/${packName}.idx',
  -            packIdxBuffer, 'ArrayBuffer').then((_) {
  +      return FileOps.createFileWithContent(objectsDir, 'pack/${packName}.pack',
  +          packBuffer, 'blob').then((_) {
  +        return FileOps.createFileWithContent(objectsDir, 'pack/${packName}.idx',
  +            packIdxBuffer, 'blob').then((_) {
             return new Future.value(objectsDir);
           });
         });
  
positive.code:           password);
  
        // get current branch.
        return FileOps.readFile(root, '.git/HEAD', 'Text').then(
            (String headStr) {
  
          // get rid of the initial 'ref: ' and newline at end.
          String headRefName = headStr.substring(5).trim();
          return fetcher.fetchUploadRefs().then((List<GitRef> refs) {
            GitRef branchRef = refs.firstWhere((GitRef ref) =>
                ref.name == headRefName);
  
negative.code: 
  import 'dart:async';
  import 'dart:typed_data';
  
  import 'dart:html';
  
  import 'package:chrome/chrome_app.dart' as chrome;
  import 'package:crypto/crypto.dart' as crypto;
  