anchor.diff:      chrome.DirectoryEntry dir = options.root;
       ObjectStore store = options.store;
   
  -    Completer completer = new Completer();
  -
  -    store.getHeadRef().then((String headRefName) {
  -      store.getHeadForRef(headRefName).then((String parent) {
  -        _createCommitFromWorkingTree(options, parent, headRefName).then(
  -            (String str) {
  -              completer.complete(str);
  -            }, onError: (e) => throw e);
  +    return store.getHeadRef().then((String headRefName) {
  +      return store.getHeadForRef(headRefName).then((String parent) {
  +        return _createCommitFromWorkingTree(options, parent, headRefName);
         }, onError: (e) {
  -        _createCommitFromWorkingTree(options, null, headRefName).then(
  -            (String str) => completer.complete(str), onError: (e) => throw e);
  +        return _createCommitFromWorkingTree(options, null, headRefName);
         });
       });
  -
  -    return completer.future;
     }
   
     static Future _createCommitFromWorkingTree(GitOptions options, String parent,
  
positive.code:           return null;
          }
        }, onError: (e) {
          //TODO throw error object_store_corrupted.
          throw "object_store_corrupted";
        });
      }
  
negative.code:     String email = options.email;
      String commitMsg = options.commitMessage;
  
      return walkFiles(dir, store).then((String sha) {
        return checkTreeChanged(store, parent, sha).then((_) {
          DateTime now = new DateTime.now();
          String dateString = (now.millisecond / 1000).floor().toString();
          int offset = (now.timeZoneOffset.inMilliseconds / -60).floor();
  