anchor.diff:        files.add(resource.entry);
       });
   
  -    _dialog.dialog.title = 'Git Add';
  -    String branchName = operations.getBranchName();
  -    _setProgressMessage('Adding files to git...');
  -    _toggleProgressVisible(true);
  -
       Future f = spark.jobManager.schedule(new _GitAddJob(operations, files, spark));
  -    // Show dialog for at lest 2 seconds.
  -    Timer timer = new Timer(new Duration(milliseconds: 2000), () {
  -      f.whenComplete(() {
  -        _setProgressMessage('');
  -        _toggleProgressVisible(true);
  -        _hide();
  -      });
  -    });
  -
  -    _show();
  +    _waitForJob(f);
  +    _showStatusDialog('Git Add', 'Adding files to git…');
     }
   
     String get category => 'git';
  
positive.code:   bool appliesTo(context) => _isScmProject(context);
  }
  
  class GitAddAction extends SparkActionWithProgressDialog implements ContextAction {
    GitAddAction(Spark spark, SparkDialog dialog)
        : super(spark, "git-add", "Git Add", dialog);
    chrome.Entry entry;
  
negative.code:     actionManager.registerAction(new FormatAction(this));
      actionManager.registerAction(new FocusMainMenuAction(this));
      actionManager.registerAction(new ImportFileAction(this));
      actionManager.registerAction(new ImportFolderAction(this, getDialogElement('#statusDialog')));
      actionManager.registerAction(new FileDeleteAction(this));
      actionManager.registerAction(new ProjectRemoveAction(this));
      actionManager.registerAction(new TopLevelFileRemoveAction(this));
  