anchor.diff:          }).toList();
         }).catchError((e) => throw SparkException.fromException(e));
       });
  +  }
  +
  +  Future<List<String>> lsRemoteRefs(String url) {
  +    //TODO(grv): to be implemented;
  +    return new Future.value();
     }
   
     Future<ObjectStore> get objectStore => _completer.future;
  
positive.code:     });
    }
  
    void cancelClone() {
      if (_activeClone != null) {
        _activeClone.cancel();
  
negative.code: 
    Future<GitSalt> get gitSalt => _completer.future;
  
    GitSaltScmProjectOperations(ScmProvider provider, Project project,
        [chrome.DirectoryEntry dir]) :
      super(provider, project) {
        _completer = new Completer();
  
        chrome.Entry entry = (dir == null) ? project.entry : dir;
        _gitSalt = GitSaltFactory.getInstance(entry.fullPath);
        _gitSalt.loadPlugin().then((_) {
          _gitSalt.load(entry).then((_) {
            _completer.complete(_gitSalt);
          });
        });
  