anchor.diff:   * The possible SCM file statuses (`committed`, `dirty`, or `unknown`).
    */
   class FileStatus {
  -  final FileStatus COMITTED = new FileStatus._('comitted');
  -  final FileStatus DIRTY = new FileStatus._('dirty');
  -  final FileStatus UNKNOWN = new FileStatus._('unknown');
  +  static final FileStatus COMITTED = new FileStatus._('comitted');
  +  static final FileStatus DIRTY = new FileStatus._('dirty');
  +  static final FileStatus UNKNOWN = new FileStatus._('unknown');
   
     final String _status;
   
  
positive.code:   bool isUnderScm(Project project);
  
    /**
     * Return the [ScmProjectOperations] cooresponding to the given [Project].
     */
    ScmProjectOperations getOperationsFor(Project project);
  
    /**
     * Clone the repo at the given url into the given directory.
  
negative.code:     _providers.firstWhere((p) => p.id == type, orElse: () => null);
  
  /**
   * TODO:
   */
  class ScmManager {
    final Workspace workspace;
  
    ScmManager(this.workspace);
  
    /**
     * Returns the [ScmProjectOperations] for the given project, or `null` if the
     * project is not under SCM.
     */
    ScmProjectOperations getScmOperationsFor(Project project) {
      for (ScmProvider provider in _providers) {
        if (provider.isUnderScm(project)) {
          return provider.getOperationsFor(project);
        }
      }
  
      return null;
    }
  }
  
  /**
  