anchor.diff:    ScmProjectOperations createOperationsFor(Project project);
   
     /**
  +   * Create an [ScmProjectOperations] instance for the given [DirectoryEntry].
  +   */
  +  ScmProjectOperations createOperationsForDir(chrome.DirectoryEntry dir);
  +
  +  /**
      * 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});
  +
  +  /**
  +   * Initialize a given directory into a git repository.
  +   */
  +  Future init(chrome.DirectoryEntry dir);
   
     /**
      * Cancels the active clone in progress.
  
positive.code: 
    Future<GitSalt> get gitSalt => _completer.future;
  
    GitSaltScmProjectOperations(ScmProvider provider, Project project) :
      super(provider, project) {
        _completer = new Completer();
        _gitSalt = GitSaltFactory.getInstance(project.entry.fullPath);
        _gitSalt.loadPlugin().then((_) {
          _gitSalt.load(project.entry).then((_) {
            _completer.complete(_gitSalt);
          });
        });
  
negative.code:   Future<List<String>> getRemoteBranchNames();
  
    Future<List<String>> getUpdatedRemoteBranchNames();
  
    Future<List<String>> lsRemoteRefs(String url);
  
    Future createBranch(String branchName, String sourceBranchName);
  
  