anchor.diff:      return null;
     }
   
  +  ScmProjectOperations createOperationsForDir(chrome.DirectoryEntry dir) {
  +    return new GitSaltScmProjectOperations(this, null, dir);
  +  }
  +
     Future clone(String url, chrome.DirectoryEntry dir,
         {String username, String password, String branchName}) {
       GitSalt gitSalt = GitSaltFactory.getInstance(dir.fullPath);
       return gitSalt.loadPlugin().then((_) {
         return gitSalt.clone(dir, url);
  +    });
  +  }
  +
  +  Future init(chrome.DirectoryEntry dir) {
  +    GitSalt gitSalt = GitSaltFactory.getInstance(dir.fullPath);
  +    return gitSalt.loadPlugin().then((_) {
  +      return gitSalt.init(dir);
       });
     }
   
  
positive.code:   ScmProjectOperations createOperationsFor(Project project);
  
    /**
     * Clone the repo at the given url into the given directory. Returns a
     * [ScmException] through the Future's error on a failure.
     */
    Future clone(String url, chrome.DirectoryEntry dir,
                 {String username, String password, String branchName});
  
    /**
     * Cancels the active clone in progress.
  
negative.code:     });
    }
  
    Future init(chrome.DirectoryEntry dir) {
      //TODO(grv): to be implemented.
      return new Future.value()
    }
  
    void cancelClone() {
      if (_activeClone != null) {
        _activeClone.cancel();
  