anchor.diff:    /**
      * Return the SCM status for the given file or folder.
      */
  -  Future<FileStatus> getFileStatus(Resource resource);
  +  FileStatus getFileStatus(Resource resource);
  +
  +  Stream<ScmProjectOperations> get onStatusChange;
   
     Future<String> getBranchName();
   
  
positive.code:       .catchError((e) => _completer.completeError(e));
    }
  
    Future<FileStatus> getFileStatus(Resource resource) {
      return new Future.error('unimplemented - getFileStatus()');
    }
  
    Future<String> getBranchName() =>
        objectStore.then((store) => store.getCurrentBranch());
  
negative.code:  * The possible SCM file statuses (`committed`, `dirty`, or `unknown`).
   */
  class FileStatus {
    static final FileStatus COMITTED = new FileStatus._('comitted');
    static final FileStatus DIRTY = new FileStatus._('dirty');
    static final FileStatus UNKNOWN = new FileStatus._('unknown');
  
    final String _status;
  
  