anchor.diff:            String bName = b.isBlob ? b.name : (b.name + '/');
             return aName.compareTo(bName);
           });
  -        store.writeTree(treeEntries).then((String result) {
  -          completer.complete(result);
  -        });
  +        return store.writeTree(treeEntries);
         });
       });
  -
  -    return completer.future;
     }
   
     static Future checkTreeChanged(ObjectStore store, String parent,
  
positive.code:    */
    static Future<String> walkFiles(chrome.DirectoryEntry root,
        ObjectStore store) {
      Completer completer = new Completer();
  
      FileOps.listFiles(root).then((List<chrome.DirectoryEntry> entries) {
        if (entries.isEmpty) {
          return null;
        }
  
        List<TreeEntry> treeEntries = [];
  
        Future.forEach(entries, (chrome.DirectoryEntry entry) {
          if (entry.name == '.git') {
            return;
          }
  
negative.code:               treeEntries.add(new TreeEntry(entry.name, shaToBytes(sha),
                    false));
              }
            });
          } else {
            (entry as chrome.ChromeFileEntry).readBytes().then(
  